“Why did the call terminate?” “How can we tell who hung up the call?” We hear these questions from our customers. The answers are not always simple. A call could be hung up during the call setup stage due to a ring timeout or a busy signal, or due to a technical issue such as a network error in fetching XML instructions from your server.
Understanding why a call hung up unexpectedly can give you useful insights and let you take preemptive measures or carry out root cause analysis. If you track call performance, call hangup information can give you insights into customer behavior — for instance, what percentage of the people you call are rejecting your calls.
We’ve now made hangup cause and hangup source information a part of every call detail record (CDR). You can access this information, filtered by hangup cause and hangup source, in the Get CDR API response and from the Plivo console.
We also include hangup information in callback requests sent on call hangup.
For outbound API calls, the hangup information is included in the payload sent to the hangup_url specified in the Make Call API request.
For incoming calls, hangup information is included in the payload sent to the hangup_url specified for the associated Plivo application.
For calls initiated using <Dial> XML, hangup information is included in the payload of DialHangup events sent to the Dial callbackUrl.
We’ve documented a comprehensive list of Plivo hangup causes and hangup sources, so that next time you see an unexpected termination you find out why it happened and what needs to be done to improve your call completion metrics.