sip
SIP Response Codes
Three-digit response codes used in the Session Initiation Protocol (SIP). Modelled on HTTP status codes: 1xx provisional, 2xx success, 3xx redirection, 4xx client error, 5xx server error, 6xx global failure.
75 codes
references rfc-editor.org/rfc/rfc3261
1xx Informational 6 codes
- 100 Trying The server has received the request and is performing some unspecified action on its behalf. This provisional response prevents retransmission of the request by the client.
- 180 Ringing The destination user agent has received the INVITE request and is alerting the user. The response MAY be sent reliably using the PRACK mechanism.
- 181 Call Is Being Forwarded The server is forwarding the request to another destination. This provisional response informs the caller that call forwarding is in progress.
- 182 Queued The destination user agent is temporarily unavailable, but the server has queued the call. Further provisional responses will be sent to update the caller on queue status.
- 183 Session Progress Conveys information about the progress of a session establishment, often used to carry early media (e.g. ringback tones or IVR prompts) via an SDP body before the call is answered.
- 199 Early Dialog Terminated Indicates that an early dialog has been terminated before a final response was received. Defined to allow forking proxies to inform the caller when a particular fork ends without success.
2xx Success 3 codes
- 200 OK The request succeeded. For an INVITE, this means the session has been established and the response body contains the answering SDP. The UAC must send an ACK to complete the three-way handshake.
- 202 Accepted The request has been accepted for processing, but the processing has not been completed. Used primarily by REFER and SUBSCRIBE to indicate the request was received and will be acted upon asynchronously.
- 204 No Notification The request was successful but the server is explicitly indicating it will not send any NOTIFY requests in response. Used with SUBSCRIBE when the subscription is accepted but no notifications will follow.
3xx Redirection 5 codes
- 300 Multiple Choices The requested address resolves to multiple options, each with its own specific location. The user or UA can select a preferred communication address from the Contact header field alternatives provided.
- 301 Moved Permanently The user can no longer be found at the requested address, and the client should retry the request at the address given in the Contact header. The requesting client should update its address book accordingly.
- 302 Moved Temporarily The user is currently located at a different address given by the Contact header, but may return to the original address in the future. The client should retry the request at the new address.
- 305 Use Proxy The requested resource must be accessed through the proxy given in the Contact header field. The client must use the specified proxy for this request and future requests to this resource.
- 380 Alternative Service The call was not successful, but alternative services are available. The nature of the alternative services is described in the response body using a MIME type appropriate to the service.
4xx Client error 46 codes
- 400 Bad Request The request could not be understood due to malformed syntax. The client should not repeat the request without modifications.
- 401 Unauthorized The request requires user authentication. The response includes a WWW-Authenticate header with a challenge that the UAC must satisfy by resending the request with credentials.
- 402 Payment Required Reserved for future use. Intended for use when a payment mechanism is required before the server will accept the request.
- 403 Forbidden The server understood the request but is refusing to fulfil it. Authentication will not help, and the request should not be repeated. The server may indicate the reason in the response body.
- 404 Not Found The user identified in the Request-URI cannot be found at the server. The response may indicate in the reason phrase whether the condition is temporary or permanent.
- 405 Method Not Allowed The method specified in the Request-Line is not allowed for the address identified by the Request-URI. The response includes an Allow header listing the methods permitted for the resource.
- 406 Not Acceptable The resource identified by the request can only generate response entities with content characteristics that are not acceptable according to the Accept header fields sent in the request.
- 407 Proxy Authentication Required The client must first authenticate itself with the proxy. The proxy returns a Proxy-Authenticate header with a challenge; the client retries the request with Proxy-Authorization credentials.
- 408 Request Timeout The server could not produce a response within a suitable time. The client may retry the request at any later time.
- 409 Conflict The request could not be completed due to a conflict with the current state of the resource. Used in SIP registration when the request conflicts with an existing binding.
- 410 Gone The requested resource is no longer available at the server and no forwarding address is known. This condition is expected to be permanent.
- 412 Conditional Request Failed The precondition given in the request evaluated to false on the server. Used when a conditional PUBLISH or similar request fails because the entity-tag does not match the current state.
- 413 Request Entity Too Large The request body is larger than the server is willing or able to process. The server may close the connection to prevent the client from continuing the request.
- 414 Request-URI Too Long The server is refusing to service the request because the Request-URI is longer than the server is willing to interpret.
- 415 Unsupported Media Type The request body is in a format not supported by the server for the requested method. The server includes Accept, Accept-Encoding, or Accept-Language headers to indicate what is supported.
- 416 Unsupported URI Scheme The server cannot process the request because the URI scheme in the Request-URI is not understood. The client should retry with a URI scheme the server supports.
- 417 Unknown Resource-Priority The request contained a Resource-Priority header field with a priority value or namespace that the server does not understand or support.
- 420 Bad Extension The server did not understand the protocol extension specified in a Require or Proxy-Require header field. The response includes an Unsupported header listing the unrecognised extensions.
- 421 Extension Required The server requires a specific extension that is not listed in a Supported header field in the request. The response includes a Require header indicating the needed extension.
- 422 Session Interval Too Small The Session-Expires value in the request is smaller than the minimum timer value supported by the server. The response includes a Min-SE header indicating the minimum acceptable interval.
- 423 Interval Too Brief The expiration time of a resource or registration in the request is too short. The response includes a Min-Expires header indicating the minimum acceptable expiration interval.
- 424 Bad Location Information The request contains location information (e.g. a Geolocation header) that the server cannot process or that is inconsistent or invalid.
- 428 Use Identity Header The server requires the request to be signed with an Identity header to verify the identity of the caller, but no such header was present in the request.
- 429 Provide Referrer Identity The server requires a signed identity header to confirm the referrer's identity in a REFER request. The client must include an appropriate Identity header before the request will be accepted.
- 430 Flow Failed A specific flow to the user agent has failed, and the server is indicating that the client should choose a different flow or re-register. Defined as part of the SIP outbound mechanism.
- 433 Anonymity Disallowed The server refuses to process the request because it arrived anonymously and the policy of the server requires caller identification. The caller must provide a valid identity to proceed.
- 436 Bad Identity-Info The Identity-Info header in the request contains a URI that cannot be fetched or contains information that is invalid or cannot be verified by the server.
- 437 Unsupported Certificate The certificate referenced in the Identity-Info header or used for authentication cannot be validated or is not supported by the server.
- 438 Invalid Identity Header The signature in the Identity header could not be verified against the certificate provided. The request cannot be accepted without a valid, verifiable identity assertion.
- 439 First Hop Lacks Outbound Support The server that received this request is the first hop but does not support the SIP outbound mechanism. The UA should register without requesting outbound support from this server.
- 440 Max-Breadth Exceeded The request was rejected because its Max-Breadth value, controlling the number of concurrent forking branches a proxy may create, was exceeded. The client may retry with a lower breadth.
- 469 Bad Info Package The server received an INFO request with an Info-Package value that it does not support or recognise. Defined by the INFO package framework to replace the generic 415 for INFO requests.
- 470 Consent Needed The request was blocked because the target has not given consent to receive communications from the requesting party. The caller must obtain permission before the server will forward the request.
- 480 Temporarily Unavailable The callee's end system was contacted successfully but the callee is currently unavailable (e.g. not logged in or not accepting calls). The client may try again later.
- 481 Call/Transaction Does Not Exist The server received a request (such as BYE or CANCEL) that does not match any existing dialog or transaction. The referred-to call leg or transaction has been terminated.
- 482 Loop Detected The server has detected a request loop. A proxy identified its own Via header in the request, indicating the request has already passed through this server, preventing an infinite routing loop.
- 483 Too Many Hops The Max-Forwards header value reached zero before the request reached its destination. The request has traversed too many proxies and cannot be forwarded further.
- 484 Address Incomplete The server received a request with a Request-URI that was incomplete. The reason for the incompleteness is described in the reason phrase and may include prompting the user for more digits.
- 485 Ambiguous The Request-URI was ambiguous and could map to multiple users. The response includes Contact headers listing the possible interpretations so the caller can clarify their intent.
- 486 Busy Here The callee's end system was contacted but the callee is not currently willing or able to take additional calls at this end system. The caller may try the call at an alternate address given in the Contact header.
- 487 Request Terminated The request (most commonly an INVITE) was terminated by a CANCEL or BYE before a final response was generated. The UAS responds to the original INVITE with this code after receiving CANCEL.
- 488 Not Acceptable Here The callee's media capabilities (as described in the SDP body) are not compatible with the session description in the INVITE. The response may include an SDP body indicating what the UAS supports.
- 489 Bad Event The server did not understand the event package specified in the Event header of a SUBSCRIBE or NOTIFY request. The response includes an Allow-Events header listing supported event packages.
- 491 Request Pending The server already has a pending request from the same dialog in progress. The UA received an INVITE with an offer while it has an outstanding INVITE without an offer, creating an offer collision.
- 493 Undecipherable The request contains an encrypted MIME body that the recipient cannot decrypt. The server could not find a valid decryption key or suitable security mechanism for the body.
- 494 Security Agreement Required The server requires the use of a security mechanism to process the request, but the request did not include appropriate Security-Client header information for negotiating a security agreement.
5xx Server error 9 codes
- 500 Server Internal Error The server encountered an unexpected condition that prevented it from fulfilling the request. The client may display the error and may retry the request after some time.
- 501 Not Implemented The server does not support the functionality required to fulfil the request. The server does not recognise the request method and cannot support it for any user.
- 502 Bad Gateway The server, while acting as a gateway or proxy, received an invalid response from the downstream server it accessed in attempting to fulfil the request.
- 503 Service Unavailable The server is temporarily unable to handle the request due to overloading or maintenance. The response may include a Retry-After header indicating when the service may be available again.
- 504 Server Time-out The server did not receive a timely response from an external server it needed to contact to process the request. Differs from 408 in that this is a failure of a downstream server, not the client.
- 505 Version Not Supported The server does not support the SIP protocol version used in the request. The server may indicate in the response which versions it does support.
- 513 Message Too Large The server was unable to process the request because the message length exceeded the server's capacity. This typically occurs with UDP where message size is constrained by the transport MTU.
- 555 Push Notification Service Not Supported The server does not support the push notification service identified in the request. Used when a UA requests push notifications through a service that the registrar does not support.
- 580 Precondition Failure The server was unable to meet the resource management preconditions set by the client in the request. The session could not be established because mandatory QoS or media preconditions were not satisfiable.