Skip to main content
Plivo identifies why and how calls are disconnected in call detail records (CDR), which you can retrieve via API or view on the Plivo console at Voice → Logs → Calls. Hangup information is also included in callback requests:
  • Outbound API calls: Sent to hangup_url specified in Make Call API
  • Incoming calls: Sent to hangup_url in the Plivo application
  • Dial XML calls: Sent to callbackUrl in DialHangup events

Hangup Sources


Hangup Causes

Normal call terminations - typically no action required.
Calls canceled before being answered.
Issues with the destination number or endpoint.
Calls rejected by destination or carrier.
Errors from remote carrier or network.
Calls that failed SIP authentication. See that page for setup, validation limits, and detailed troubleshooting.
Internal system, network, or capacity errors.
Calls ended due to timeout conditions.
Errors fetching or validating callback URLs.
Invalid Plivo XML returned by URLs.
Specialized hangup scenarios.
Codes not listed here are surfaced in the API response’s hangup_cause_name. If you encounter a code that is not documented, contact Plivo Support with the call_uuid.

Other Code Spaces

These codes apply to Voice API and Dial XML calls. Related products use their own code sets:
  • SIP Trunking (Zentrunk) calls use a separate set of hangup codes — see Zentrunk Hangup Codes.
  • Multiparty calls expose a separate termination_cause_code field on the MPC object — see the Multiparty Call API. Individual participant legs still report the hangup causes above (for example, 4020 and 4030).
  • XML callbacks also include a raw telephony HangupCause value (for example, NORMAL_CLEARING, USER_BUSY) — see XML overview.

Getting Help

If issues persist after troubleshooting:
  1. View debug logs in Console → Voice → Logs → Calls
  2. Note the Call UUID and hangup code
  3. Contact Plivo Support with this information