Step-by-step call center tutorial part 8
Call lists, PDS and SIP
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
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:
Call list is created with queue name specified via queue_id argument.
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.