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. | Unknown | Outbound and Inbound | Any |
1000 Canceled | The call was canceled using the Hangup Call API before it was answered. | API Request | Outbound and Inbound | Initiated Ringing |
1010 Canceled (Out Of Credits) | The call was auto-canceled because the account ran out of credits. | Plivo | Outbound and Inbound | Any |
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. | Plivo | Outbound | Any |
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 Calls | Initiated |
2010 Destination Out Of Service | The destination number is unavailable or out of service. | Carrier | Outbound Calls | Initiated |
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. | Plivo | Outbound 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. | Plivo | Outbound | Pre-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. | Plivo | Outbound | Pre-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. | Plivo | Outbound | Pre-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. | Plivo | Outbound and Inbound | Initiated |
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 Calls | Initiated, 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 Inbound | Initiated |
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 |
3140 DNO Caller ID |
Indicates the caller ID used is part of the Do Not Originate (DNO) list. This Caller ID can only be used to accept incoming calls. |
Plivo |
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. | Plivo | Outbound and Inbound | Answered |
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, Plivo | MPC API and MPC XML | Answered |
4030 Kicked Out Of Multiparty Call | The participant was removed from the MPC using the Remove a Participant API. | API request, Plivo | MPC API and MPC XML | Answered |
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. | Error | Outbound and Inbound | Any |
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. | Error | Outbound and Inbound | Any |
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. | Error | Outbound and Inbound | Any |
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. | Plivo | Outbound Calls | Answered |
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. | Plivo | Outbound 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. | Plivo | Outbound and Inbound | Answered |
7011 Error Reaching Answer URL | A non-2xx HTTP response was encountered while fetching XML instructions from the specified answer URL. | Error | Outbound 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 . | Error | Outbound and Inbound | Answered |
7013 Error Reaching Transfer URL | A non-2xx HTTP response was encountered while fetching XML instructions from the specified transfer URL. | Error | Outbound 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. | Error | Outbound 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 . | Error | Outbound and Inbound | Answered |
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 . | Error | Outbound 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 . | Error | Outbound 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. | Error | Outbound and Inbound | Answered |
7033 Invalid Method For Transfer URL | An unsupported HTTP method was specified for the transfer URL. Only GET and POST methods are supported. | Error | Outbound 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. | Error | Outbound 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. | Error | Outbound 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 . | Error | Outbound and Inbound | Answered |
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. | Error | Outbound 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. | Error | Outbound 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. | Plivo | Outbound (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 Request | Outbound (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. | Plivo | MPC API | Pre-Answer |