Voximplant. Blog

Step-by-step call center tutorial part 8

Call lists, PDS and SIP

There are two ways how Voximplant can handle an outgoing call. First, the outgoing call can be initiated from JavaScript session created from the incoming call. That approach is used if you want to connect two or more people, forward call into a call center or implement any other “connect two persons” logic where and outgoing call is initiated as a response to the incoming call. Second, you can initiate outgoing call via the HTTP API. That approach is used if you want to initiate a call from your service or call multiple users. You can implement any call logic via HTTP API, but you also need to setup your own backend that will initiate calls, maintain the suitable number of simultaneous calls etc. For fast “out-of-the-box” experience we have a built-in “Call list” functionality that allows calling thousands of users with a few commands and without any backend of your own.

Call list can be created via CreateCallList HTTP API. Using this API you upload phone numbers and start the calling process with specified options. Each call will trigger specified VoxEngine scenario that can access number to call (alongside with any custom data) via VoxEngine.customData method. Outgoing call is performed via one of VoxEngine “call” methods, for example a VoxEngine.callPSTN method or any other from call… methods family. You can read more about call list at this article

Predictive dialing

Call list relies on a developer to manually use some call… method if connected call should be forwarded to an operator. With “predictive dialing” feature call list can be connected with automated call distribution system so they work in unison: Voximplant analyses speed at which calls are answered and initiate outgoing calls so call center load is maximized. This feature is automatically enabled if:

  1. Call list is created with queue name specified via queue_id argument.

  2. After operator is reached, reportProgress method should be called. This call is used to calculate operator reach speed and place outgoing calls in a timely manner.

Please note that predictive dialing works well only if call center has a suitable number of operators. Our internal tests show that reasonable number is 30 operators.

3rd party call control

Up to now operators was connected to a platform via web SDK (web or mobile). In real life scenarios, operators can be connected via software or hardware SIP phones. In such case they can be still reached via username, but how to change statuses?

Statuses are changed only via the web or mobile SDK. If an operator is connected via SIP, you need to establish a second connection via the web or mobile SDK that will use same username and password. If multiple connections share the same username, they all will ring on an incoming call, which is inconvenient since SDK connection used only to change statuses. For SDK not to ring on incoming calls, it should init with special receiveCalls flag set to false.

Tagged in