SIP Response Codes: Complete List With Causes and Fixes
Search all 73 SIP status codes. Click any code to see what it means, why it happens and how to fix it.
| Code | Name and meaning |
|---|---|
| 100 | Trying The next hop received the request and is working on it. 100 Trying only travels one hop and stops the caller from retransmitting the INVITE. |
| 180 | Ringing The called device is alerting the user. The caller normally plays local ringback tone unless early media arrives. |
| 181 | Call Is Being Forwarded The call is being forwarded to another destination. |
| 182 | Queued The called party is temporarily unavailable, and the server has queued the call instead of rejecting it. |
| 183 | Session Progress Carries progress information, usually with an SDP body for early media, so the caller hears ringback, announcements or IVR audio before the call is an… |
| 199 | Early Dialog Terminated A proxy tells the caller that one forked early dialog has ended, before the final response arrives. |
| 200 | OK The request succeeded. For INVITE, the call was answered. For REGISTER, the registration was accepted. |
| 202 | Accepted The request was accepted for processing, but processing is not complete. Typically seen for REFER (call transfer) and SUBSCRIBE. |
| 204 | No Notification The subscription was successful, but no NOTIFY will be sent because the state has not changed. |
| 300 | Multiple Choices The address resolved to several possible locations, listed in Contact headers. The caller can choose one. |
| 301 | Moved Permanently The user is no longer at the requested address. The caller should use the address in the Contact header from now on. |
| 302 | Moved Temporarily The caller should retry at the address in the Contact header. Widely used for call forwarding and least-cost routing redirects. |
| 305 | Use Proxy The request must be sent through the proxy given in the Contact header. |
| 380 | Alternative Service The call failed, but alternative services are possible. Also used in emergency calling (RFC 5031) to redirect callers. |
| 400 | Bad Request The request could not be understood because of malformed syntax. The reason phrase often names the faulty header. |
| 401 | Unauthorized The request needs user authentication. Sent by registrars and user agents with a WWW-Authenticate challenge. The client should resend with credentials… |
| 402 | Payment Required Reserved for future use, but some carriers and providers use it to signal an empty prepaid balance. |
| 403 | Forbidden The server understood the request but refuses to fulfil it. Authenticating again will not help. |
| 404 | Not Found The server has definitive information that the user does not exist in the domain in the Request-URI. |
| 405 | Method Not Allowed The method in the request is known but not allowed for this address. The response lists allowed methods in an Allow header. |
| 406 | Not Acceptable The resource can only produce content that the Accept header in the request does not allow. |
| 407 | Proxy Authentication Required Like 401, but the client must authenticate with the proxy. Carriers commonly challenge outbound INVITEs this way. |
| 408 | Request Timeout The server could not produce a response in time, for example because the user could not be located or no answer came from downstream. |
| 410 | Gone The resource is permanently gone and no forwarding address is known. |
| 412 | Conditional Request Failed A conditional PUBLISH failed because the entity tag (SIP-If-Match) did not match. |
| 413 | Request Entity Too Large The request body is larger than the server is willing to process. |
| 414 | Request-URI Too Long The Request-URI is longer than the server will interpret. |
| 415 | Unsupported Media Type The message body is in a format the server does not support (for example, not application/sdp). |
| 416 | Unsupported URI Scheme The server does not support the URI scheme in the Request-URI (for example tel: or sips:). |
| 417 | Unknown Resource-Priority The request had a Resource-Priority header that the server does not understand. |
| 420 | Bad Extension The server does not understand a protocol extension listed in the Proxy-Require or Require header. |
| 421 | Extension Required The server needs a particular extension, listed in the Require header of the response, to process the request. |
| 422 | Session Interval Too Small The Session-Expires value in the request is lower than the server's minimum. The response carries Min-SE. |
| 423 | Interval Too Brief The registration expiry is shorter than the registrar allows. The response includes Min-Expires. |
| 428 | Use Identity Header The server requires an Identity header (STIR/SHAKEN) and none was supplied. |
| 429 | Provide Referrer Identity The REFER target requires a valid Referred-By token. |
| 430 | Flow Failed A specific outbound flow (SIP Outbound) to the user agent failed. Seen between edge proxies and registrars. |
| 433 | Anonymity Disallowed The callee rejected the call because the caller is anonymous. |
| 436 | Bad Identity-Info The certificate reference in the Identity header could not be retrieved or used. |
| 437 | Unsupported Credential The verifier does not support the credential used to sign the Identity header. |
| 438 | Invalid Identity Header The Identity header signature could not be verified. |
| 439 | First Hop Lacks Outbound Support The registrar supports SIP Outbound, but the first-hop proxy does not. |
| 440 | Max-Breadth Exceeded The request could not fork further because of the Max-Breadth limit (protection against amplification). |
| 469 | Bad Info Package The INFO package is not supported by the receiver. |
| 470 | Consent Needed The source has not received consent to send to the target (relay consent framework). |
| 480 | Temporarily Unavailable The callee was reached but is currently unavailable: not registered, do not disturb, or not answering. |
| 481 | Call/Transaction Does Not Exist The server received a request (BYE, re-INVITE, CANCEL) that does not match any existing dialog or transaction. |
| 482 | Loop Detected The server received a request that already contains its own address in the Via path. The request is looping. |
| 483 | Too Many Hops Max-Forwards reached zero before the request reached its destination. This usually means a routing loop. |
| 484 | Address Incomplete The Request-URI is incomplete. Used in overlap dialling, or when the number is too short. |
| 485 | Ambiguous The Request-URI matched more than one user and the server could not choose. |
| 486 | Busy Here The callee was contacted but is busy at this endpoint. The caller may try again later or another location may be free. |
| 487 | Request Terminated The request was ended by a BYE or CANCEL before completion. Usually the caller hung up while ringing. |
| 488 | Not Acceptable Here Some aspect of the session description (SDP) was not acceptable, most often no common codec. |
| 489 | Bad Event The server does not understand the event package in a SUBSCRIBE or NOTIFY. |
| 491 | Request Pending The server had a pending request in the same dialog (glare). Both sides sent re-INVITEs at the same time. |
| 493 | Undecipherable The request contained an encrypted S/MIME body the server could not decrypt. |
| 494 | Security Agreement Required The server requires a security agreement mechanism (Security-Client or Security-Server headers), common in IMS. |
| 500 | Server Internal Error The server hit an unexpected condition and could not complete the request. |
| 501 | Not Implemented The server does not support the functionality needed, typically an unknown method. |
| 502 | Bad Gateway A gateway or proxy got an invalid response from a downstream server. |
| 503 | Service Unavailable The server is temporarily overloaded or under maintenance. It may include Retry-After. Many PBXs also send 503 when no outbound route or trunk is avai… |
| 504 | Server Time-out A server acting as gateway did not get a timely response from the next hop (or DNS). |
| 505 | Version Not Supported The server does not support the SIP protocol version in the request. |
| 513 | Message Too Large The message was too long for the server to process. |
| 555 | Push Notification Service Not Supported The server does not support the push notification service the client requested. |
| 580 | Precondition Failure The server could not meet the QoS or security preconditions required for the session. |
| 600 | Busy Everywhere The callee is busy and no other endpoint will accept the call. |
| 603 | Decline The callee's device was reached but the user explicitly declined the call. |
| 604 | Does Not Exist Anywhere The server has authoritative information that the user does not exist anywhere. |
| 606 | Not Acceptable The user's agent was contacted but some aspect of the session (media type, codec, bandwidth) is not acceptable anywhere. |
| 607 | Unwanted The called party marked the call as unwanted (spam). Networks can use this to improve robocall filtering. |
| 608 | Rejected An intermediary (for example, a carrier's analytics engine) rejected the call, not the user. The response may include contact details for redress. |
How SIP response codes work
Every SIP request, such as an INVITE to start a call or a REGISTER to log a phone in, gets one or more responses. Each response has a three-digit code. The first digit is the class:
- 1xx Provisional: The request was received and is being processed. The call is not finished yet.
- 2xx Success: The request succeeded.
- 3xx Redirection: The caller should try a different location to complete the request.
- 4xx Client error: The request has a problem or cannot be completed at this server, usually because of something on the requesting side or the target user.
- 5xx Server error: The server failed to handle an apparently valid request.
- 6xx Global failure: The request cannot succeed anywhere. The caller should not retry it elsewhere.
Codes from 300 upwards are final responses that end the transaction. 1xx codes are provisional, and several may arrive before the final answer. Codes not listed for a class should be treated as the x00 code of that class: an unknown 4xx is handled like 400.
Troubleshooting tips
- Read the reason phrase. Servers often add detail, such as
403 Forbidden - IP not allowed. That text is usually your quickest clue. - Check the Warning and Reason headers. They can carry the Q.850 cause code from the carrier.
- Capture both legs. Use
sngrepon Linux PBXs or Wireshark elsewhere to see which hop generated the error. - 401 and 407 are often normal. A single challenge followed by success is how digest authentication works.
Related guides
How to Fix One-Way Audio on VoIP Calls
One side can't hear the other? A step-by-step guide to fixing one-way and no-audio VoIP calls caused by NAT, SIP ALG, firewalls and wrong SDP addresses.
GuideSIP ALG: What It Is and Why to Disable It
What SIP ALG does, why it breaks VoIP calls and registrations, how to tell if it's causing problems, and how to turn it off on common routers and firewalls.