SIP response codes: Everything you need in 2 minutes

The VoIP world is abound with technical terms. One such term that often comes up in Session Initiation Protocol (SIP) trunking is “SIP Codes,” or “SIP Response Codes”. 

What exactly are they, and why do they matter? In this post, we’ll dive into the world of SIP response codes, demystifying their purpose and shedding light on their relevance in modern communication systems.

What are SIP response codes?

SIP Codes are pre-defined three-digit codes that convey critical status information when making a call. 

When making a phone call or establishing a communication session over SIP, a series of exchanges occur between the user agent sending the call request (called User Agent Clients or UAC) and the recipient’s server (called User Agent Servers or UAS). These exchanges are governed by a set of codes known as SIP response codes.

SIP codes are three-digit numbers that provide information about the status and progress of a SIP session. They serve as a common language that allows the various components of a communication system to communicate effectively and handle calls appropriately.

What do SIP codes look like?

SIP response codes are grouped into different categories, each with its own significance. They’re grouped by the first integer of the three-digit code. 

1. Informational responses (1xx):

These codes indicate that the recipient server has received the request and is processing it. Examples include “100 – Trying” and “180 – Ringing.”

2. Success responses (2xx):

Success codes indicate that the request was successfully processed, and the desired action has been completed. Examples include “200 – OK” and “202 – Accepted.”

3. Redirection responses (3xx):

Redirection codes indicate that further action is needed to complete the request. The user agent may need to take additional steps to reach the desired endpoint. Examples include “301 – Moved Permanently” and “302 – Moved Temporarily.”

4. Client Error responses (4xx):

Client error codes indicate that there was an issue with the request, usually due to a mistake made by the user agent or client. Examples include “400 – Bad Request”, “403 – Forbidden” and “404 – Not Found.”

5. Server Error responses (5xx):

Server error codes indicate that there was an issue on the recipient server’s end. These codes denote that the server encountered an unexpected condition or error while processing the request. Examples include “500 – Server Internal Error” and “503 – Service Unavailable.”

6. Global Failure responses

The 6xx response codes indicate that the response will fail, irrespective of the location where it’s tried. Examples include “604 – Does Not Exist Anywhere” and “607 – Unwanted”.

Why do SIP codes matter?

SIP response codes play a crucial role in troubleshooting and identifying the status of a communication session. By understanding these codes, businesses can proactively address issues, ensure smoother call operations, and provide a better experience for their customers.

Moreover, the insights gained from analyzing SIP response codes can help service providers optimize their systems, identify performance bottlenecks, and improve call routing strategies. These codes provide invaluable diagnostic information that can be used to enhance the overall quality and reliability of communication services.

A list of all SIP codes

Need to make a quick check of what a 3-digit SIP Response Code means? We’ve got you. Refer to the table below:

1xx = Informational SIP responses

SIP Response CodeSIP EquivalentDescription
100TryingExtended search is being performed so a forking proxy must send a 100 Trying response.
180 RingingThe Destination User Agent has received the INVITE message and is alerting the user of call.
181 Call is being forwardedOptional, send by Server to indicate a call is being forwarded.
182QueuedDestination was temporarily unavailable, the server has queued the call until the destination is available.
183Session progressThis response may be used to send extra information for a call which is still being set up.
199Early dialog terminatedSend by the User Agent Server to indicate that an early dialogue has been terminated.

2xx = Success responses

SIP Response CodeSIP EquivalentDescription
200OKShows that the request was successful.
202AcceptedIndicates that the request has been accepted for processing, mainly used for referrals.
204No notificationIndicates that the request was successful but no response will be received.

3xx = Redirection responses

SIP Response CodeSIP EquivalentDescription
300Multiple choicesThe address resolved to one of several options for the user or client to choose between.
301Moved permanentlyThe original Request URI is no longer valid, the new address is given in the Contact header.
302Moved temporarilyThe client should try at the address in the Contact field.
305Use proxyThe Contact field details a proxy that must be used to access the requested destination.
380Alternative serviceThe call failed, but alternatives are detailed in the message body.

4xx = Request failures

Some of the most common 4xx SIP codes are below. See the complete list in the appendix.

SIP Response CodeSIP EquivalentDescription
400Bad RequestThe request could not be understood due to malformed syntax.
401UnauthorizedThe request requires user authentication. This response is issued by a UAS or a registrar.
403ForbiddenThe server understood the request, but is refusing to fulfill it.
404Not foundThe server has definitive information that the user does not exist at the (User not found)
407Proxy authentication requiredThe request requires user authentication.
408Request timeoutCouldn’t find the user in time.
409ConflictUser already registered (deprecated).
411Length requiredThe server will not accept the request without a valid content length (deprecated).
412Conditional request failedThe given precondition has not been met.
415Unsupported media typeRequest body is in a non-supported format.
424Bad location informationThe request’s location content was malformed or otherwise unsatisfactory.
436Identity infoThe request has an Identity-Info header and the   URI scheme contained cannot be de-referenced.
470Consent neededThe source of the request did not have the permission of the recipient to make such a request.
480Temporarily unavailableCallee currently unavailable.
489Bad eventThe server did not understand an event package specified in an Event header field.

5xx = Server errors

SIP Response CodeSIP EquivalentDescription
500Server internal errorThe server could not fulfill the request due to some unexpected condition.
501Not implementedThe SIP request method is not implemented here.
502Bad gatewayThe server, received an invalid response from a downstream server while trying to fulfill a request.
503Service unavailableThe server is in maintenance or is temporarily overloaded and cannot process the request.
504Server time-outThe server tried to access another server while trying to process a request, no timely response.
505Version not supportedThe SIP protocol version in the request is not supported by the server.
513Message too largeThe request message length is longer than the server can process.
555Push notification service not supportedThe server does not support the push notification service specified in the pn-provider SIP URI parameter.
580Precondition failureThe server is unable or unwilling to meet some constraints specified in the offer.

6xx = Global failures

SIP Response CodeSIP EquivalentDescription
600Busy everywhereAll possible destinations are busy.
603DeclineDestination cannot/doesn’t wish to participate in the call,  no alternative destinations.
604Does not exist anywhereThe server has authoritative information that the requested user does not exist anywhere.
606Not acceptableThe server has authoritative information that the requested user does not exist anywhere.
607UnwantedThe called party did not want his call from the calling party. Future attempts from the calling party are likely to be similarly rejected.
608RejectedAn intermediary machine or process rejected the call attempt.

Speaking of SIP

SIP response codes are the language of communication systems, enabling efficient and effective call management. By familiarizing yourself with these codes, you can gain deeper insights into the status of your communication sessions and troubleshoot any issues that may arise. Additionally, service providers can leverage SIP response codes to deliver reliable and high-quality communication experiences to their customers.

At Bandwidth, we understand the importance of SIP response codes in providing exceptional communication services. Our robust network infrastructure and expertise ensure that your calls are handled seamlessly, with comprehensive support and proactive troubleshooting. 

Get help with SIP

Want to scale without managing half a dozen more vendors? Let’s talk about going global with a single SIP trunking provider.

Appendix: Full list of 4xx SIP codes

SIP Response CodeSIP EquivalentDescription
400Bad RequestThe request could not be understood due to malformed syntax.
401UnauthorizedThe request requires user authentication. This response is issued by UASs and registrars.
402Payment requiredReserved for future use.
403ForbiddenThe server understood the request, but is refusing to fulfill it.
404Not foundThe server has definitive information that the user does not exist at the (User not found)
405Method not allowedThe method specified in the Request-Line is understood, but not allowed.
406Not acceptableThe resource is only capable of generating responses with unacceptable content.
407Proxy authentication requiredThe request requires user authentication.
408Request timeoutCouldn’t find the user in time.
409ConflictUser already registered (deprecated).
410GoneThe user existed once but is not available here anymore.
411Length requiredThe server will not accept the request without a valid content length (deprecated).
412Conditional request failedThe given precondition has not been met.
413Request entity too largeRequest body too large.
414Request URI too longServer refuses to service the request, the Req-URI is longer than the server can interpret.
415Unsupported media typeRequest body is in a non-supported format.
416Unsupported URI schemeRequest-URI is unknown to the server.
417Unknown Resource-PriorityThere was a resource-priority option tag, but no Resource-Priority header.
420Bad extensionBad SIP Protocol Extension used, not understood by the server.
421Extension requiredThe server needs a specific extension not listed in the Supported header.
422Session interval too smallThe request contains a Session-Expires header field with a duration below the minimum.
423Interval too briefExpiration time of the resource is too short.
424Bad location informationThe request’s location content was malformed or otherwise unsatisfactory.
428Use identity headerThe server policy requires an Identity header, and one has not been provided.
429Provide referrer identityThe server did not receive a valid Referred-By token on the request.
430Flow failedA specific flow to a user agent has failed, although other flows may succeed.
433Anonymity disallowedThe request has been rejected because it was anonymous.
436Identity infoThe request has an Identity-Info header and the   URI scheme contained cannot be de-referenced.
437Unsupported certificateThe server was unable to validate a certificate for the domain that signed the request.
438Invalid identity headerServer obtained a valid certificate used to sign a request, was unable to verify the signature.
439First hop lacks outbound supportThe first outbound proxy doesn’t support the “outbound” feature.
440Max-Breadth ExceededIf a SIP proxy determined a response context had insufficient Incoming Max-Breadth to carry out a desired parallel fork, and the proxy is unwilling/unable to compensate by forking serially or sending a redirect, that proxy MUST return a 440 response. A client receiving a 440 response can infer that its request did not reach all possible destinations.
469Bad info packageIf a SIP UA receives an INFO request associated with an Info Package that the UA has not indicated willingness to receive, the UA MUST send a 469 response, which contains a Recv-Info header field with Info Packages for which UA is willing to receive INFO requests.
470Consent neededThe source of the request did not have the permission of the recipient to make such a request.
480Temporarily unavailableCallee currently unavailable.
481Call/Transaction does not existServer received a request that does not match any dialogue or transaction.
482Loop detectedServer has detected a loop.
483Too many hopsMax-Forwards header has reached the value ‘0’.
484Address incompleteRequest-URI incomplete.
485AmbiguousRequest-URI is ambiguous.
486Busy hereCallee is busy.
487Request terminatedRequest has terminated by bye or cancel.
488Not acceptable hereSome aspects of the session description of the Request-URI are not acceptable.
489Bad eventThe server did not understand an event package specified in an Event header field.
491Request pendingServer has some pending request from the same dialogue.
493UndecipherableRequest contains an encrypted MIME body, which recipient can not decrypt.
494Security agreement requiredThe server has received a request that requires a negotiated security mechanism.