SIP responses are the codes used by Session Initiation Protocol for communication. They complement the SIP Requests, which are used to initiate action such as a phone conversation. The Reason Phrases of the responses listed below are only the recommended examples, and can be replaced with local equivalents without affecting the protocol.
1xx—Provisional Responses
- 100 Trying
- Extended search being performed may take a significant time so a forking proxy must send a 100 Trying response
- 180 Ringing
- Destination user agent received INVITE, and is alerting user of call.[1]:§21.1.2
- 181 Call is Being Forwarded
- Servers can optionally send this response to indicate a call is being forwarded.[1]:§21.1.3
- 182 Queued
- Indicates that the destination was temporarily unavailable, so the server has queued the call until the destination is available. A server may send multiple 182 responses to update progress of the queue.[1]:§21.1.4
- 183 Session in Progress
- This response may be used to send extra information for a call which is still being set up.[1]:§21.1.5
- 199 Early Dialog Terminated
- Can be used by User Agent Server to indicate to upstream SIP entities (including the User Agent Client (UAC)) that an early dialog has been terminated.[2]
2xx—Successful Responses
- 200 OK
- Indicates the request was successful.
- 202 Accepted
- Indicates that the request has been accepted for processing, but the processing has not been completed.
- 204 No Notification
- Indicates the request was successful, but the corresponding response will not be received.[3]
3xx—Redirection Responses
- 300 Multiple Choices
- 301 Moved Permanently
- 302 Moved Temporarily
- 305 Use Proxy
- 380 Alternative Service
4xx—Client Failure Responses
- 400 Bad Request
- The request could not be understood due to malformed syntax.[1]:§21.4.1
- 401 Unauthorized
- The request requires user authentication. This response is issued by UASs and registrars. [1]:§21.4.2
- 402 Payment Required
- Reserved for future use. [1]:§21.4.3
- 403 Forbidden
- The server understood the request, but is refusing to fulfill it.
- 404 Not Found (User not found)
- The server has definitive information that the user does not exist at the domain specified in the Request-URI. This status is also returned if the domain in the Request-URI does not match any of the domains handled by the recipient of the request.
- 405 Method Not Allowed
- The method specified in the Request-Line is understood, but not allowed for the address identified by the Request-URI.
- 406 Not Acceptable
- The resource identified by the request is only capable of generating response entities that have content characteristics but not acceptable according to the Accept header field sent in the request.
- 407 Proxy Authentication Required
- The request requires user authentication. This response is issued by proxys. [1]:§21.4.8
- 408 Request Timeout
- Couldn't find the user in time.[1]:§21.4.9
- 409 Conflict (Deprecated)
- User already registered (RFC 2543)
- 410 Gone
- The user existed once, but is not available here any more.[1]:§21.4.10
- 412 Conditional Request Failed
- Conditional Request Failed (RFC 3903)
- 413 Request Entity Too Large
- Request body too large.[1]:§21.4.11
- 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.[1]:§21.4.12
- 415 Unsupported Media Type
- Request body in a format not supported.[1]:§21.4.13
- 416 Unsupported URI Scheme
- Request-URI is unknown to the server.[1]:§21.4.14
- 417 Unknown Resource-Priority
- Unknown Resource-Priority (RFC 4412)
- 420 Bad Extension
- Bad SIP Protocol Extension used, not understood by the server.[1]:§21.4.15
- 421 Extension Required
- The server needs a specific extension not listed in the Supported header.[1]:§21.4.16
- 422 Session Interval Too Small
- It is generated by a UAS or proxy when a request contains a Session-Expires header field with a duration below the minimum timer for the server (RFC 4028)
- 423 Interval Too Brief
- Expiration time of the resource is too short.[1]:§21.4.17
- 424 Bad Location Information
- Bad Location Information (RFC 6442)
- 428 Use Identity Header
- Use Identity Header (RFC 4474)
- 429 Provide Referrer Identity
- Provide Referrer Identity (RFC 3892)
- 433 Anonymity Disallowed
- Anonymity Disallowed (RFC 5079)
- 436 Bad Identity-Info
- Bad Identity-Info (RFC 4474)
- 437 Unsupported Certificate
- Unsupported Certificate (RFC 4474)
- 438 Invalid Identity Header
- Invalid Identity Header (RFC 4474)
- 470 Consent Needed
- A 470 (Consent Needed) response indicates that the request that triggered the response contained a URI list with at least one URI for which the relay had no permissions. A user agent server generating a 470 (Consent Needed) response SHOULD include a Permission-Missing header field in it. This header field carries the URI or URIs for which the relay had no permissions. (RFC5360)
- 480 Temporarily Unavailable
- Callee currently unavailable.[1]:§21.4.18
- 481 Call/Transaction Does Not Exist
- Server received a request that does not match any dialog or transaction.[1]:§21.4.19
- 482 Loop Detected.
- Server has detected a loop.[1]:§21.4.20
- 483 Too Many Hops
- Max-Forwards header has reach value '0'.[1]:§21.4.21
- 484 Address Incomplete
- Request-URI incomplete.[1]:§21.4.22
- 485 Ambiguous
- Request-URI is ambiguous.[1]:§21.4.23
- 486 Busy Here
- Callee is busy.[1]:§21.4.24
- 487 Request Terminated
- Request has terminated by bye or cancel.[1]:§21.4.25
- 488 Not Acceptable Here
- Some aspects of the session description of the Request-URI is not acceptable.[1]:§21.4.26
- 489 Bad Event
- Bad Event (RFC 3265)
- 491 Request Pending
- Server has some pending request from the same dialog.[1]:§21.4.27
- 493 Undecipherable
- Request contains an encrypted MIME body, which recipient can not decrypt.[1]:§21.4.28
- 494 Security Agreement Required
- Security Agreement Required (RFC 3329)
5xx—Server Failure Responses
- 500 Server Internal Error
- 501 Not Implemented: The SIP request method is not implemented here
- 502 Bad Gateway
- 503 Service Unavailable
- 504 Server Time-out
- 505 Version Not Supported: The server does not support this version of the SIP protocol
- 513 Message Too Large
- 580 Precondition Failure [4]
6xx—Global Failure Responses
- 600 Busy Everywhere
- All possible destinations are busy. Unlike the 486 response, this response indicates the destination knows there are no alternative destinations (such as a voicemail server) able to accept the call.[1]:§21.6.1
- 603 Decline
- The destination does not wish to participate in the call, or cannot do so, and additionally the client knows there are no alternative destinations (such as a voicemail server) willing to accept the call.[1]:§21.6.2
- 604 Does Not Exist Anywhere
- The server has authoritative information that the requested user does not exist anywhere.[1]:§21.6.3
- 606 Not Acceptable
- The user's agent was contacted successfully but some aspects of the session description such as the requested media, bandwidth, or addressing style were not acceptable.[1]:§21.6.4
See also
References
- ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af Rosenberg, J.; Schulzrinne, H.; Camarillo, G.; Johnston, A.; Peterson, F.; Sparks, R.; Handley, M.; Schooler, E. (June 2002). SIP: Session Initiation Protocol. IETF. RFC 3261. https://tools.ietf.org/html/rfc3261. Retrieved January 20, 2012.
- ^ Holmberg, C. (May 2011). Session Initiation Protocol (SIP) Response Code for Indication of Terminated Dialog. IETF. RFC 6228. https://tools.ietf.org/html/rfc6228.
- ^ Niemi, A. (May 2010). Willis, D. ed. An Extension to Session Initiation Protocol (SIP) Events for Conditional Event Notification. IETF. RFC 5839. https://tools.ietf.org/html/rfc5839.
- ^ Rosenberg, J. (October 2002). Camarillo, G.; Marshall, W. eds. Integration of Resource Management and Session Initiation Protocol (SIP). IETF. RFC 3312. https://tools.ietf.org/html/rfc3312.
External links