3. Goal?
•
Allow client applications to communicate easily with a
Call Center Server.
•
Provide scalability and organization.
•
Send asynchronous events.
4. What do we need?
Elastix
•
Download from www.elastix.org
11. ECCP Architecture
dialerd
→ /opt/elastix/dialer/dialerd
• daemon doesn‟t execute as root user
[root@localhost
[root@localhost
[root@localhost
[root@localhost
[root@localhost
dialer]#
dialer]#
dialer]#
dialer]# cd /opt/elastix/dialer/
dialer]# ./dialerd start
SECURITY WARNING: Sorry, I STRONGLY OBJECT to run as root.
This program requires only network access and therefore does not require root
privileges.
[root@localhost dialer]#
17. ECCP Architecture
Configuration file:
→ /opt/elastix/dialer/dialerd.conf
[database]
# Credenciales para base de datos call_center
dbhost=localhost
dbuser=asterisk
dbpass=asterisk
(Credentials for database "call_center”)
22. Protocol
Simple – plain text
Based on XML (elements and attributes)
<event>
<agentloggedin>
<agent>Agent/9000</agent>
<queues>
<queue>8001</queue>
<queue>8000</queue>
</queues>
</agentloggedin>
</event>
23. Protocol
Session oriented
Listen to multiple clients at the same time
•
•
•
Client login (user/secret), Server create session
Client logout, Server destroy session
Timeout (5minutes), Server destroy session
24. Protocol
Three kinds of information packets
•
Event
•
Request
•
Response
Each one is a well formed XML document
27. Protocol
Requests
Message sent from the client to the server
<request id="identificador">
...
</request>
id identify each request
id = ‘timestamp LINUX‘ ‘dot’ ‘6 char random number’
id = 1292899827.123456
28. Protocol
Responses
Server response based on a client's previous
requirement
<response id="identificador" >
...
</response>
response id is the same as request id