SIP Response Codes
Comprehensive reference of SIP response codes from RFC 3261, organized by class with descriptions, common causes, and their meaning for VoIP testing in CallMeter.
SIP response codes follow the same structure as HTTP status codes but are defined specifically for VoIP signaling. They are grouped into six classes by RFC 3261 and its extensions. Understanding these codes is essential for diagnosing call setup failures, registration problems, and unexpected call termination during test runs.
When a CallMeter test run produces failures, the SIP response code is the first piece of evidence to examine. Every endpoint in a test run records the final SIP response code for its registration and call attempts, visible in the endpoint detail view and the SIP message trace.
1xx Provisional Responses
Provisional responses indicate the request was received and is being processed. These are not final responses and do not terminate a transaction. In CallMeter test runs, provisional responses are visible in the SIP message trace and contribute to call timing metrics like post-dial delay (PDD).
| Code | Name | Description | Common Cause in Testing |
|---|---|---|---|
| 100 | Trying | The next-hop server received the request and is processing it. Does not indicate the callee has been contacted. | Normal. Every INVITE should produce a 100 Trying from the first proxy. Absence may indicate a routing issue. |
| 180 | Ringing | The callee's device is alerting the user. Marks the start of the "ringing" phase. | Normal. PDD is measured as the interval between the INVITE and the first 180. High PDD may indicate slow proxy chains. |
| 181 | Call Is Being Forwarded | The call is being redirected by the server, typically via a call forwarding rule. | Seen when the registrar applies forwarding rules. May increase call setup time. |
| 182 | Queued | The callee is temporarily unavailable and the call has been queued for delivery. | Rare in testing. May appear when testing call queue or ACD systems. |
| 183 | Session Progress | Carries early media or call progress information. Often includes SDP for early media (ringback tones, IVR prompts). | Common when testing systems that provide in-band ringback or IVR menus. Check the SDP body for codec negotiation details. |
Provisional Responses and Timing Metrics
CallMeter uses provisional responses to calculate call timing metrics. The PDD metric measures the time from the INVITE to the first 180 Ringing or 183 Session Progress response. If your SIP infrastructure sends 183 before 180, PDD will reflect the 183 arrival time.
2xx Success Responses
Success responses indicate the request was processed and accepted. For INVITE transactions, a 200 OK establishes the dialog and the call begins.
| Code | Name | Description | Common Cause in Testing |
|---|---|---|---|
| 200 | OK | The request succeeded. For INVITE: call is established. For REGISTER: registration accepted. For BYE: call terminated cleanly. | Normal expected outcome. If your test shows a low percentage of 200 OK responses, investigate the dominant failure code. |
| 202 | Accepted | The request has been accepted for processing but is not yet complete. Used with REFER and SUBSCRIBE methods. | Seen when testing call transfer (REFER) or event subscription scenarios. |
3xx Redirection Responses
Redirection responses indicate the callee has moved and the request should be retried at a different location. The Contact header in the response contains the new address.
| Code | Name | Description | Common Cause in Testing |
|---|---|---|---|
| 300 | Multiple Choices | Several contact addresses are available for the callee. The caller should select one. | Rare. May appear when testing multi-device setups where the registrar returns multiple contacts. |
| 301 | Moved Permanently | The callee has permanently moved to the address in the Contact header. All future requests should use the new address. | Seen when testing number porting or permanent forwarding rules. Update registrar configuration if persistent. |
| 302 | Moved Temporarily | The callee is temporarily reachable at the address in the Contact header. | Common when testing call forwarding on no-answer or busy. The SIP client should follow the redirect automatically. |
| 305 | Use Proxy | The request must be routed through the specified proxy. | Rare in typical testing. Indicates a routing policy enforcement point. |
| 380 | Alternative Service | The call cannot succeed at this address, but an alternative service is available (e.g., voicemail). | Seen when testing voicemail fallback or alternative service routing. |
4xx Client Error Responses
Client error responses indicate the request cannot be fulfilled due to an error on the client side. These are the most common failure codes encountered during SIP testing and cover authentication failures, invalid addresses, and resource conflicts.
| Code | Name | Description | Common Cause in Testing |
|---|---|---|---|
| 400 | Bad Request | The SIP message is malformed or cannot be parsed. May indicate a missing required header or invalid syntax. | Check SIP message trace for malformed headers. May occur if custom SIP headers are incorrectly formatted. |
| 401 | Unauthorized | The request requires authentication. The server includes a WWW-Authenticate header with the challenge parameters. | Most common registration failure. Verify SIP account credentials in CallMeter. Check that the username, password, and auth realm match the registrar configuration. |
| 403 | Forbidden | The server understood the request but refuses to fulfill it. Unlike 401, sending credentials will not help. | The SIP account may be disabled, the source IP may not be on the allow list, or the account may have exceeded rate limits. Check registrar access policies. |
| 404 | Not Found | The callee address does not exist on the server. The domain is valid but the user part is unknown. | Verify the SIP URI being dialed. In cross-group testing, ensure the callee's SIP accounts are registered on the target registrar. |
| 405 | Method Not Allowed | The SIP method is not supported by the server. For example, sending OPTIONS to a server that does not implement it. | Check that your test configuration uses SIP methods supported by the target registrar. Review the Allow header in the response for supported methods. |
| 406 | Not Acceptable | The resource identified by the request can only generate responses with content characteristics not acceptable per the Accept header in the request. | Rare. May occur with specific content negotiation failures. |
| 407 | Proxy Authentication Required | Similar to 401, but the authentication is required by a proxy rather than the registrar. The Proxy-Authenticate header contains the challenge. | Verify proxy credentials if your SIP path includes intermediate proxies. CallMeter handles the challenge-response automatically if credentials are configured. |
| 408 | Request Timeout | The server could not produce a response within a suitable time. The client may retry. | Network connectivity issues between the worker and the SIP server. Check firewall rules, verify the registrar is operational, and consider increasing the buildup time to reduce burst registration load. |
| 415 | Unsupported Media Type | The message body or content type is not supported by the server. | May occur if the SDP content type is not accepted. Check SIP trace for the Content-Type header. |
| 420 | Bad Extension | The server does not support the SIP extension specified in a Require header. | The SIP server does not support a protocol extension. Check the Require and Supported headers in the SIP trace. |
| 421 | Extension Required | The server requires a specific extension that was not listed in the request's Supported header. | The SIP server mandates an extension. Check error response details. |
| 422 | Session Interval Too Small | The Session-Expires value is below the server's minimum. | When testing with session timers, increase the session expiry value to meet the server's minimum. The Min-SE header in the response specifies the required minimum. |
| 423 | Interval Too Brief | The registration expiry interval in the Contact header is too short for the registrar. | Increase the registration expiry value in the test configuration. |
| 480 | Temporarily Unavailable | The callee's endpoint is valid but not currently reachable. The callee may be offline, busy, or not registered. | In bidirectional tests, ensure callee endpoints register before callers begin dialing. Check that the callee group's buildup timing allows sufficient registration time. |
| 481 | Call/Transaction Does Not Exist | A BYE or CANCEL was received for a call that does not exist on the server. The dialog or transaction reference is invalid. | May occur after server restarts or failovers. Can also indicate a race condition between call termination and subsequent requests. |
| 483 | Too Many Hops | The request has traversed too many proxies (Max-Forwards reached zero). | Indicates a routing loop in the SIP infrastructure. Not a CallMeter configuration issue. |
| 486 | Busy Here | The callee is currently busy and cannot accept the call at this device. | Expected when testing against endpoints that are already in a call. In CallMeter, this contributes to the REJECTED call result category. |
| 487 | Request Terminated | The request was cancelled by a CANCEL request before a final response was sent. | Normal when calls are cancelled during setup. Seen when CallMeter endpoints end calls during the ringing phase, or when test duration expires during call establishment. |
| 488 | Not Acceptable Here | The SDP offer contains no acceptable media parameters. Codec negotiation failed. | The callee does not support any of the codecs offered. Review the test codec configuration and ensure at least one codec is supported by the target system. See Supported Codecs. |
| 489 | Bad Event | The event package specified in the Event header is not supported. | Relevant when testing SUBSCRIBE/NOTIFY event packages. |
| 491 | Request Pending | A re-INVITE was received while a previous INVITE transaction is still pending. | Concurrent request collision. Usually transient and resolved automatically by the SIP stack. |
| 493 | Undecipherable | The request body is encrypted and the server cannot decrypt it. | Relevant when testing S/MIME encrypted SIP bodies. |
Authentication Challenge Flow
SIP authentication is challenge-based. A 401 or 407 response is expected on the first request. The client then re-sends the request with credentials. A persistent 401 after the re-send indicates invalid credentials. CallMeter handles this exchange automatically, so a 401 in the final status means the credentials were rejected after the authentication attempt.
5xx Server Error Responses
Server error responses indicate the server failed to process a valid request. These point to issues with the SIP infrastructure being tested rather than the test configuration.
| Code | Name | Description | Common Cause in Testing |
|---|---|---|---|
| 500 | Server Internal Error | An unhandled error occurred on the server. | A bug or resource exhaustion in the SIP registrar or proxy. Check server logs on the target infrastructure. |
| 501 | Not Implemented | The SIP method or feature is not implemented by the server. | The SIP server does not support the method being tested. This is a capability limitation of the target system. |
| 502 | Bad Gateway | The server received an invalid response from a downstream server it contacted to fulfill the request. | A proxy in the SIP path received a malformed response from the next hop. Check intermediate proxy configurations. |
| 503 | Service Unavailable | The server is temporarily unable to process the request due to overload or maintenance. A Retry-After header may be present. | The SIP server is overloaded. This is a significant finding in stress tests. Reduce concurrent endpoints, increase buildup time, or investigate server capacity. |
| 504 | Server Time-out | The server timed out waiting for a response from the next-hop server. | An upstream SIP server in the routing chain is not responding. Check connectivity between SIP proxies. |
| 513 | Message Too Large | The SIP message exceeds the server's maximum accepted size. | May occur with very large SDP bodies (many codecs or media lines). Simplify the media configuration. |
503 in Stress Testing
A 503 Service Unavailable response during a stress test is a valuable data point. It indicates the SIP infrastructure has reached its capacity threshold at the current load level. Record the endpoint count and call rate at which 503 responses begin appearing to establish the system's capacity limit.
6xx Global Error Responses
Global error responses indicate the request cannot succeed at any server. The callee cannot or will not accept the call anywhere.
| Code | Name | Description | Common Cause in Testing |
|---|---|---|---|
| 600 | Busy Everywhere | The callee is busy on all registered devices and will not accept the call. | The callee has no available device to answer. In CallMeter, this contributes to the REJECTED call result category. |
| 603 | Decline | The callee has explicitly declined the call. Unlike 486 (Busy), this indicates an active rejection rather than a resource limitation. | The callee's system or policy rejected the call. May indicate call screening rules or DND settings on the target system. |
| 604 | Does Not Exist Anywhere | The callee address does not exist anywhere in the network. Unlike 404, this is a definitive global statement. | The dialed SIP URI is globally unknown. Verify the address format and domain. |
| 606 | Not Acceptable | The callee is reachable but the session parameters (codecs, bandwidth) are not acceptable and the callee is unwilling to negotiate alternatives. | A more absolute version of 488. The callee will not negotiate. Review your codec and media configuration against the target system's requirements. |
CallMeter Call Result Mapping
CallMeter maps final SIP response codes to business outcome categories for calculating aggregate quality metrics like ASR (Answer Seizure Ratio) and NER (Network Effectiveness Ratio).
| SIP Code Range | Call Result | Counted in ASR | Counted in NER | Rationale |
|---|---|---|---|---|
| 200 | SUCCESS | Yes | Yes | Call answered and completed |
| 408, 480 | TIMEOUT | No | Yes | Network delivered the call but callee was unavailable. This is a network success. |
| 486, 600, 603 | REJECTED | No | No | User-initiated rejection, not a network or configuration issue |
| Other 4xx | ERROR | No | No | Client-side or configuration error |
| 5xx | ERROR | No | No | Server-side infrastructure error |
| 6xx (except 600, 603) | ERROR | No | No | Global failure |
ASR vs NER
ASR measures the percentage of calls that were answered (200 OK). NER measures the percentage of calls that were successfully delivered by the network, regardless of whether the callee answered. A high NER but low ASR indicates the network is healthy but callees are not answering or are busy. A low NER indicates network or infrastructure problems. See VoIP Terminology for detailed definitions.
Using SIP Response Codes in CallMeter
Test Run Summary
The test run summary shows a breakdown of final SIP response codes across all endpoints. Use this to quickly identify the dominant failure mode. A healthy test run should show the vast majority of endpoints ending with a 200 OK.
Endpoint Detail
Each endpoint detail view shows the exact SIP response code for its registration and call attempts. Click on an endpoint to see its SIP message trace with the full request-response exchange.
Probes
Probes record the SIP response code for each execution. A probe that consistently returns non-200 responses will transition to DEGRADED or UNHEALTHY status depending on your threshold configuration. See Probe Health States.
Related Pages
- VoIP Terminology -- Glossary of SIP, RTP, and quality terms
- SIP Registration Errors -- Step-by-step registration failure diagnosis
- Common Test Failures -- Troubleshooting failed test runs
- Endpoint Statuses -- Endpoint lifecycle during test execution
Metrics Glossary
Quick reference table of all 69 CallMeter VoIP metrics organized by category, with keys, units, and links to detailed documentation.
VoIP Terminology
Comprehensive glossary of VoIP, SIP, RTP, and quality measurement terms used throughout CallMeter documentation and the platform interface.