SIP Response Codes & Error Diagnostics
Decode SIP proxy responses to rapidly diagnose network failures, authenticate routing anomalies, and build bulletproof LCR failover logic.
How SIP Responses Are Structured
The Session Initiation Protocol (SIP) relies on a standardized numbering system heavily inspired by HTTP. Understanding the core classes (1xx through 6xx) is essential for diagnosing where and why a call failed.
1xx Provisional codes indicate the request was received and is continuing to process. 2xx Success codes indicate the action was completed. 3xx Redirection codes push the call to a new destination. 4xx Client Error codes imply the request contained bad syntax or cannot be fulfilled by the target. 5xx Server Error codes indicate upstream gateway or proxy failure. 6xx Global Failure codes imply the destination is fundamentally unreachable across all potential routes.
The Full SIP Response Reference Table
This table outlines the critical standardized response codes encountered daily in wholesale interconnect operations. While hundreds of esoteric RFC codes exist, these dictate the vast majority of routing logic.
| Code | Name | Wholesale Meaning |
|---|---|---|
| 100 | Trying | The upstream proxy has received the INVITE and is routing it. PDD measurement begins here. |
| 180 | Ringing | The terminating handset is alerting the user. |
| 183 | Session Progress | Early media is established. This often carries the provider's custom ringback tone or a carrier intercept announcement before answer. |
| 200 | OK | Call answered, media path fully established, billing commences upon ACK. |
| 400 | Bad Request | Malformed SIP syntax, missing mandatory headers, or unparseable SDP. |
| 401 | Unauthorized | Requires digest authentication. The originator must reply with an ACK and a new INVITE containing a Proxy-Authorization header. |
| 403 | Forbidden | Authentication failed. Usually indicates the source IP is not whitelisted, the calling number is unauthorized, or the destination NPA-NXX is blocked by ACLs. |
| 404 | Not Found | The dialed number is not routable. In wholesale, this frequently indicates malformed non-E.164 dial strings or a missing country code. |
| 408 | Request Timeout | The destination failed to respond within the SIP timer boundaries. |
| 480 | Temporarily Unavailable | The subscriber is unreachable. This is generally a downstream terminating carrier condition (e.g., cell phone out of coverage) and not an upstream route failure. |
| 484 | Address Incomplete | The dial plan is transmitting partial digits. Wait for the user to finish dialing or fix the switch translation. |
| 486 | Busy Here | Genuine user busy condition. No billing applied. |
| 487 | Request Terminated | The caller abandoned (hung up) before the call was answered. A high ratio of 487s indicates dialer traffic or short-duration signaling patterns. |
| 488 | Not Acceptable Here | Codec or SDP mismatch. The terminating side rejected the offered media capabilities. |
| 503 | Service Unavailable | Critical route, gateway, or capacity failure. Receiving a 503 should immediately trigger your SBC to failover to an alternate route. |
| 603 | Decline | Call explicitly rejected. In modern networks, a 603 frequently indicates analytics-based blocking, SHAKEN failure, or a spam label applied by the terminating provider. |
| 604 | Does Not Exist Anywhere | The number is unassigned or disconnected network-wide. |
Reading Response Codes as Route-Health Signals
In a carrier-grade environment, SIP responses transcend individual call diagnostics—they act as macroscopic telemetry for network health. The ratio of specific codes directly informs your SBC's LCR engine.
A sudden spike in 503 (Service Unavailable) responses indicates an upstream capacity ceiling, a proxy crash, or severe latency causing SIP timer expirations. Conversely, a high ratio of 480 (Temporarily Unavailable) is generally a downstream subscriber issue (e.g., cell phones out of coverage areas) and does not reflect poorly on the transit route's physical health.
Analytics-based blocking has severely shifted the meaning of the 603 (Decline) response. Originally intended to signify a human pressing a 'reject' button, a rapid 603 is now the primary signal that a downstream carrier's spam analytics engine has aggressively filtered your traffic.
The Codes Operators Most Often Misdiagnose
Operators frequently conflate similar-sounding SIP codes, leading to wasted troubleshooting cycles. Differentiating these specific pairs is critical:
403 Forbidden vs. 404 Not Found: A 403 implies your SIP PBX is attempting an action it lacks permission for (e.g., source IP not whitelisted, unauthorized Caller ID spoofing). A 404 implies the dialed number format is unroutable or malformed. If you send local 10-digit formats without the +1 country code, you will receive a 404.
486 Busy Here vs. 480 Temporarily Unavailable: 486 is a genuine busy signal from the active handset. 480 implies the network cannot locate the subscriber at all. Neither results in connected billing.
487 Request Terminated: A 487 is generated when the caller hangs up before the destination answers. A high volume of 487s is the undeniable footprint of predictive dialer traffic abandoning calls, which heavily impacts carrier metrics.
488 Not Acceptable Here: This indicates a fundamental disagreement on media capabilities (codecs). If your switch demands Opus but the terminating tandem only supports G.711, a 488 will instantly tear down the call.
Practical Triage Workflow
When escalating a routing anomaly to your wholesale carrier, vague reports (e.g., 'calls to Canada are failing') are unactionable. Engineers require precise SIP metadata to interrogate switch logs.
Required Escalation Payload
Before opening a carrier NOC ticket, you must provide: 1) The exact timestamp including timezone. 2) The full SIP Call-ID string from the INVITE. 3) The exact E.164 formatted Originating (ANI) and Terminating (DNIS) numbers. 4) The raw PCAP / SIP trace text containing the specific failure code.
Frequently Asked Questions
Ready to Connect?
Experience enterprise-grade wholesale termination and origination with transparent pricing and real-time control.
