When a call ends in Cisco Unified Communications Manager (CUCM), the system records why the call terminated. These Call Detail Records (CDRs) provide the essential DNA of every voice interaction through numeric cause codes.
This page serves as a technical reference for interpreting Cisco CDR termination codes—specifically origCause, destCause, and OnBehalfOf fields—to help engineers diagnose dropped calls, network congestion, and signaling failures.
A cause code is a numeric value that describes the signaling reason a call ended. Cisco CUCM derives these values from Q.850 / ISDN cause codes, which are also used in SIP and H.323 signaling. Cause codes appear in CDRs as integers and must be translated to understand whether a call ended normally, failed due to network conditions, or was rejected by a device.
Cisco records termination reasons from both sides of the call leg. A single call is often split into two "legs"—the originating side and the terminating side.
origCause_value: The reason the call cleared on the originating (caller) side.destCause_value: The reason the call cleared on the destination (callee) side.
Note: The party that initiates the disconnect typically dictates the code recorded. If a caller hangs up normally, the origCause_value is usually 16. Differences between these two values often indicate mid-call failures, media issues, or asymmetric signaling.
Cisco utilizes the ITU-T Q.850 standard for cause codes. These integers must be translated to understand whether a call failed due to network conditions, user behavior, or device rejection.
| Code | Definition | Troubleshooting Context / Likely Culprit |
|---|---|---|
| 1 | Unallocated Number | Dial plan error or misdial. Check Route Patterns. |
| 16 | Normal Call Clearing | Standard disconnect. One party hung up normally. |
| 17 | User Busy | Destination rejected the call (Busy state/No Call Waiting). |
| 18 | No User Responding | Device alerted/rang but reached a timeout. |
| 21 | Call Rejected | User hit "Decline" or DND (Do Not Disturb) blocked the call. |
| 34 | No Circuit/Channel Available | Critical: SIP trunk capacity or network congestion. |
| 38 | Network Out of Order | Major infrastructure or signaling failure. |
| 41 | Temporary Failure | Transient issue; retrying usually succeeds. |
| 47 | Resources Unavailable | Lack of Transcoders, MTPs, or Conference Bridges. |
Cause codes should never be interpreted in isolation. Engineers must correlate them with call timing and routing fields.
Cause 16 + duration > 0 → normal completed call
Cause 16 + duration = 0 → abandoned or unanswered call
Cause 34 or 41 → network or capacity-related issue
Comparing origCause and destCause helps determine whether the failure occurred before, during, or after call setup.
While cause codes explain why a call ended, the OnBehalfOf fields explain what entity triggered the termination.
Code 1 (Station): A user physically ended the call on their device.
Code 2 (Trunk/Gateway): The PSTN or SIP Provider terminated the connection.
Code 4 (Voicemail): Terminated by Unity Connection (e.g., after leaving a message).
Code 12 (Call Manager): Indicates a system action like a transfer, park, or resume.
In transfers, hunt groups, and forwarded calls, CUCM generates multiple call legs. Each leg has its own cause codes.
This means:
One leg may end with cause 16 (normal clearing)
Another leg may end with a failure code
To understand the full call outcome, engineers must correlate records using globalCallID_callId.
Hunt groups generate multiple CDR rows as CUCM attempts delivery to different members. Cause codes explain why each attempt failed or succeeded.
Common patterns include:
Cause 17: Busy or rejected by a specific hunt member.
Timeouts: Leading to the next member in the sequence.
Cause 16: Recorded once a member finally answers and eventually disconnects.
Cause codes describe signaling outcomes, not user intent. They do not capture media quality (use CMRs for that) or explain why a user chose to disconnect.
Manually interpreting thousands of records is prone to error. Metropolis Corp's Expo XT UC Analytics Software automates this process, normalizing raw CDR data into plain English and providing dashboards for call completion rates and failure reasons.