• SIP or Session Initiation Protocol is a vital component for making Internet communication possible, including Voice over IP, or VoIP calls, SIP works similarly to HTTP requests, with request and response transactions happening over the Internet. The responses to these requests come in the form of SIP codes, with the codes outlined below.
  • Who Makes and Receives SIP Transactions?
  • The SIP request comes from what is known as user agent clients or UACs. These user agents can be VoIP phones, computers, and other systems connected to SIP through the PBX. Alternatively, your SIP response goes to the UASes, also known as UASs or user agent servers, which will process and then respond to the request. It is possible to have a device that can send and receive, then respond to a SIP request, with these devices known as Back-to-Back User Agents or B2BUAs.
  • Understanding SIP Status Codes
  • As touched on, SIP responses come in the form of SIP codes. These codes are pre-determined three-digit numbers with the first digit of the code indicating its general intention, with the remaining two digits linking to a specific response. Also, as stated, SIP requests are similar to HTTP requests, with SIP response codes working for HTTP responses, though it is not necessarily true in reverse. The numbers relating to the general intention of a SIP status code is as follows:
  • ●       Numbers starting with 1 – Provisional – Any number beginning with a 1 is a provisional response letting the requester know that the server is processing the request, though is yet to send the final answer.
  • ●       Numbers starting with 2 – Successful – Any response starting with the number 2 indicates that the request’s processing was successful.
  • ●       Numbers starting with 3 – Redirection – A response that begins with the number 3 indicates that the request is redirected. One example of this happening might be that the recipients of the call getting made by the UACs have changed their number.
  • ●       Numbers starting with 4 – Request Failures – As the name suggests, any response that begins with a 4 indicates that the request has failed, because the request could not be processed. Such a code shows that there is an error with the actual request.
  • ●       Numbers starting with 5 – Server Failures – If the response starts with a number 5, the request could not be processed by a server somewhere along the line.
  • ●   Numbers starting with 6 – Global Failures – A SIP status code that starts with a number 6 implies that, although the server received the request itself, but the transaction, with the reason indicated by the remaining two digits, will not occur.  
  • Further Exploration of SIP Codes
  • The above gives the requester a rough idea of how the UASes are handling the request, as it is not practical to remember every single three-digit SIP code. There will come a time when the UACs must know what is happening with their request. It is for this reason why the codes are detailed below.
  • SIP Codes Starting With 1 – Provisional Codes
  • ●       100 – Trying – The responder is in the process of trying to transfer the call.
  • ●       180 – Ringing – The responder is in the process of ringing the called party.
  • ●       181 – Call Is Getting Forwarded – The responder is forwarding the call onto the intended recipient.
  • ●       182 – Call Is On Hold – The responder is holding the call until the recipient is available. Multiple 182 codes can get sent to keep the caller updated.
  • ●       183 – Session Progress – The call between the caller and the recipient is still getting connected. However, the session is in progress, so other information can get sent.
  • ●   199 – Early Dialog Terminated – A 199 SIP code gets sent when the dialog between the server and the UACs gets terminated before any action gets taken.
  • SIP Codes Starting With 2 – Successful Codes
  • ●       200 – OK – The request got processed successfully, with the results of the request to follow shortly.
  • ●       202- Accepted – The invite request got accepted by the server and then queued, waiting to get processed later.
  • ●   204 – No Notification – The request got performed successfully, though no follow up gets sent.
  • SIP Codes Starting With 3 – Redirection Codes
  • ●       300 – Multiple Choices – The request was received by the server and has sent back several options outlined in the contact field for the user agent client to choose from regarding forwarding on the request.
  • ●       301 – Moved Permanently – The called party is no longer reachable via the contact details that the UACs have outlined in the Contact header field. The 301 SIP code indicates that the intended recipient has moved permanently.
  • ●       302 – Moved Temporarily – The called party is temporarily not reachable via the contact details that the UACs have. An alternative form of contact should come with the 302 SIP code, outlined in the Contact header field.
  • ●       305 – Use Proxy – The 305 SIP code will get sent along with a proxy address that the UACs must use before the server can process the request. The contact field will contain the new address URI of the proxy
  • ●   380 – Alternative Service – With a 380 SIP code, the call request has failed, though the message that comes with the code provides alternative services.
  • SIP Codes Starting With 4 – Request Failure
  • Many SIP codes start with 4, so the below are the most common. If the request-reply comes with a SIP code beginning with 4, the request should get modified before a retry attempt is made.
  • ●       400 – Bad Request – The SIP request is incorrect somewhere, so it cannot get processed. One example that could lead to a 400 bad request SIP code is a missing Call-ID in the header field.
  • ●       401 – Unauthorized – The user making the request does not have the correct user authentication and must receive authentication to circumvent the security mechanism.
  • ●       402 – Payment Required – The user does not have enough credits to make the request, so the request gets held for future use.
  • ●       403 – Forbidden – The server received the request, though refuses to process it.
  • ●       404 – Not Found – A 404 code gets returned when the server cannot find the request’s intended callee.
  • ●       405 – Method Not Allowed – The server understands the request, but the request method cannot get processed.
  • ●       406 – Not Acceptable – The caller’s options are not acceptable by the recipient of the call.
  • ●       407 – Proxy Authentication Required – The proxy in use cannot send the request without the user’s correct authentication as part of the security agreement.
  • ●       408 – Request Timeout – The request got made though the server could not process the application in time.
  • ●       410 – Gone – The request gets made though the server is not able to process it anymore. If the server cannot handle the application because it doesn’t understand it, a 404 code gets sent instead.
  • ●       413 – Request Entity Too Large – The request message’s session description is too large for the server.
  • ●       414 – Request-URI Too Large – The SIP address of the user agent’s request is too long.
  • ●       415 – Unsupported Media Type – The server refused to process the request as the message’s format is not supported. Alternative format options should get returned along with the code to fix the client error.
  • ●       416 – Unsupported URI Scheme – The server cannot process the request because the URI scheme is not recognized.
  • ●       420 – Bad Extension – The server does not recognize the SIP protocol extension, hence a 420 bad extension code.
  • ●       421 – Extension Required – The server requires a supported header extension to the SIP protocol before processing the request
  • ●       423 – Interval Too Brief – The time of expiry or session interval for the resource is too short for the server.
  • ●       480 – Temporarily Unavailable – The call request was processed correctly, though the callee is not available. Depending on the recipient’s settings, the code may come with a better time to attempt the request again.
  • ●       481 – Call/Transaction Does Not Exist – The server receives a request but does not recognize the requested transaction.
  • ●       482 – Loop Detected – The server has detected a forwarding loop.
  • ●       483 – Too Many Hops – The server has detected too many forwarding steps that have reached the max-forwards limit.
  • ●       484 – Address Incomplete – The server receives the request, but the Request-URI was incomplete.
  • ●       485 – Ambiguous – The Request-URI is too ambiguous for the server to process. The response should feature some possible alternatives for the user.
  • ●       486 – Busy Here – The server processed the request, but the call recipient refuses to accept the request.
  • ●       487 – Request Terminated – The request got terminated by another BYE or CANCEL request.
  • ●       488 – Not Acceptable Here – The server does not accept some part of the Request-URI.
  • ●       491 – Request Pending – The server receives the request, though it puts it on hold as it already has an application to process.
  • ●   493 – Undecipherable – The request contains an encrypted MIME body that the recipient cannot decipher, hence the 493 undecipherable SIP code.
  • SIP Codes Starting With 5 – Server Failure
  • ●       500 – Internal Server Error –A server internal error has occurred, so the server cannot process the request.
  • ●       501 – Not Implemented – The server does not have the functionality to process the request.
  • ●       502 – Bad Gateway – The server working as a gateway cannot forward the request, hence a 502 bad gateway code getting returned.
  • ●       503 – Service Unavailable – The server is offline for whatever reason, so it cannot process the request.
  • ●       504 – Server Time-out – The server attempted to connect to another server to process the request, but the process took too long.
  • ●       505 – Version Not Supported – The server does not support the protocol version of the SIP request.
  • ●   513 – Message Too Large – The server cannot process the request as the message body is too long.
  • SIP Codes Starting With 6 – Global Failures
  • ●       600 – Busy Everywhere – All destinations outlined in the request are unavailable.
  • ●       603 – Decline – The request reached the recipient, but they do not wish to receive the request.
  • ●       604 – Does Not Exist Anywhere – The server has information that the recipient no longer exists.
  • ●   606 – Not Acceptable – The request was processed correctly, but a component of the request was not acceptable.
Close Bitnami banner
Bitnami