Standard Plivo Hangup Causes

Plivo identifies why and how calls are disconnected in call detail records (CDR), which you can retrieve via our API or view on the Plivo console at Voice > Logs > Calls.

Hangup information is also included in callback requests sent upon call hangup.

  • For outbound API calls, hangup information is included in the payload sent to the hangup_url specified in the Make Call API request.
  • For incoming calls, this information is included in the payload sent to the hangup_url specified for the associated Plivo application.
  • For calls initiated using the Dial XML element, this information is included in the payload of DialHangup events sent to the Dial callbackUrl.

List of hangup sources

Hangup Source Description
Caller The call was hung up by the caller.
Call recipient The call was hung up by the individual who was dialed.
Plivo Plivo initiated the hangup. Several scenarios, detailed in the hangup causes below, can result in Plivo initiating a call hangup.
Carrier The hangup signal was received from the remote carrier.
API Request The call was terminated via the Hangup or Cancel Call API request.
Answer XML The call was hung up using the Hangup XML element.
Error An error condition led to the call being terminated.
Unknown The source of the hangup could not be determined.

List of hangup causes

Hangup Code and Hangup CauseDescriptionPossible Hangup SourcesApplicable to Call TypesPossible Call States At Hangup
0
Unknown

The reason for hangup could not be determined.

A known bug sets hangup cause to Unknown for calls hung up using the Delete All Calls API.

UnknownOutbound and InboundAny
1000
Canceled
The call was canceled using the Hangup Call API before it was answered.API RequestOutbound and Inbound

Initiated

Ringing

1010
Canceled (Out Of Credits)
The call was auto-canceled because the account ran out of credits.PlivoOutbound and InboundAny
1020
Canceled (Simultaneous dial limit reached)
The call could not be connected because the Simultaneous dial limit had been surpassed for the destination number/SIP endpoint.PlivoOutboundAny
2000
Invalid Destination Address

The destination number or SIP endpoint was found to be invalid.

Check that the destination number is valid and is specified in E.164 format (e.g. +12292442099 or 12292442099).

Plivo

Carrier

Outbound CallsInitiated
2010
Destination Out Of Service
The destination number is unavailable or out of service.CarrierOutbound CallsInitiated
2020
Endpoint Not Registered

The destination SIP endpoint was found to be unregistered or could not be reached.

Confirm that the endpoint was logged in and connected to internet. If the call was to an endpoint connected through the Plivo iOS or Android SDK, ensure that your application is correctly configured to receive VoIP push notifications from Plivo. Read more about debugging calls to endpoints on iOS and Android SDKs.

PlivoOutbound Calls (SIP Calls)Initiated
2030
Destination Country Barred

The call was barred, as the destination country are disabled for the account or subaccount that initiated the call.

Check country permissions under Voice > Geo Permissions on the Plivo console.

PlivoOutboundPre-Initiation
2040
Destination Number Barred

The call was barred, as calls to premium rate numbers are disabled for the account or subaccount that initiated the call.

Check high risk permissions under Voice > Geo Permissions on the Plivo console.

PlivoOutboundPre-Initiation
2060
Loop Detected
The outbound B-leg call was barred because the call would have resulted in a call loop by redialing the A leg’s To number.PlivoOutboundPre-Initiation
2070
Violates Media Anchoring

The call could not be established because the call flow violates the country-specific media anchoring rules.

If you are using the domestic calling product in any country, the local regulations do not allow calls to be connected in some situations such as:

  • If any of the call legs is geographically located outside the country.
  • If two different calling routes are used for bridged PSTN calls via Dial XML or conferences.

For application-originated calls (WebRTC), please make sure the caller is present in the same country where the call is terminating. For PSTN calls, please use the Plivo DID from the same country as the caller Id and make outbound calls. For more information, please contact the Plivo support team.

PlivoOutbound and InboundInitiated
3000
No Answer
The destination was unavailable or unreachable when the call was attempted.

Plivo, If the destination is a Plivo SIP endpoint.

Carrier, If the destination is a PSTN phone number or external SIP endpoint.

Outbound CallsInitiated, Ringing
3010
Busy Line
A busy signal was received from the called party.

Plivo, if the destination is a Plivo SIP endpoint

Carrier, if the destination is a PSTN phone number or external SIP endpoint

Outbound and InboundInitiated
3020
Rejected
The call was rejected by the called party.

Called party

Answer XML, if an inbound call is rejected using the Hangup XML element

Outbound and Inbound

Initiated

Ringing

3030
Unknown Caller ID
The call was rejected because the outbound call was initiated using a non-Plivo number as the caller ID. To ensure successful call termination, please use a number rented from Plivo.

Plivo

Answer XML, if an inbound call is rejected using the Hangup XML element

Outbound

Pre-Initiation

Ringing

3040
Forbidden
Request is valid, but the destination may have rejected or blocked the incoming call. Have the call recipient check their side to make sure calls aren’t blocked.

Plivo

Carrier

Outbound Any
3050
Unallocated number
The destination number may be invalid or out of service. Please verify the accuracy of the destination number.

Plivo

Carrier

Outbound Any
3070
Request timeout
The carrier’s server located remotely did not generate a response within an appropriate time frame. Carrier Outbound Initiated
3080
Internal server error from carrier
The server encountered an unexpected condition that prevented it from fulfilling the client’s request.

Plivo

Carrier

Outbound Any
3090
Network congestion from carrier
The remote carrier experienced network congestion that prevented it from fulfilling the request. Carrier Outbound Any
3100
Busy everywhere
A call recipient’s end system was contacted successfully but the call recipient was busy. Carrier Outbound

Initiated

Ringing

3110
Declined
The system was contacted successfully, but the user or end operator either cannot or does not want to participate. Carrier Outbound Any
3120
User does not exist anywhere
The end user does not exist. Carrier Outbound Any
3130
Spam block
The end operator/carrier rejected the call due to possible spam flag on the from number used. Carrier Outbound Any
4000
Normal Hangup
The call was terminated normally.

Caller

Called party

API request, if the call was hung up using the Hangup API

Answer XML, if the call was hung up using the Hangup XML element

Outbound and Inbound

Ringing

Answered

4010
End Of XML Instructions

There were no more XML instructions to execute.

This is a normal hangup reason for calls that are being controlled by their own XML. This includes A legs (outbound and inbound) and B legs that have been transferred to their own XML using the Transfer API.

PlivoOutbound and InboundAnswered
4020
Multiparty Call Ended

The call was canceled using the Stop an MPC API request, or the MPC ended due to reaching its max duration limit.

API request, PlivoMPC API and MPC XMLAnswered
4030
Kicked Out Of Multiparty Call

The participant was removed from the MPC using the Remove a Participant API.

API request, PlivoMPC API and MPC XMLAnswered
5000
Network Error
A network error resulted in the call being hung up. This is a generic error that covers fatal network conditions and signaling issues. Please contact Plivo support if you encounter this error for your call flows.ErrorOutbound and InboundAny
5010
Internal Error
An error condition within the Plivo system resulted in the call being hung up. Please contact Plivo support if you encounter this error for your call flows.ErrorOutbound and InboundAny
5020
Routing Error
The call could not be routed to the destination address. Please contact Plivo support if you encounter this error for your call flows.ErrorOutbound and InboundAny
6000
Scheduled Hangup

The call was automatically terminated based on the max duration configured for the call.

For API-initiated calls, you can configure max call duration using the time_limit request parameter.

For calls initiated using the Dial XML element, you can configure max call duration using the timeLimit attribute. This property defaults to four hours when not specified.

PlivoOutbound CallsAnswered
6010
Ring Timeout Reached

The call was automatically terminated as it was not answered within the ring timeout value configured for the call.

For API-initiated calls, you can configure max ring time using the ring_timeout request parameter. This property defaults to 120 seconds when not specified.

For calls initiated using the Dial XML element, you can configure max ring time using the timeout attribute. This property defaults to 120 seconds when not specified.

PlivoOutbound Calls

Initiated

Ringing

6020
Media Timeout
Plivo terminated the call because it didn’t receive any media packets from the remote carrier or endpoint for 60 seconds. Nonreceipt of media packets for that long indicates that the connection with the remote party was lost.PlivoOutbound and InboundAnswered
7011
Error Reaching Answer URL
A non-2xx HTTP response was encountered while fetching XML instructions from the specified answer URL.ErrorOutbound and Inbound

Initiated

Ringing

7012
Error Reaching Action URL

A non-2xx HTTP response was encountered while fetching XML instructions from the specified action URL.

Note that a non-2xx response results in call termination only if the redirect attribute is set to true.

ErrorOutbound and InboundAnswered
7013
Error Reaching Transfer URL
A non-2xx HTTP response was encountered while fetching XML instructions from the specified transfer URL.ErrorOutbound and Inbound

Ringing

Answered

7014
Error Reaching Redirect URL
A non-2xx HTTP response was encountered while fetching XML instructions from the specified redirect URL.ErrorOutbound and Inbound

Ringing

Answered

7022
Invalid Action URL

The action URL specified for the XML element is not a valid URL. Please ensure the URL begins with http or https.

Note that an invalid action URL results in call termination only if the redirect attribute is set to true.

ErrorOutbound and InboundAnswered
7023
Invalid Transfer URL
The URL specified in the transfer API request is not a valid URL. Please ensure the URL begins with http or https.ErrorOutbound and Inbound

Ringing

Answered

7024
Invalid Redirect URL
The URL specified in the redirect XML element is not a valid URL. Please ensure the URL begins with http or https.ErrorOutbound and Inbound

Ringing

Answered

7032
Invalid Method For Action URL
An unsupported HTTP method was specified for the action URL. Only GET and POST methods are supported.ErrorOutbound and InboundAnswered
7033
Invalid Method For Transfer URL
An unsupported HTTP method was specified for the transfer URL. Only GET and POST methods are supported.ErrorOutbound and Inbound

Ringing

Answered

7034
Invalid Method For Redirect URL
An unsupported HTTP method was specified for the redirect URL. Only GET and POST methods are supported.ErrorOutbound and Inbound

Ringing

Answered

8011
Invalid Answer XML
The XML returned by the answer URL is not valid Plivo XML. View debug logs for the call on your Plivo console for more information.ErrorOutbound and Inbound

Ringing

Answered

8012
Invalid Action XML

The XML returned by the action URL is not valid Plivo XML. View debug logs for the call on your Plivo console for more information.

Note that invalid XML results in call termination only if the redirect attribute is set to true.

ErrorOutbound and InboundAnswered
8013
Invalid Transfer XML
The XML returned by the transfer URL is not valid Plivo XML. View debug logs for the call on your Plivo console for more information.ErrorOutbound and Inbound

Ringing

Answered

8014
Invalid Redirect XML
The XML returned by the redirect URL is not valid Plivo XML. View debug logs for the call on your Plivo console for more information.ErrorOutbound and Inbound

Ringing

Answered

9000
Lost Race

Another B leg that was dialed in parallel accepted the call first.

This is a common hangup reason in simultaneous dial scenarios where multiple destinations are tried in parallel. The first destination to accept the call is connected with the A leg, and other calls are immediately terminated.

PlivoOutbound (Dial XML)Any
9100
Machine Detected

The call was answered by an answering machine.

This hangup reason is possible only for API-initiated calls having the machine_detection request parameter set to hangup.

API RequestOutbound (API Calls)Answered
9110
Confirm Key Challenge Failed

The Add Participant API call was disconnected as the participant failed to enter the confirm_key DTMF input set in the MPC application.

PlivoMPC APIPre-Answer