```html
Whether it's a dropped call, a failed setup, or a normal hang-up, Cisco Call Detail Records (CDRs) provide the essential DNA of every voice interaction. By decoding specific termination cause codes and correlating them with related fields, technical teams can effectively troubleshoot voice quality issues, improve call completion rates, and maintain a resilient Cisco Unified Communications Manager (CUCM) infrastructure.
If you are looking for instructions on how to generate these records first, please refer to our Cisco CUBE & CUCM CDR Setup Guide.
In Cisco CDRs, a single call is often split into two "legs"—the originating side and the terminating side. The most direct indicators of why a call ended are found in two specific integer fields:
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 cause code recorded. For example, if a caller hangs up normally, the origCause_value will likely be 16 (Normal Clearing).
Cisco utilizes the ITU-T Q.850 standard for cause codes, which is widely adopted in VoIP, SIP, and ISDN signaling. Below is a reference table of the most critical codes for troubleshooting.
| Code | Definition | Troubleshooting Context / Likely Culprit |
|---|---|---|
| 1 | Unallocated (unassigned) number | Dial plan error or user misdialed. Check Route Patterns. |
| 16 | Normal call clearing | Standard disconnect. One party hung up normally. |
| 17 | User busy | Called party is on another line (and no Call Waiting/Hunt Group available). |
| 18 | No user responding | Device alerted (rang) but timed out. |
| 21 | Call rejected | User hit "Decline" or a feature (like Do Not Disturb) blocked the call. |
| 22 | Number changed | The number is no longer reachable at the dialed address. |
| 27 | Destination out of order | The destination device or network segment is down. |
| 34 | No circuit/channel available | Critical: Network congestion or SIP trunk capacity (CAC) limits reached. |
| 38 | Network out of order | Major infrastructure failure. |
| 41 | Temporary failure | Transient issue. Retries usually succeed. |
| 47 | Resources unavailable | Lack of Transcoders, MTPs, or Conference Bridge resources. |
While cause codes explain why, the origCallTerminationOnBehalfOf and destCallTerminationOnBehalfOf fields explain who or what triggered the event.
Code 1 (Station): The user physically pressed "End Call" on the device.
Code 2 (Trunk Gateway): The PSTN or SIP Provider terminated the connection.
Code 4 (Voicemail): Terminated by Unity Connection (e.g., message left).
Code 12 (Call Park/Manager): Often indicates a transfer, park, or resume action.
Users report calls cutting off mid-conversation.
What to look for:
Filter for calls where destCause_value is 38 (Network out of order) or 41 (Temporary failure). Check the destCallTerminationOnBehalfOf code; if it shows 5 (Media Resource), you may have a Transcoder or MTP failure.
What to look for:
High frequency of Code 34 (No circuit available). This suggests you are hitting the max concurrent call limit on your SIP Trunk or Gateway. If you see Code 1 (Unallocated), verify your Dial Plan and Route Patterns.
CDRs do not record the audio itself, but they contain "smoking guns."
What to look for:
Calls with a valid dateTimeConnect but a very short duration (e.g., < 5 seconds) often indicate one-way audio where a user hangs up immediately out of frustration. Correlate this with origMediaTransportAddress_IP to isolate specific subnets.
Dealing with calls that end before they are answered? Read our guide on Identifying and Removing Abandoned Calls.
Manually interpreting thousands of hex codes and correlating them with "OnBehalfOf" fields is time-consuming and prone to error.
Metropolis Corp’s Expo XT UC Analytics automates this translation. It ingests raw Cisco CDR data and normalizes termination codes into plain English,
providing dashboards of call completion rates, and allowing for powerful drill-downs into specific failure reasons.