ACD Router installation

Skip to end of metadata
Go to start of metadata

Environment requirements

This one is critical - do not try to run the ACD prototype with stock FreeSwitch bundled in sipXecs 4.0.X

Prototype installation

Import YUM repository

Install stuff

Configure ACD

Activate config

  • Just go to ACD Server panel and activate the server

Enable realtime CTI and Archive server integration (optional)

  • Go to sipXconfig and enable VoiceWorks Call Center Extras bundle
  • restart sipXecs

Check it's working

Caveats

  • This works only when ACD is configured on the primary server
  • You can have only one ACD instance per sipX installation
  • No support for custom ports (SIP, XML/RPC, ...)
  • No automated uninstallation (restoration of original ACD)
  • FIFO overflow (on queue full) not implemented (only LIFO)
    Original sipXecs 4.0 ACD does not implement any kind of overflow in queue full condition !!
  • Queue call counters are not reset upon FreeSwitch restart. This can lead to phantom call states and false full queue events.

Extra features

Behaviour changes

  • Config activation is done online without ACD restarting. New config is activated for new calls only.
  • Distinct tones for login/out from phones
  • Presence is persistent across all components restarts
  • SIP transfers should work* for all SIP destinations (agents, different queues, other extentions, PSTN)
  • Queue length limits are respected

*This is as reliable as SIP transfers are.

Queue configuration

Queue config is stored in Postgres in sipxworksacd database.
All extra features are persistent across ACD config activation (even delete/undelete)
Columns with extra features include:

Distinct timeout/LIFO(queue full) overflows destinations

One can update wait_over and depth_over columns of a queue to get different destinations for both events.

True MOH

With wav_moh defined ACD plays the selected file (uploaded manually) while call is queued.
When wav_moh is not defined the ringing_rb tone is played.
Above is true only for queues types that answer the call before routing it to an agent.
MOH is interrupted every now and then by a wav file as defined in sipXconfig

Custom tones

connect_rb is played when a call is routed to a specific agent (agent's phone is ringing)
connect_tone is played once the call is bridged to a live agent (and for every successful transfer)
term_tone is played to when the other party disconnects

Recording

record_prob reflects the recording probability (0-100) of all calls routed by this queue.
The effective recording probability is a max of queues.record_prob, calls.record_prob, agents.record_prob

Priority

Queues have open ended priority setting defined in priority column.
Effective priority is derived from queue.priority, line.priority, call.priority and available agent's skills (agent's priority in a queue)
f_weighed can be turned on to have effective priority multiplied by the time time spent i a queue. This allows to give precedence to customers waiting longer even if other calls/lines have higher base priority. This way there is no need for overflow queues as a mean to avoid customers waiting forever because of high VIP inbound rate. (think fair queuing)

Announce position in a queue

pos_announce turns on accounting of current position in a queue every pos_announce seconds. The position can go up and down because a call with higher priority might appear ahead of the call.

Debugging

Labels:
php php Delete
freeswitch freeswitch Delete
acd acd Delete
centos centos Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.