CallMeter logoCallMeter Docs
MetricsCall timing

Final Reason Phrase — VoIP Call Timing Metric

SIP reason phrase from the final response — distinguishes "Busy Here" from "Max Sessions Reached" where Final Status Code gives only the numeric class.

Final Reason Phrase

PropertyValue
Keyfinal_reason_phrase
UnitString
TypePer-call value
DirectionBoth

What It Measures

Final Reason Phrase captures the human-readable text string from the SIP response that concluded the call — the phrase that accompanies the Final Status Code. For a 486 response, this would be "Busy Here." For a 503 response, it might be "Service Unavailable" or a vendor-specific message like "Too Many Calls" or "Max Sessions Reached."

The reason phrase is defined in RFC 3261 as the text component of the Status-Line in SIP responses, in the format: SIP/2.0 <code> <reason-phrase>. While the status code is standardized, the reason phrase is implementation-defined and may contain operational context that the numeric code alone does not.

Why It Matters

Final Status Code is the machine-readable failure classification. Final Reason Phrase is what your on-call engineer reads when diagnosing an incident at 2 AM.

Two calls can share the same status code but carry completely different reason phrases that point to different root causes:

Status CodeReason PhraseMeaning
403ForbiddenAuthorization rejected
403Unauthorized IPSource IP not in allowlist
403Call limit exceededPer-account call cap reached
503Service UnavailableGeneric server error
503Max Sessions ReachedSpecific capacity limit hit
503Codec UnavailableTranscoder resource exhausted

These distinctions are invisible if you only track status codes. A spike in 403 Forbidden responses means something — but is it a credentials problem, an IP allowlist issue, or a rate limit? The reason phrase answers that immediately.

For SIP infrastructure testing, reason phrases are diagnostic breadcrumbs:

Capacity planning: If failures under load shift from "Service Unavailable" to "Max Sessions Reached" as CPS increases, you know you have hit a specific session limit on your SBC or SIP server — not a general overload condition. You know exactly which configuration parameter to increase.

Routing validation: "Call Routing Failure" vs "No Route Found" vs "Destination Unreachable" all map to 404 Not Found but point to different routing table problems. The phrase tells you whether the issue is a missing record, a failed next-hop, or a misconfigured dial plan.

Authentication debugging: "Invalid Credentials" vs "Nonce Expired" vs "Stale Auth" all appear as 401 Unauthorized. The phrase tells you whether to check the password, the clock sync, or the authentication cache.

How to Use It

  1. Filter by reason phrase pattern. Group calls by reason phrase to identify systematic failures. A cluster of calls ending with "Max Sessions Reached" is a capacity event; a cluster ending with "Invalid Credentials" is a configuration event.
  2. Combine with Final Status Code for full context. The status code tells you the failure class (4xx client, 5xx server, 6xx global); the reason phrase tells you the specific condition within that class.
  3. Track reason phrase changes across deployments. If the same status code appears after an infrastructure upgrade but with a different reason phrase, the failure mode has changed — the new infrastructure is failing for a different reason even though the code looks the same.
  4. Use for SLA reporting. Reason phrases from carrier responses often contain SLA-relevant information. "Network Congestion" in a 503 from a carrier trunk is an SLA event; "User Busy" from a 486 is not.

How to Fix It

  1. Search your SIP stack documentation for vendor-specific phrases. Reason phrases like "Too Many Calls," "License Exceeded," and "Max Sessions Reached" are vendor-specific and require vendor-specific fixes.
  2. Check for auth phrase patterns. "Stale Nonce" or "Nonce Expired" indicates NTP clock drift between your endpoint and the authentication server. Fix clock synchronization.
  3. Look for codec phrases. Reason phrases mentioning codec, transcoder, or media indicate SDP negotiation failures — review your codec configuration and SBC transcoder capacity.
  4. Correlate phrase frequency with load. Plot reason phrase occurrence count against concurrent call count. Phrases that only appear above a certain load level point to capacity thresholds.
  • Final Status Code — Numeric SIP response code; pairs with this metric for complete failure classification
  • Call Result — Human-readable call outcome summarizing both code and phrase
  • Post-Dial Delay — High PDD before a final phrase may indicate routing or authentication latency
  • Scenario Actions Failed — Scenario step failures that produce SIP errors carry their reason phrase here

On this page