What are Call Insights?
Call insights are richer data points to help you uncover details about your voice calls and are computed by Exotel's AI system.
At times, the call statuses received from operators aren't correct or due to the nature of telecom signalling the status are not computed correctly if calls are terminated during the hangup message.
Whenever we make a call from our phone, we know that the number on the other side is ringing, switched off, busy etc. However, in the telephony stack where machines are making and receiving calls, such information is dependent on the dated telephony infrastructure and protocols which at times isn't computing the correct information.
The aim of this solution is to give you more better call statuses and richer call insights as computed by our AI system which were not possible with traditional telephony data.
How can I use this?
This feature is currently available under private beta only to select clients and is chargeable. If you are interested, speak to your account manager or drop an email to firstname.lastname@example.org and we'd review your request.
How to capture Call Insights via Passthru?
Once this is enabled for your account, you can subscribe to Call Insights data in Passthru Applet like below (please note, Passthru needs to be present immediately after Connect Applet where the destination number(s) will be attempted and insights would be computed).
If an application URL is set in Passthru applet, Exotel will make a GET request to the URL with the call details as URL-encoded HTTP query parameters as per the documentation present here. In addition to existing Passthru parameters, Exotel will pass ‘Insights’ data if it is subscribed.
Sample Payload (Query Params):
*Insights[Legs] array would be contain `n` elements where n is the unique numbers attempted during the connect applet execution.
**The outer 'Legs' array is powered based on data provided by the operators whereas the parameters within Insights[Legs] is computed by Exotel's internal AI system.
This is the overall status of the dial attempt of the connect applet as computed by Exotel's AI system. If more than 1 destination number was attempted, this status would be set based on last attempt.
Possible statuses and meaning
DialCallStatus Meaning completed The call was answered and has ended normally no-answer The call was not answered by the caller (it was ringing or no-answer message was played) busy The call could not be connected as the destination number was busy on another call. failed The call could not be completed as dialled due to invalid phone number, number being switched off etc. canceled
The call was disconnected by Caller (Leg1) during attempt or ringing of destination number.
DialCallStatus powers the overall status of the call. This field powers more granular status of the call leg attempt to understand detailed reason.
This indicates who hung up the call or was responsible for the hang up of the call.
- Insights[Legs][RingingDuration]: This indicates how long the destination number rang (in seconds). This would be set to 0 if the handset didn't ring.
- Insights[Legs][Number]: This would indicate the number corresponding to the Leg that was attempted.
- Insights[Legs][OnCallDuration]: This would indicate the duration the corresponding leg that was attempted was on call i.e. time spent (in seconds) after answering the call.
*If you have more than 1 destination number, the array would contain insights about all the numbers that were attempted like Insights[Legs], Insights[Legs] .... Insights[Legs][n] where n is the unique numbers attempted during the connect applet execution.