Skip to main content

Introduction

Every Bolna Voice AI call records metadata about how and why it was terminated. This data is essential for debugging, analytics, and improving call completion rates. Each call termination includes three fields:
FieldDescription
hangup_byParty or system that initiated the hangup (caller, callee, carrier, etc.)
hangup_codeNumeric code from the telecom provider indicating the specific reason
hangup_reasonHuman-readable description of why the call ended

Why Hangup Codes Matter

Debug Call Issues

Identify whether disconnections are user-initiated, carrier-caused, or system errors

Monitor Reliability

Track telecom partner performance across providers like Twilio and Plivo

Improve Workflows

Optimize call handling based on termination patterns and regional issues

Regional Insights

Pinpoint geographic routing problems (US, India, Southeast Asia, MENA, etc.)

Hangup Status and Provider Codes

Hangup ByDescriptionProvider Codes
API RequestCall ended via Bolna API request4000, 4020
CalleeRecipient hung up (outbound calls)3020, 4000
CallerCaller ended the call (inbound calls)4000
CarrierTerminated by telecom carrier2000, 3000, 3010, 3020, 3040, 3050, 3070
ErrorEnded due to unexpected error3080, 3090, 3110, 5010, 5020, 7011, 8011
PlivoPlivo provider disconnected the call1010, 4010, 5020, 6000, 6010, 6020
UnknownTermination reason unknown0
(empty)No hangup reason recorded(empty)
Code 4000 appears across multiple categories (API, Caller, Callee). The correct interpretation depends on call direction (inbound vs outbound) and context.

Hangup Reasons

Bolna provides specific hangup reasons based on your agent configuration:
ReasonDescription
inactivity_timeoutCall ended because the silence threshold was exceeded
llm_prompted_hangupCall ended based on custom prompt evaluation
Configure inactivity timeout and hangup prompts in your Agent Setup to control these behaviors.

Notes on Code Interpretation

Multiple provider codes may map to a single hangup_by status depending on network or device behavior. Always check the hangup_reason field for additional context.
Codes like 4000 appear in multiple categories. Interpretation depends on call direction (inbound vs outbound) and the hangup_by field.
Frequent 3010 or 3050 codes in a specific region may indicate local routing or carrier coverage problems. Contact support if you notice persistent regional patterns.

Call Status List

Track the full lifecycle of your calls

Call Latency Metrics

Analyze performance across the voice pipeline

Get Execution API

Retrieve full execution details programmatically