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

SourceDescription
CallerCall hung up by the caller
Call recipientCall hung up by the dialed party
PlivoPlivo initiated hangup (various reasons detailed below)
CarrierHangup signal from remote carrier
API RequestTerminated via Hangup or Cancel Call API
Answer XMLHung up using Hangup XML element
ErrorError condition terminated the call
UnknownHangup source could not be determined

Hangup Causes

Normal call terminations - typically no action required.
CodeCauseDescriptionNext Steps
4000Normal HangupCall terminated normallyNone - call completed successfully
4010End Of XML InstructionsNo more XML instructions to executeNone - normal for XML-controlled calls
4020Multiparty Call EndedMPC ended via API or max durationNone - check if max duration was intentional
4030Kicked Out Of Multiparty CallParticipant removed via APINone - verify participant removal was expected
Calls canceled before being answered.
CodeCauseDescriptionNext Steps
0UnknownHangup reason undetermined. Known bug: Delete All Calls API sets thisCheck call logs for context
1000CanceledCall canceled via Hangup Call API before answerNone - intentional cancellation
1010Canceled (Out Of Credits)Account ran out of creditsAdd credits. Enable auto-recharge in Console → Billing
1020Canceled (Simultaneous dial limit reached)Simultaneous dial limit exceededReduce concurrent dials to same destination
Issues with the destination number or endpoint.
CodeCauseDescriptionNext Steps
2000Invalid Destination AddressDestination number/endpoint invalidUse E.164 format (+12292442099). Verify number is valid
2010Destination Out Of ServiceDestination unavailableRetry later. Verify destination is active
2020Endpoint Not RegisteredSIP endpoint unregistered/unreachableVerify endpoint is logged in. Check SDK troubleshooting
2030Destination Country BarredCountry disabled in geo permissionsEnable country in Console → Voice → Geo Permissions
2040Destination Number BarredPremium rate numbers disabledEnable high-risk permissions in Console → Voice → Geo Permissions
2050Destination Prefix BarredPrefix not permittedEnable prefix in Console → Voice → Geo Permissions
2060Loop DetectedB-leg would redial A leg’s numberFix routing logic to prevent loops
2070Violates Media AnchoringIndia PSTN regulation violationFor India calls: server must be in India. Don’t mix PSTN and WebRTC in conferences
Calls rejected by destination or carrier.
CodeCauseDescriptionNext Steps
3000No AnswerDestination unavailable/unreachableRetry. Check if destination is online
3010Busy LineDestination is busyRetry later or implement voicemail fallback
3020RejectedCall rejected by called partyNone - recipient declined the call
3030Unknown Caller IDNon-Plivo number used as caller IDUse a Plivo-rented number as caller ID
3040ForbiddenDestination rejected/blocked callHave recipient check for blocked numbers
3050Unallocated numberDestination invalid or out of serviceVerify destination number accuracy
Errors from remote carrier or network.
CodeCauseDescriptionNext Steps
3070Request timeoutCarrier didn’t respond in timeRetry. Check carrier availability
3080Internal server error from carrierCarrier encountered errorRetry. If persistent, contact support
3090Network congestion from carrierCarrier network overloadedRetry with backoff
3100Busy everywhereAll destination endpoints busyRetry later
3110DeclinedDestination cannot/won’t participateVerify destination accepts calls
3120User does not exist anywhereEnd user doesn’t existVerify destination number
3130Spam blockCarrier rejected due to spam flagRegister number with STIR/SHAKEN. Consider different caller ID
3140DNO Caller IDCaller ID on Do Not Originate listUse different number - this one is inbound-only
Internal system or network errors.
CodeCauseDescriptionNext Steps
5000Network ErrorFatal network conditionContact Plivo support with call UUID
5010Internal ErrorPlivo system errorContact Plivo support with call UUID
5020Routing ErrorCould not route to destinationContact Plivo support with call UUID
Calls ended due to timeout conditions.
CodeCauseDescriptionNext Steps
6000Scheduled HangupMax call duration reachedNone - configure time_limit (API) or timeLimit (Dial XML) if longer calls needed
6010Ring Timeout ReachedNot answered within ring timeoutIncrease ring_timeout (API) or timeout (Dial XML). Default is 120 seconds
6020Media TimeoutNo media packets for 60 secondsCheck network connectivity. May indicate lost connection
Errors fetching or validating callback URLs.
CodeCauseDescriptionNext Steps
7011Error Reaching Answer URLNon-2xx response from answer URLVerify URL is accessible. Check server logs
7012Error Reaching Action URLNon-2xx response from action URLVerify URL is accessible (only fails if redirect=true)
7013Error Reaching Transfer URLNon-2xx response from transfer URLVerify URL is accessible
7014Error Reaching Redirect URLNon-2xx response from redirect URLVerify URL is accessible
7022Invalid Action URLAction URL not validEnsure URL starts with http:// or https://
7023Invalid Transfer URLTransfer URL not validEnsure URL starts with http:// or https://
7024Invalid Redirect URLRedirect URL not validEnsure URL starts with http:// or https://
7032Invalid Method For Action URLUnsupported HTTP methodUse only GET or POST
7033Invalid Method For Transfer URLUnsupported HTTP methodUse only GET or POST
7034Invalid Method For Redirect URLUnsupported HTTP methodUse only GET or POST
Invalid Plivo XML returned by URLs.
CodeCauseDescriptionNext Steps
8011Invalid Answer XMLAnswer URL returned invalid XMLCheck debug logs in Console. Validate XML syntax
8012Invalid Action XMLAction URL returned invalid XMLCheck debug logs. Only fails if redirect=true
8013Invalid Transfer XMLTransfer URL returned invalid XMLCheck debug logs. Validate XML syntax
8014Invalid Redirect XMLRedirect URL returned invalid XMLCheck debug logs. Validate XML syntax
Specialized hangup scenarios.
CodeCauseDescriptionNext Steps
9000Lost RaceAnother parallel B-leg answered firstNone - normal for simultaneous dial
9100Machine DetectedAnswered by answering machineNone - occurs when machine_detection=hangup
9110Confirm Key Challenge FailedParticipant failed to enter confirm keyInform participant of required DTMF input

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