Call Center 1.6 – Changelog
Call Center 1.6 (October 17 2011)
- Agent Console: complete rewrite.
This version of the Call Center module has a completely rewritten Agent
Console based on the Elastix CallCenter Protocol (ECCP). This rewrite is
intended to showcase the capabilities of ECCP and become the reference
implementation for an ECCP client. Some highlights of the rewrite:
- The previous Agent Console polled the webserver every 4 seconds for updates
on the agent state. This polling gets multiplied by the number of simultaneous
agents and becomes a heavy burden on the server CPU with more than a few
tens of agents. The new Agent Console switches to Long Polling
(http://en.wikipedia.org/wiki/Push_technology#Long_polling) in which the
browser is left waiting for a response for up to 2 minutes at a time while
the server listens to state change events with very little CPU usage. This
is made possible thanks to ECCP events. Fixes Elastix bug #114, probably
fixes Elastix bugs #412, #489, #637.
- Agent Console now works correctly in Internet Explorer. Tested with IE6, IE8
and IE9. Fixes Elastix bug #30.
- The previous console visual layout is now reimplemented using jQueryUI. This
introduces niceties such as decent tabs, dialogs with shading, and themed
- The previous Agent Console depends on the agent being willing and able to
close the agent session correctly from within the interface. Failure to do
this results in corrupted (stale) session and break audit records. This
corruption is the probable root cause of Elastix bug #494. The new Agent
Console is immune to this failure scenario, since the audit record update
is now done by the dialer daemon process.
- The agent audit now properly handles the case where an agent is deactivated
and reactivated multiple times while keeping the same agent number. Fixes
Elastix bug #990.
- As a result of improved handling of the interface state, it is now possible
to switch to other Elastix modules while the agent is logged in, then switch
back to the Agent Console, which will display the correct interface state.
It is even possible to close the browser while handling a call, then log
back into Elastix, and choose the agent number and extension previously used,
and "log-in" back into a correct console session, as long as the agent
telephone call is kept open all the time.
- The Transfer capability is expanded to any arbitrary extension/queue. Partial
fix for Elastix bug #419.
As a side effect of the rewrite, may also fix Elastix bugs #879, #796, #414.
- Dialer (ECCP): implement "getcampaignlist" request
- Dialer (ECCP): log out an agent immediately if login succeeded but audit
record cannot be inserted.
- Agent Information: fix division by zero on no connection time.
- Incoming calls monitoring: fix use of undefined array index.
- Campaigns In: new module to define campaigns for incoming calls
- Campaigns Out: include NoAnswer and Abandoned calls in CSV report too.
- Agents: Do not leave newly created or modified agent without an ECCP password.
The ECCP password is autogenerated if required. Also, assign an ECCP password
at install/update time.
- ECCP Users: new module for administration of ECCP authorized users
- Dialer (ECCP): fix requests for agents that are not assigned to any queue.
- Dialer: fix bug in which a request for outgoing calls would repeatedly request
already retried calls until the retry limit even if calls with lower retry
numbers were available.
- Dialer (ECCP): fix bug in which an agent that has just been called Hangup on
would show as offline instead of online in getagentstatus request.
- Dialer (ECCP): implement new events "pausestart" and "pauseend".
- Dialer (ECCP): fix incorrect parameter verification in "getcallinfo" request
- Dialer (ECCP): implement "getqueuescript" request
- Dialer (ECCP): the "getcampaigninfo" request has been extended to return
additional form attributes "name" and "description" in the <form> tag.
- CHANGED: module agent_console, verify if function "obtenerClaveAMIAdmin"
exists, if not the password is set with "elastix456"
- CHANGED: changed the password "elastix456" of AMI to the password set in
- Dialer (ECCP): implement "filterbyagent" request
- Dialer (ECCP): Added the following fields to response for "getagentstatus"
request: onhold pauseinfo remote_channel callinfo .
- Login Logout: fix time format representation for time in calls. Fixes Elastix
- Dialer (ECCP): fixed bug that prevented the hold/schedulecall/transfercall
requirements from working after agent entered a pause while still connected
to a call.