Locate the response family
- 1xx ProvisionalRequest is progressing
- 2xx SuccessRequest succeeded
- 3xx RedirectionAnother destination
- 4xx Request failureInterpret this request
- 5xx Server failureServer could not fulfil
- 6xx Global failureFailure across destinations
Read the status with its request method and call leg. For example, 200 after REGISTER confirms a binding; it does not prove an INVITE succeeded.
Start with the request
A response code is not a complete root-cause report. Identify the request method and the call leg before interpreting it. A 200 to REGISTER does not mean an INVITE succeeded, and an initial authentication challenge can be normal.
Understand the classes
1xx responses describe provisional progress. 2xx indicate success for the relevant request. 3xx provide redirection. 4xx describe request failures, 5xx server failures and 6xx global failures under SIP semantics. Each specific code has its own meaning and operational context.
Follow intermediaries
A PBX can terminate one leg and create another. An upstream failure may be translated before the handset sees it. Keep a bounded sequence from both sides where available, including timestamps and sanitized identifiers.
Use the reference practically
Choose the observed code below for its meaning, diagnostic checks and common misinterpretations. The entries distinguish normal progress from failures and explain what the code cannot establish by itself. For a user-facing symptom without a clear response, start in troubleshooting.
Do not import HTTP names into SIP by number alone
SIP 429 is registered as Provide Referrer Identity, while HTTP 429 means Too Many Requests. A provider may document a local SIP reuse of the HTTP-style phrase, but the 429 diagnostic keeps that interface rule separate from the IANA SIP registry.
Verify the first final response when Asterisk rejects a call
For an incoming Asterisk PJSIP policy rejection, the PJSIPHangup diagnostic compares the requested 4xx–6xx code with the first final response, upstream rewrite and caller behavior.
A DIDWW response code and a rerouting trigger are not the same fact
DIDWW publishes destination and system response meanings, while the trunk group separately selects which disconnect codes trigger another member. Use the DIDWW trunk-group diagnostic to compare the observed result with the configured rerouting set.
Sources & applicability
Primary references for the technical details above. Operational examples and planning checklists are VoIP.info editorial guidance.
- IETF RFC 3261 — SIP, including linked updates ↗
- IANA SIP parameters ↗
- IETF RFC 3892: SIP Referred-By and 429 Provide Referrer Identity ↗
- IETF RFC 6585: HTTP 429 Too Many Requests ↗
- Skyetel SIP Registration limitations ↗
- Asterisk outbound-registration failure handling ↗
- Asterisk debug-information collection guide ↗
- Asterisk PJSIPHangup dialplan application ↗
- Asterisk Hangup dialplan application ↗
- Asterisk hangup-cause inspection guide ↗
- Asterisk hangup-cause mappings ↗
- RFC 3261: SIP response and transaction semantics ↗
- DIDWW service failover and load balancing ↗
- DIDWW inbound trunk groups ↗
- DIDWW inbound SIP trunk configuration ↗
- DIDWW SIP response codes in call logs ↗
- DIDWW Voice IN CDR streaming attributes ↗