
SIP response codes are used to indicate the outcome of a SIP request.
A 100 Trying response code is sent by the server to indicate that it is trying to complete the request.
The 180 Ringing response code is sent by the server to indicate that the called party is being alerted.
A 200 OK response code is sent by the server to indicate that the request has been successfully processed.
The 300 Multiple Choices response code is sent by the server to indicate that the requested resource can be found at multiple locations.
A 400 Bad Request response code is sent by the server to indicate that the request was invalid or cannot be processed.
The 401 Unauthorized response code is sent by the server to indicate that the user is not authorized to access the requested resource.
A 404 Not Found response code is sent by the server to indicate that the requested resource could not be found.
The 500 Internal Server Error response code is sent by the server to indicate that an error occurred while processing the request.
Consider reading: Nextjs Server Only Code
SIP Response Codes
SIP response codes are used to specify the status of a request in the Session Initiation Protocol (SIP).
They are grouped according to their first digit as "provisional", "success", "redirection", "client error", "server error" or "global failure" codes, corresponding to a first digit of 1–6.
These codes are consistent with the HTTP response codes, although not all HTTP response codes are valid in SIP.
SIP responses also specify a "reason phrase" and a default reason phrase is defined with each response code.
The SIP response codes and corresponding reason phrases were initially defined in RFC 3261.
SIP responses may also include an optional Warning header, containing additional details about the response.
The Warning contains a separate three-digit code followed by text with more details about the warning.
SIP response codes are defined in IETF RFCs and registered in the SIP Parameters IANA registry.
This list includes all the SIP response codes defined in IETF RFCs and registered in the SIP Parameters IANA registry as of 27 January 2023.
The SIP response codes defined in obsolete SIP RFCs, specifically RFC 2543, are also included in this list, but are explicitly noted as such.
These codes can be used to provide additional information or to provide the text in a different language.
Curious to learn more? Check out: Html Response Codes
1xx Informational
When you send a request, you want to know it's being processed. That's where 1xx informational responses come in. They indicate the recipient server has received the request and is working on it.
100 is a special code that means an extended search is being performed, so a forking proxy must send a 100 Trying response. This lets the caller know their request is being processed.
A 100 Trying response is like a "we're on it" message from the server. It's a reassuring sign that your request is being handled.
Here are some common 1xx informational responses:
A 180 Ringing response is sent when the Destination User Agent has received the INVITE message and is alerting the user of the call. It's a sign that the call is being set up.
A 183 Session Progress response is used to send extra information for a call that's still being set up. It's like a progress update from the server.
On a similar theme: Network-based Call Signaling
2XX Success
When you receive a 2xx SIP response code, it means your request was successful. This is great news, and it's a common occurrence in SIP communication.
The 200 OK response code is a classic example of a successful request. It simply shows that the request was processed without any issues.
A 202 Accepted response code is used for referrals, indicating that the request has been accepted for processing. This is often seen when a request is being forwarded to another server.
In some cases, a 204 No notification response code is sent, indicating that the request was successful but no response will be received. This can be a bit confusing, but it's simply a way of saying "job well done" without sending any extra data.
Here's a quick rundown of the 2xx success responses:
3xx Redirection
In SIP, redirection responses are categorized under the 3xx code. This range of codes indicates that the original request URI is no longer valid, and the client needs to redirect to a new location.
The 300 SIP response code is known as "Multiple choices", indicating that the address resolved to one of several options for the user or client to choose between. This can be a bit confusing, but essentially, the client is presented with multiple choices.
301 is a "Moved permanently" response, which means the original Request URI is no longer valid, and the new address is given in the Contact header. You'll often see this when a website or server has moved to a new location.
302 is a "Moved temporarily" response, where the client should try at the address in the Contact field. This is similar to a 301, but the original address might still be valid for a short time.
305 is a "Use proxy" response, where the Contact field details a proxy that must be used to access the requested destination. Think of it like being redirected to a middleman who will help you reach your final destination.
380 is an "Alternative service" response, where the call failed, but alternatives are detailed in the message body. This can be useful when a client needs to find an alternative service or server.
Here's a quick summary of the 3xx redirection codes:
401 Unauthorized
The 401 Unauthorized SIP response code is a common issue that can arise when trying to make a request. It's issued by a UAS or a registrar.
This response code indicates that the request requires user authentication. I've seen this happen when trying to access a SIP service that's protected by a username and password.
The 401 Unauthorized SIP code has a specific description: "The request requires user authentication." This is a clear indication that the server is looking for authentication credentials before it can process the request.
To resolve this issue, you'll need to provide the necessary authentication credentials. This can be done by including a valid username and password in the request.
Server Error
Server errors occur when there's a problem on the recipient server's end. This can happen due to an unexpected condition or error while processing the request.
The server could not fulfill the request due to some unexpected condition, which is indicated by the 500 – Server Internal Error code.
A server error can also occur if the SIP request method is not implemented, resulting in a 501 – Not implemented code.
Another server error is the bad gateway error, which is indicated by the 502 code. This happens when the server received an invalid response from a downstream server while trying to fulfill a request.
The server is in maintenance or is temporarily overloaded and cannot process the request, which is indicated by the 503 – Service unavailable code.
If the server tries to access another server while trying to process a request, but no timely response is received, it results in a 504 – Server time-out code.
The SIP protocol version in the request is not supported by the server, which is indicated by the 505 – Version not supported code.
Here's a summary of the server error codes:
The server is unable or unwilling to meet some constraints specified in the offer, which is indicated by the 580 – Precondition failure code.
The request message length is longer than the server can process, which is indicated by the 513 – Message too large code.
A fresh viewpoint: Message Session Relay Protocol
6xx Global Failures
The 6xx Global Failures section of SIP response codes is where things can go wrong. SIP Response Code 600 is equivalent to "Busy everywhere", which means all possible destinations are busy.
If you're trying to make a call and keep getting this code, it's likely because every available line is in use. I've experienced this myself when trying to call a popular restaurant during peak hours.
SIP Response Code 603 is equivalent to "Decline", indicating that the destination cannot or doesn't wish to participate in the call, with no alternative destinations. This can be frustrating when you're trying to reach someone.
You might also see SIP Response Code 604, which is equivalent to "Does not exist anywhere", meaning the server has authoritative information that the requested user does not exist anywhere. This can be confusing if you're sure the user exists.
Here are some common 6xx SIP response codes and their equivalents:
SIP Response Code 606 is equivalent to "Not acceptable", which is similar to Code 604. SIP Response Code 607 is equivalent to "Unwanted", indicating that the called party did not want the call from the calling party, and future attempts are likely to be rejected.
SIP Response Code 608 is equivalent to "Rejected", which means an intermediary machine or process rejected the call attempt.
Here's an interesting read: Do Not Call List
Common Response Codes

SIP response codes are used to indicate the status of a request.
A 100 Trying response code indicates that the server is trying to process the request.
The 180 Ringing response code is sent when the called party's phone is ringing.
A 200 OK response code means the request was successful.
The 404 Not Found response code is sent when the requested resource is not available.
A 500 Internal Server Error response code indicates a server-side issue.
This response code is used to indicate that a request cannot be fulfilled.
You might like: Languages Used on the Internet
Appendix: Full List
The SIP response codes are grouped according to their first digit as "provisional", "success", "redirection", "client error", "server error" or "global failure" codes.
SIP responses specify a three-digit integer response code, which is one of a number of defined codes that detail the status of the request.
The SIP response codes are consistent with the HTTP response codes, although not all HTTP response codes are valid in SIP.
A different take: Http Redirect Code
SIP responses also specify a "reason phrase", and a default reason phrase is defined with each response code.
Each transaction consists of a SIP request (which will be one of several request methods), and at least one response.
These reason phrases can be varied, however, such as to provide additional information or to provide the text in a different language.
A single user agent may act as both UAC and UAS for different transactions: for example, a SIP phone is a user agent that will be a UAC when making a call, and a UAS when receiving one.
The SIP response codes and corresponding reason phrases were initially defined in RFC 3261.
SIP responses may also include an optional Warning header, containing additional details about the response.
The current list of official warnings is registered in the SIP Parameters IANA registry.
The 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.
This list includes all the SIP response codes defined in IETFRFCs and registered in the SIP Parameters IANA registry as of 27 January 2023.
SIP responses may be generated by any SIP user agent; user agents are divided into clients (UACs), which initiate requests, and servers (UASes), which respond to them.
A Back-to-Back User Agent (B2BUA) is a device that acts as both UAC and UAS for a single transaction.
Frequently Asked Questions
What is a 606 SIP code?
A 606 SIP code indicates that a user wants to communicate, but the system cannot support the requested session. It may provide a list of reasons for the session failure in a Warning header field.
What is a 607 response?
A 607 response indicates that a human, the called party, rejected a call. This is different from a 607 SIP response, which is triggered by an intermediary machine or process rejecting the call.
Featured Images: pexels.com


