Video:
What is 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 signaling the status is 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 much better call statuses and richer call insights as computed by our AI system which was 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 hello@exotel.in and we'd review your request. Strictly do not propose or enable this feature until you talk to the product team and take approval.
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 the 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):
*Legs[n] array would contain `n` elements where n is the unique number attempted during the connect applet execution.
**The outer 'Legs' array is powered based on data provided by the operators whereas the parameters within Legs[x][Insights] is computed by Exotel's internal AI system.
Explanation
- Insights[DialCallStatus]
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 the last attempt.
Possible statuses and meaningDialCallStatus Meaning completed The call was answered and ended normally no-answer The call was not answered by the caller (it was ringing or a 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 dialed due to an invalid phone number, the number being switched off, etc. canceled The call was disconnected by the Caller (Leg1) during an attempt or ringing of the destination number.
- Legs[x][Insights][Status]
This is the status of the individual leg attempted during Connect applet as computed by Exotel's AI system.
Possible statuses and meaningDialCallStatus Meaning completed The call was answered and ended normally no-answer The call was not answered by the caller (it was ringing or a 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 dialed due to an invalid phone number, the number being switched off, etc. canceled The call was disconnected by the Caller (Leg1) during an attempt or ringing of the destination number.
- Legs[x][Insights][DetailedStatus]
DialCallStatus powers the overall status of the call. This field powers a more granular status of the call leg attempt to understand the detailed reason.DialCallStatus busy
busy
busy
no-answer
no-answer
no-answer
failed
failed
failed
failed
failed
canceled
canceled
completed
N/A (empty)
- Legs[x][Insights][DisconnectedBy]
This indicates who hung up the call or was responsible for the hang-up of the call. - Legs[x][Insights][RingingDuration]: This indicates how long the destination number rang (in seconds). This would be set to 0 if the handset didn't ring.
*If you have more than 1 destination number, the array would contain insights about all the numbers that were attempted like Legs[0][Insights], Legs[1][Insights] .... Legs[n][Insights]Insights[Legs][n][] where n is the unique numbers attempted during the connect applet execution.
Do note this feature is currently under 'Private Beta' and guidelines for the same are mentioned. Strictly do not propose or enable this feature until you talk to the Product team. If you have any questions or concerns, please connect with us using the chat widget on your Exotel Dashboard or Whatsapp us on 08088919888.