Apps (such as an auto-dialer) that use the originate_advanced_call method of call control API to initiate calls, can receive from PortaSwitch events such as "ringing," "connected," "queued," "terminated," etc., about the call progress. Real-time information about the state of each call can be used to fine-tune the auto-dialing process, allowing call centers to optimize outbound call campaigns.
Note that calls initiated by the auto-dialer app connect called users with available agents using the call queue functionality in PortaSwitch.
Say a call center uses an auto-dialer app to automatically call a list of prospects' phone numbers. When Mary, a call center admin, launches an outbound call campaign via the app’s UI, the app initiates calls automatically, connecting prospects who pick up the call with available call center agents. The app continuously receives call events in real-time, indicating the state of each call, including "ringing," "answered," "declined," "queued," "connected to agent," or "terminated." The current state of each call is also displayed on the app's UI. If the app detects an excessive number of "queued" calls, signaling a shortage of available agents, it automatically pauses the auto-dialing process. Additionally, the app is programmed to redial the phone numbers of prospects who do not answer the initial call.
When the call campaign is completed, Mary can analyze statistics, e.g., check the percentage of the answered calls that were not connected to an agent. Using this data, Mary can optimize the settings of the auto-dialer app and fine-tune the strategy of the campaign.
Specifics
- It's possible to send any call state changes (such as “trying,” “ringing,” “connected,” “queued,” “dequeued,” “terminated,” “held,” “transferred”).
- Along with the “terminated” event, reasons for the disconnect are also provided.
- To receive call events, the auto-dialer app should send the CallControl/originate_advanced_call API request that includes the following values:
- the parameter caller_leg_receive_actions: {"voicemail": "allow"}
- the called party's phone number as callee_id
- the ID of the auto-attendant account that sends calls to the call queue as bill_id and caller_id
Limitation
- If an agent doesn't answer or declines the call, the app will be notified that the call is terminated and will not receive further statuses. Meanwhile, the called party may continue waiting in the call queue or be connected to another agent. This limitation will be addressed in a future release version.