Dynamic Call Center OSA/Parlay
Application
Author: Michal Rój
This application
has been developed at Warsaw University of Technology as an activity
of Mobile and Embedded Applications Group
(http://meag.tele.pw.edu.pl
).
It is based on the application presented in the MSc
thesis ("Introduction to OSA/Parlay API") by M.Rój
supervised by J.Domaszewicz.
Since the application is
very simple and might be run with (a free) Ericsson OSA/Parlay
Simulator (version 0.7, based on Parlay 2.1), we consider it might be
a very helpful to anyone who wants to get familiar with OSA/Parlay
APIs, especially for students. Although the application may seem
overcommented, we think that for OSA/Parlay newbies comments are
beneficial since the student can get the idea of how it works just
looking at comments - not especially at the code.
Functionality:
Call
center application is a kind of address translation application which
reroutes every client's call to an appropriate agent (call
center employee). When there are no temporarily agent available - a
nice music might be played to the clients while waiting for being
served.
In 'dynamic' call center we mean an application that allows agents to start working (register) and stop working (unregister) in a dynamic manner an agent can do it in almost every moment.
To simplify the matter if there are no free agents available, the client is sent an appropriate announcement ('No agents available') and the call ends.
Download:
The
Java sources with Makefile might be downloaded as
a zip file (89kB). If you
don't have the make program, please take a look into the
Makefile it is quite a simple sequence of commands to
(1) compile the sources, (2) make the .jar file and (3) run the application.
You will need two additional .jar files to compile and run the application: OSA/Parlay interfaces (about 1MB) and Security/encryption libraries (159kB). They have to be placed in the 'jars' directory once the sources are uncompressed.
Setting up the simulator:
Download the Simulator from: http://www.ericsson.com/mobilityworld/developerszonedown/downloads/tools/parlay/install07b.exe (this is a full Windows version including JRE). Avoid downloading a version without JRE: they have troubles working with some other (especially modern) JREs.
Run the Simulator, go to the Window/Announcements menu and add three new announcements:
Id: 201, Message: Registered
Id: 202, Message: Unregistered
Id: 203, Message: No free agents
Then, click on the 'Edit announcement' button for every announcement you've added and 'Load' the proper announcement provided with the Dynamic Call Center Application (in the .wavs directory):
Id: 201, File: registered.wav
Id: 202, File: unregistered.wav
Id: 203, File: no-free-agents.wav
Go into the Ericsson OSA/Parlay Simulator's main directory, and edit the config/fwinitiator.ini:
Change the following line:
serviceprofile3.PROPERTY.P_ANNOUNCEMENT_MAPPING.NROFVALUES=36
into the following:
serviceprofile3.PROPERTY.P_ANNOUNCEMENT_MAPPING.NROFVALUES=42
Add the following lines at the end of the file:
serviceprofile3.PROPERTY.P_ANNOUNCEMENT_MAPPING.VALUE.36=201 serviceprofile3.PROPERTY.P_ANNOUNCEMENT_MAPPING.VALUE.37=201 serviceprofile3.PROPERTY.P_ANNOUNCEMENT_MAPPING.VALUE.38=202 serviceprofile3.PROPERTY.P_ANNOUNCEMENT_MAPPING.VALUE.39=202 serviceprofile3.PROPERTY.P_ANNOUNCEMENT_MAPPING.VALUE.40=203 serviceprofile3.PROPERTY.P_ANNOUNCEMENT_MAPPING.VALUE.41=203
(Optional) Check in the Ericsson's User Guide what you've just done ;-)
Restart the Simulator
Installing and running the application:
Download the call center application sources (cc.zip) and two java archives: parlay3gpp.jar and security.jar.
Uncompress the cc.zip file.
Put the parlay3gpp.jar and security.jar into the 'jars' directory in the call center main directory.
Type 'make' to compile the sources
(Optional) Type 'make doc' to generate javadoc API documentation
Type 'make run' to run the application
You will see a plenty of messages: the application should connect to the framework, acquire GCCS and UI SCFs, enable call notification and start waiting for the events from the network. The last message should be:
(MyAppLogic): Entering loop
Using the application:
Once the application is started, it starts controlling the call center number, which is "0" (literally - zero). "1", "2" and "3" are numbers of call center agents. Thus, add those agents and call the call center number. The agents should get a message 'You've been registered'. When you call the number again you will get unregistered (You've been unregistered'). Now try to add some terminals with higher numbers (e.g. "4", "5", ...) - they will be clients. Calling the call center number should route those clients to one of the call center agents. Try to experiment!
To do:
Instead of realeasing the call when no agents are available, play a special announcement (nice music) and link the client with an agent once the agent's free.
If you find this application useful, have some ideas about it, find some things to be corrected please let us know (meag@tele.pw.edu.pl). All comments are welcome!