SIP - Cause Codes
SIP - Cause Codes
100 Trying
This response indicates that the request has been received by the next-hop server and
that some unspecified action is being taken on behalf of this call (for example, a
database is being consulted). This response, like all other provisional responses, stops
retransmissions of an INVITE by a UAC. The 100 (Trying) response is different from
other provisional responses, in that it is never forwarded upstream by a stateful proxy.
180 Ringing
The UA receiving the INVITE is trying to alert the user. This response MAY be used to
initiate local ringback.
181 Call Is Being Forwarded
A server MAY use this status code to indicate that the call is being forwarded to a
different set of destinations.
182 Queued
The called party is temporarily unavailable, but the server has decided to queue the call
rather than reject it. When the callee becomes available, it will return the appropriate
final status response. The reason phrase MAY give further details about the status of the
call, for example, 5 calls queued; expected waiting time is 15 minutes. The server MAY
issue several 182 (Queued) responses to update the caller about the status of the
queued call.
183 Session Progress
The 183 (Session Progress) response is used to convey information about the progress
of the call that is not otherwise classified. The Reason-Phrase, header fields, or
message body MAY be used to convey more details about the call progress.
Successful 2xx
The request was successful.
200 OK
The request has succeeded. The information returned with the response depends on the
method used in the request.
Redirection 3xx
3xx responses give information about the users new location, or about alternative
services that might be able to satisfy the call.
300 Multiple Choices
The address in the request resolved to several choices, each with its own specific
location, and the user (or UA) can select a preferred communication end point and
redirect its request to that location.
The response MAY include a message body containing a list of resource characteristics
and location(s) from which the user or UA can choose the one most appropriate, if
allowed by the Accept request header field. However, no MIME types have been defined
for this message body.
Unlike HTTP, the SIP response MAY contain several Contact fields or a list of addresses
in a Contact field. UAs MAY use the Contact header field value for automatic redirection
or MAY ask the user to confirm a choice. However, this specification does not define any
standard for such automatic selection.
This status response is appropriate if the callee can be reached at several different
locations and the server cannot or prefers not to proxy the request.
301 Moved Permanently
The user can no longer be found at the address in the Request-URI, and the requesting
client SHOULD retry at the new address given by the Contact header field (Section
20.10). The requestor SHOULD update any local directories, address books, and user
location caches with this new value and redirect future requests to the address(es)
listed.
302 Moved Temporarily
The requesting client SHOULD retry the request at the new address(es) given by the
Contact header field (Section 20.10). The Request-URI of the new request uses the
value of the Contact header field in the response.
The duration of the validity of the Contact URI can be indicated through an Expires
(Section 20.19) header field or an expires parameter in the Contact header field. Both
proxies and UAs MAY cache this URI for the duration of the expiration time. If there is no
explicit expiration time, the address is only valid once for recursing, and MUST NOT be
cached for future transactions.
If the URI cached from the Contact header field fails, the Request-URI from the
redirected request MAY be tried again a single time.
The temporary URI may have become out-of-date sooner than the expiration time, and a
new temporary URI may be available.
305 Use Proxy
The requested resource MUST be accessed through the proxy given by the Contact
field. The Contact field gives the URI of the proxy. The recipient is expected to repeat
this single request via the proxy. 305 (Use Proxy) responses MUST only be generated
by UASs.
380 Alternative Service
The call was not successful, but alternative services are possible.
The alternative services are described in the message body of the response. Formats for
such bodies are not defined here, and may be the subject of future standardization.
Request Failure 4xx
4xx responses are definite failure responses from a particular server. The client
SHOULD NOT retry the same request without modification (for example, adding
know, or has no facility to determine, whether or not the condition is permanent, the
status code 404 (Not Found) SHOULD be used instead.
SHOULD be settable by the UA. Status 486 (Busy Here) MAY be used to more precisely
indicate a particular reason for the call failure.
This status is also returned by a redirect or proxy server that recognizes the user
identified by the Request-URI, but does not currently have a valid forwarding location for
that user.
481 Call/Transaction Does Not Exist
This status indicates that the UAS received a request that does not match any existing
dialog or transaction.
482 Loop Detected
The server has detected a loop.
483 Too Many Hops
The server received a request that contains a Max-Forwards (Section 20.22) header
field with the value zero.
484 Address Incomplete
The server received a request with a Request-URI that was incomplete.
Additional information SHOULD be provided in the reason phrase.
This status code allows overlapped dialing. With overlapped dialing, the client does not
know the length of the dialing string. It sends strings of increasing lengths, prompting the
user for more input, until it no longer receives a 484 (Address Incomplete) status
response.
485 Ambiguous
The Request-URI was ambiguous. The response MAY contain a listing of possible
unambiguous addresses in Contact header fields. Revealing alternatives can infringe on
privacy of the user or the organization. It MUST be possible to configure a server to
respond with status 404 (Not Found) or to suppress the listing of possible choices for
ambiguous Request-URIs.
Example response to a request with the Request-URI sip:[email protected]:
SIP/2.0 485 Ambiguous
Contact: Carol Lee <sip:[email protected]>
Contact: Ping Lee <sip:[email protected]>
Contact: Lee M. Foote <sips:[email protected]>
Some email and voice mail systems provide this functionality. A status code separate
from 3xx is used since the semantics are different: for 300, it is assumed that the same
person or service will be reached by the choices provided. While an automated choice or
sequential search makes sense for a 3xx response, user intervention is required for a
485 (Ambiguous) response.
486 Busy Here
The callees end system was contacted successfully, but the callee is currently not
willing or able to take additional calls at this end system. The response MAY indicate a
better time to call in the Retry-After header field. The user could also be available
elsewhere, such as through a voice mail service. Status 600 (Busy Everywhere)
SHOULD be used if the client knows that no other end system will be able to accept this
call.
Servers MAY refuse the connection or drop the request instead of responding with 503
(Service Unavailable).
504 Server Time-out
The server did not receive a timely response from an external server it accessed in
attempting to process the request. 408 (Request Timeout) should be used instead if
there was no response within the period specified in the Expires header field from the
upstream server.
505 Version Not Supported
The server does not support, or refuses to support, the SIP protocol version that was
used in the request. The server is indicating that it is unable or unwilling to complete the
request using the same major version as the client, other than with this error message.
513 Message Too Large
The server was unable to process the request since the message length exceeded its
capabilities.
Global Failures 6xx
6xx responses indicate that a server has definitive information about a particular user,
not just the particular instance indicated in the Request-URI.
600 Busy Everywhere
The callees end system was contacted successfully but the callee is busy and does not
wish to take the call at this time. The response MAY indicate a better time to call in the
Retry-After header field. If the callee does not wish to reveal the reason for declining the
call, the callee uses status code 603 (Decline) instead. This status response is returned
only if the client knows that no other end point (such as a voice mail system) will answer
the request. Otherwise, 486 (Busy Here) should be returned.
603 Decline
The callees machine was successfully contacted but the user explicitly does not wish to
or cannot participate. The response MAY indicate a better time to call in the Retry-After
header field. This status response is returned only if the client knows that no other end
point will answer the request.
604 Does Not Exist Anywhere
The server has authoritative information that the user indicated in the Request-URI does
not exist anywhere.
606 Not Acceptable
The users agent was contacted successfully but some aspects of the session
description such as the requested media, bandwidth, or addressing style were not
acceptable.
A 606 (Not Acceptable) response means that the user wishes to communicate, but
cannot adequately support the session described. The 606 (Not Acceptable) response
MAY contain a list of reasons in a Warning header field describing why the session
described cannot be supported.
VoIP Mechanic 2009
www.voipmechanic.com