Quick Reference
VoLTE and IMS SIP error codes follow the RFC 3261 response code space. In a VoLTE deployment, error codes can be generated by the UE, P-CSCF, S-CSCF, or IMS application servers. The Via header stack in the response identifies the source. 3GPP TS 24.229 defines IMS-specific behavior on top of RFC 3261. Captured via DIAG IMS OTA log.
VoLTE SIP Error Codes: IMS Field Reference
SIP error codes in VoLTE can originate from the UE, from the serving P-CSCF, from the S-CSCF, or from IMS application servers. The same code (e.g., 403 Forbidden) can mean different things depending on the request type (REGISTER vs. INVITE) and the node that generated it. Correct diagnosis requires reading the Via header stack alongside the error code.
How to Read the Via Header Stack
The Via header is the primary tool for identifying which IMS node generated the error response. Per RFC 3261 §20.42, each SIP proxy that forwards a request appends a Via header. The entity that generates the error response adds the topmost Via entry.
One Via entry: the P-CSCF generated the error before forwarding the request, or the UE itself generated the error (for INVITE responses sent by the callee's UE). The request did not reach the S-CSCF.
Two Via entries (P-CSCF + S-CSCF): the request reached the S-CSCF and was rejected there. The topmost Via entry is the S-CSCF's address. Common for 403 (subscription check failed), 480 (no REGISTER binding), and 503 (S-CSCF overload).
Three or more Via entries: the request was forwarded to an IMS application server (AS) for supplementary service processing. The topmost Via entry is the AS's address. Common for 403 (barring service active) or 480 (DND active).
SIP Error Code Quick Reference
Source: RFC 3261, 3GPP TS 24.229
| Code | Name | Request | Typical Source | Diagnosis |
|---|---|---|---|---|
| 401 | Unauthorized | REGISTER | S-CSCF | IMS AKA challenge — expected in normal flow |
| 403 | Forbidden | REGISTER, INVITE | S-CSCF, AS | Full guide → |
| 480 | Temporarily Unavailable | INVITE | S-CSCF (callee) | Full guide → |
| 486 | Busy Here | INVITE | UE (callee) | Callee active on another call |
| 488 | Not Acceptable Here | INVITE | UE, P-CSCF | Full guide → |
| 503 | Service Unavailable | REGISTER, INVITE | P-CSCF, S-CSCF | Full guide → |
| 580 | Precondition Failure | INVITE | UE (callee) | RFC 3312 QoS preconditions cannot be met |
Per-Code Diagnosis Guides
Final rejection of the UE's IMS registration or call. Distinct from 401 (which is a challenge). Root causes: IMS subscription not provisioned in the HSS, IMPU barred, P-CSCF IPsec SA failure. Requires HSS-level verification.
Read full guide →Callee-side unavailability generated by the S-CSCF when no active REGISTER binding exists for the called IMPU. Distinct from 503 (server overload). The callee's IMS APN bearer status and registration timer are the key diagnostic variables.
Read full guide →Sent by the callee's UE or P-CSCF when the SDP offer contains no mutually supported codec, or when RFC 3312 QoS preconditions cannot be satisfied. Read the Warning header for the specific rejection reason. Codec mismatch and missing AMR-WB are the most common root causes.
Read full guide →Server-side failure: the IMS node is temporarily unable to handle requests. Can result from P-CSCF or S-CSCF overload, IMS APN bearer not established, DNS resolution failure for the P-CSCF, or MRFP unavailability. Presence of the Retry-After header distinguishes overload from other failures.
Read full guide →Where SIP Errors Appear in the VoLTE Call Flow
Each SIP error code has a characteristic position in the VoLTE call setup flow. Identifying where the error occurs narrows the root cause before examining the headers.
Possible errors: 401 (AKA challenge — expected), 403 (subscription not provisioned or barred), 503 (P-CSCF or S-CSCF overloaded or unreachable). A failed REGISTER blocks all subsequent IMS services.
Possible errors: 403 (barring service active at AS), 480 (callee not registered), 488 (SDP codec or QoS mismatch), 503 (IMS overload or MRFP unavailable). A failed INVITE prevents the call from connecting.
Possible errors: 480 (callee's IMS registration expired during call), 488 (codec renegotiation failed), 503 (IMS server became unavailable mid-call). A failed re-INVITE typically causes call release.
Capturing SIP Errors in the Field
Decode SIP REGISTER and INVITE transactions in real time. Every request and response is expanded — status line, Via header stack, Contact, Reason, Warning, and SDP body. The originating IMS node is identified directly from the topmost Via entry.
Correlate SIP 503 events with IMS APN bearer status (QCI 5 EPS bearer). A missing QCI 5 bearer before the 503 indicates a transport-layer failure rather than an IMS server overload — changing the remediation path entirely.
Track call setup success rate, SIP error code distribution, and time-to-connect across a drive test campaign. Identify systematic SIP 488 or 503 zones correlated with RF conditions (RSRP, SINR) and cell loading patterns.
For SIP 503 caused by P-CSCF unreachability, inspect the DNS query for the P-CSCF FQDN in the data protocol log. NXDOMAIN or timeout before the 503 confirms DNS as the root cause — not IMS server overload.
Frequently Asked Questions
VoLTE SIP error codes follow the standard RFC 3261 SIP response code space (1xx–6xx). 3GPP TS 24.229 adds IMS-specific rules: which IMS node generates each code, how the Via header stack identifies the source, and which codes trigger specific UE behaviors such as IMS re-registration or fallback to CS. The code values are identical to RFC 3261; the diagnostic interpretation in an IMS context is defined by 3GPP.
IMS OTA SIP signaling is captured in DIAG logs. The decoded SIP INVITE or REGISTER transaction shows the full request and all responses (1xx provisional, final 2xx or 4xx/5xx/6xx). The SIP error code appears as the Status-Code in the response line (e.g., 'SIP/2.0 488 Not Acceptable Here'). The Via header stack, Reason header, and Warning header provide additional diagnostic context specific to each error code.
The first step is to identify the source of the error using the Via header stack. Each SIP proxy that forwards a request adds a Via header. The entity that generates the error response is identified by the topmost Via entry in the response. If a single Via entry is present from the originating P-CSCF address, the error was generated locally. Multiple Via entries mean the request reached the S-CSCF or beyond before the error — the topmost entry identifies the error origin.
Yes. SIP error codes apply to any SIP transaction. During IMS registration, a REGISTER request may receive 401 (Unauthorized — authentication challenge), 403 (Forbidden — authorization failure), or 503 (Service Unavailable — P-CSCF overloaded). During call setup, an INVITE request may receive 480 (Temporarily Unavailable — callee not registered), 488 (Not Acceptable Here — codec mismatch), 403 (Forbidden — barring service), or 503 (Service Unavailable — IMS overload). The same response code can have different root causes depending on the request type.