|
This chapter describes SIP messages and methods and describes how the SIP components of the Cisco VoIP Infrastructure Solution for SIP handle the messages. It includes the following sections:
All SIP messages are either requests from a server or client, or responses to a request. The messages are formatted according to RFC 822, "Standard for the format of ARPA internet text messages". For all messages, the general format is:
Each line must end with a carriage return-line feed (CRLF).
SIP uses six types (methods) of requests:
In response to requests, SIP uses the following categories of responses:
A registration occurs when a client needs to inform a proxy or redirect server of its location. During this process, the client sends a REGISTER request to the proxy or redirect server and includes the address (or addresses) at which it can be reached.
An invitation occurs when one SIP endpoint (user A) "invites" another SIP endpoint (user B) to join in a call. During this process, user A sends an INVITE message requesting that user B join a particular conference or establish a two-party conversation. If user B wants to join the call, it sends an affirmative response (SIP 2xx). Otherwise, it sends a failure response (SIP 4xx). Upon receiving the response, user A acknowledges the response with an ACK message. If user A no longer wants to establish this conference, it sends a BYE message instead of an ACK message.
Table 6-1 lists the SIP requests and describes the support provided by each component.
Request | SIP IP Phone | SIP Gateway | SIP Proxy Server |
---|---|---|---|
INVITE | The SIP IP phone supports initial INVITEs as well as mid-call INVITEs, which are used for call hold and call transfer. | The gateway supports mid-call INVITEs with the same call ID but different SDP session parameters (to change the transport address). | The SIP proxy server proxies SIP INVITE requests. |
ACK | Supported. | Supported. | The SIP proxy server proxies the SIP ACK method.1 |
OPTIONS | Not supported. | The gateway does not generate OPTIONS. However, it will respond to OPTIONS requests. | The SIP proxy server proxies OPTIONS. |
BYE | Supported. | Supported. | Supported. |
CANCEL | Supported. | Supported. | The SIP proxy server proxies the SIP CANCEL method.2 |
REGISTER | The SIP IP phone supports both user and device registration. | Not applicable. | The SIP proxy server supports both user and device registration. |
Table 6-2 lists the responses within each of the categories of SIP messages and describes how each is handled by the components in the solution.
Response | SIP IP Phone | SIP Gateway | SIP Proxy Server |
---|---|---|---|
1xx Informational Messages |
| ||
100 Trying This response indicates that action is being taken on behalf of the caller, but that the callee has not yet been located. | The SIP IP phone generates this response for an incoming INVITE. Upon receiving this response, the phone waits for a 180 Ringing or 200 OK response. | The SIP gateway generates this response for an incoming INVITE. Upon receiving this response, the gateway stops retransmitting INVITEs. It then waits for a 180 Ringing or 200 OK response. | The Cisco SIP proxy server generates and proxies this response for an incoming INVITE. Upon receiving this response, the server waits for a 180 Ringing, 183 Session progress, or 200 OK response. |
180 Ringing This response indicates that the callee has been located and is being notified of the call. | The SIP IP phone generates this response when a request has been received and the phone is waiting for the user to "pick up". Upon receiving this response, the phone waits for a 200 OK response. | The SIP gateway generates a 180 Ringing response when the called party has been located and is being alerted. Upon receiving this response, the gateway waits for a 200 OK response. | The SIP proxy server proxies 180 Ringing responses. |
181 Call is being forwarded This response indicates that the call is being rerouted to another destination. | The SIP IP phone does not generate this response. Upon receiving this response, the phone processes the response the same way that it processes a 100 Trying response. | The SIP gateway does not generate this response. Upon receiving this response, the gateway processes the response the same way that it processes a 100 Trying response. | The SIP proxy server proxies this response. |
182 Queued This response indicates that the callee is not currently available but that they have elected to queue the call rather than reject it. | The SIP IP phone does not generate this message. Upon receiving this response, the phone processes the response the same way that it processes a 100 Trying response. | The SIP gateway does not generate this response. Upon receiving this response, the gateway processes the response the same way that it processes a 100 Trying response. | The SIP proxy server proxies this response. |
183 Session progress This response is used to perform inband alerting for the caller. | The SIP IP phone does not generate this message. Upon receiving this response, the phone waits for a 200 OK response. | The SIP gateway generates a 183 Session progress response when it receives an ISDN SETUP message that contains a Progress element from a PSTN. | The SIP proxy server proxies 183 Session Progress responses. |
2xx Successful Responses |
| ||
200 OK This response indicates that the request has been successfully processed. The action taken depends on the request made. | The SIP IP phone generates this response when the user has answered the phone. Upon receiving this response, the phone responds with an ACK. | The SIP gateway generates this response when the PBX indicates that the user has answered the phone. Upon receiving this response, the gateway forwards the response to the corresponding party and responds with an ACK. | The SIP proxy server can generate a 200 OK response to a REGISTER or CANCEL request. The SIP proxy server proxies 200 OK responses to other requests. |
3xx Redirection Responses |
| ||
300 Multiple choices This response indicates that the address resolved to more than one location. All locations are provided and the user or UA is allowed to select which location to use. | The SIP IP phone does not generate this response. Upon receiving this response, the phone contacts the new address specified in the contact header. | The SIP gateway does not generate this response. Upon receiving this response, the gateway contacts the new address specified in the contact header. | When in Redirect mode, the SIP proxy server can only generate the 300 Multiple Choices response. When in Proxy mode, the SIP proxy server can generate or proxy this response. |
301 Moved permanently This response indicates that the user is no longer available at the specified location. An alternate location is included in the header. | The SIP IP phone does not generate this response. Upon receiving this response, the phone contacts the new address specified in the contact header. | The SIP gateway does not generate this response. Upon receiving this response, the gateway contacts the new address specified in the contact header. | The SIP proxy server proxies this response. |
302 Moved temporarily This response indicates that the user is temporarily unavailable at the specified location. An alternate location is included in the header. | The SIP IP phone does not generate this response at this time. Upon receiving this response, the phone contacts the new address specified in the contact header. | The SIP gateway does not generate this response. Upon receiving this response, the gateway contacts the new address specified in the contact header. | When in Redirect mode, the SIP proxy server can only generate the 302 Moved Temporarily response when a matching registration is located. When in Proxy mode, the SIP proxy server can generate or proxy this response. |
305 Use proxy This response indicates that the caller must use a proxy to contact the callee. | The SIP IP phone does not generate this response. Upon receiving this response, the phone contacts the new address specified in the contact header field. | The SIP gateway does not generate this response. Upon receiving this response, the gateway contacts the new address specified in the contact header. | The SIP proxy server proxies this response. |
380 Alternative service This response indicates that the call was unsuccessful, but that alternative services are available. | The SIP IP phone does not generate this response. Upon receiving this response, the phone contacts the new address specified in the contact header field. | The SIP gateway does not generate this response. Upon receiving this response, the gateway contacts the new address specified in the contact header. | The SIP proxy server does not proxy this response. |
4xx Request Failure Responses |
| ||
400 Bad request This response indicates that the request could not be understood because of an illegal format. | The SIP IP phone generates a 400 Bad Request response for a badly formed request. Upon receiving this response, the phone initiates a graceful call disconnect [during which the caller will hear a fast busy tone] before clearing the call request. | The SIP gateway generates this response for a badly formed request. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server generates and proxies 400 Bad Request responses. |
401 Unauthorized This response indicates that the request requires user authentication. | The SIP IP phone does not generate this response. Upon receiving this response during registration, the phone accepts the response and sends a new request that contains the user's authentication information. | The SIP gateway does not generate this response. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The proxy server proxies this response. |
402 Payment required This response indicates that payment is required to complete the call. | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user. | The SIP gateway does not generate this response. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The proxy server proxies this response. |
403 Forbidden This response indicates that the server has received and understood the request but will not provide the service. | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user. | The SIP gateway does not generate this response. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The proxy server proxies this response. |
404 Not found This response indicates that the server has definite information that the user does not exist in the specified domain. | The SIP IP phone generates this response if it is unable to locate the callee. Upon receiving this response, the phone notifies the user. | The SIP gateway generates this response if it is unable to locate the callee. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server generates and proxies this response. |
405 Method not allowed This response indicates that the method specified in the request is not allowed. The response contains a list of allowed methods. | The SIP IP phone generates this response if an invalid method is specified in the request. Upon receiving this response, the phone notifies the user. | The SIP gateway generates this response if an invalid method is specified in the request. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The proxy server proxies this response. |
406 Not acceptable This response indicates that the requested resource is capable of generating only responses that have content characteristics not acceptable as specified in the accept header of the request. | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user. | The SIP gateway does not generate this response. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The proxy server proxies this response. |
407 Proxy authentication required This response is similar to the 401 Unauthorized response. However, this response indicates that the client must first authenticate itself with the proxy. | The SIP IP phone does not generate this response. Upon receiving this response, the phone can repeat the request with a suitable Proxy-Authorization field. This field should contain the authentication information for the user agent for the next outbound proxy or gateway. | The SIP gateway does not generate this response. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server generates and proxies this response. |
408 Request timeout This response indicates that the server could not produce a response before the Expires time out. | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user. | The SIP gateway does not generate this response. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server generates and proxies this response. |
409 Conflict This response indicates that the request could not be processed because of a conflict with the current state of the resource. | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user. | The SIP gateway does not generate this response. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server generates and proxies this response. |
410 Gone This response indicates that a resource is no longer available at the server and no forwarding address is known. | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user. | The SIP gateway generates this response if the PSTN returns a cause code of unallocated number. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server proxies this response. The 410 Gone response indicates that a resource is no longer available at the server and no forwarding address is known. |
411 Length required This response indicates that the user refuses to accept the request without a defined content length. | The SIP IP phone does not generate this response. Upon receiving this response, the phone resends the request with a valid Content-Length header field. | The SIP gateway does not generate this response. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server proxies this response. This response indicates that the user refuses to accept the request without a defined content length. |
413 Request entity too large This response indicates that server refuses to process the request because it is larger than the server is willing or able to process. | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user. If the response contains a Retry-after field, the user is informed that the call can be attempted in accordance with the retry time provided. | The SIP gateway does not generate this response. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server proxies this response. If a retry after header field is contained in this response, then the user can attempt the call once again in the retry time provided. |
414 Request-URI too long This response indicates that the server refuses to process the request because the Request-URI is too long for the server to interpret. | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user. | The SIP gateway does not generate this response. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server generates and proxies this response. Upon receiving this response, the user is notified. |
415 Unsupported media This response indicates that the server refuses to process the request because the format of the body is not supported by the destination endpoint. | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user. | The SIP gateway does not generate this response. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server proxies this response. Upon receiving this response, the user is notified. |
420 Bad extension This response indicates that the server could not understand the protocol extension indicated in the Require header. | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user. | The SIP gateway generates this response if it does not understand the service requested in the Require header. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server generates and proxies this response. |
480 Temporarily unavailable This response indicates that the callee was contacted but is temporarily unavailable. | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user that the destination is temporarily unavailable and displays any retry information. | The SIP gateway generates this response if the callee is unavailable. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server proxies this response. If this response is received, the user is notified that the callee is temporarily unavailable (perhaps not logged on) and any retry information is displayed. |
481 Call leg/transaction does not exist This response indicates that the server is ignoring the request because it was either a BYE for which there was no matching leg ID or a CANCEL for which there was no matching transaction. | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user. | The SIP gateway generates this response when an existing call leg cannot be identified. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server generates and proxies this response. |
482 Loop detected This response indicates that the server received a request that included itself in the path. | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user. | The SIP gateway does not generate this response. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server generates and proxies this response. |
483 Too many hops This response indicates that the server received a request that required more hops than allowed by the Max-Forwards header. | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user. | The SIP gateway does not generate this response. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server generates and proxies this response. |
484 Address incomplete This response indicates that the server received a request containing an incomplete address. | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user. | The SIP gateway does not generate this response. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server proxies this response. |
485 Ambiguous This response indicates that the server received a request in which the callee address was ambiguous. It can provide possible alternate addresses. | The SIP IP phone does not generate this response. Upon receiving this response, the phone can reinitiate the call (if new contact information is received). | The SIP gateway does not generate this response. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server proxies this response. |
486 Busy here This response indicates that the callee was contacted but that their system is unable to take additional calls. | The SIP IP phone generates this response if the called party is off hook. Upon receiving this response, the phone notifies the user and generates a busy tone. | The SIP gateway generates this response when the called party is busy. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server proxies this response. |
5xx Server Failure Responses |
| ||
500 Server internal error This response indicates that the server or gateway encountered an unexpected error that prevented it from processing the request. | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user with fast-busy signal and disconnects the call. If an additional contact is known, the phone can send a new request. | The SIP gateway generates this response if it encountered an unexpected error that prevented it from processing the request. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server generates and proxies this response. |
501 Not implemented This response indicates that the server or gateway does not support the functions required to complete the request. | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user with fast-busy signal and disconnects the call. If an additional contact is known, the phone can send a new request. | The SIP gateway generates this response if it does not support the functions required to complete the request. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server generates and proxies this response. |
502 Bad gateway This response indicates that the server or gateway received an invalid response from a downstream server. | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user with fast-busy signal and disconnects the call. If an additional contact is known, the phone can send a new request. | The SIP gateway generates this response if it received an invalid response from a downstream server. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server proxies this response. |
503 Service unavailable This response indicates that the server or gateway is unable to process the request due to an overload or maintenance problem. | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user with fast-busy signal and disconnects the call. If an additional contact is known, the phone can send a new request. | The SIP gateway generates this response if it is unable to process the request due to an overload or maintenance problem. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server proxies this response. |
504 Gateway timeout This response indicates that the server or gateway did not receive a timely response from another server (such as a location server). | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user with fast-busy signal and disconnects the call. If an additional contact is known, the phone can send a new request. | The SIP gateway generates this response if it did not receive a timely response from another server (such as a location server). Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server proxies this response. |
505 Version not supported This response indicates that the server or gateway does not support the version of the SIP protocol used in the request. | The SIP IP phone generates this response if it does not support the version indicated in the SIP request. Upon receiving this response, the phone notifies the user with fast-busy signal and disconnects the call. If an additional contact is known, the phone can send a new request. | The SIP gateway generates this response if it does not support the version indicated in the SIP request. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server proxies this response. |
6xx Global Failure Responses |
| ||
600 Busy everywhere This response indicates that the callee was contacted but that the callee is busy and cannot take the call at this time. | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user with fast-busy signal and disconnects the call. | The SIP gateway does not generate this response. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server proxies this response. |
603 Decline This response indicates that the callee was contacted but cannot or does not want to participate in the call. | The SIP IP phone can generate this response if the user is using call screening. Upon receiving this response, the phone notifies the user with fast-busy signal and disconnects the call. | The SIP gateway does not generate this response. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server proxies this response. |
604 Does not exist anywhere This response indicates that the server has authoritative information that the callee does not exist in the network. | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user with fast-busy signal and disconnects the call. | The SIP gateway does not generate this response. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server proxies this response. |
606 Not acceptable This response indicates that the callee was contacted, but that some aspect of the session description was unacceptable. | The SIP IP phone does not generate this response. Upon receiving this response, the phone notifies the user with fast-busy signal and disconnects the call. If an additional contact is known, the phone can send a new request. | The SIP gateway generates this response if some aspect of the session description is unacceptable to the callee. Upon receiving this response, the gateway initiates a graceful call disconnect and clears the call. | The SIP proxy server proxies this response. |
Table 6-3 lists the PSTN cause codes that can be sent as an ISDN cause information element (IE) and the corresponding SIP event for each.
PSTN Cause Code | Description | SIP Event |
---|---|---|
1 | Unallocated number | 410 Gone |
3 | No route to destination | 404 Not found |
16 | Normal call clearing | BYE |
17 | User busy | 486 Busy here |
18 | No user responding | 480 Temporarily unavailable |
19 | No answer from the user | |
21 | Call rejected | 603 Decline |
22 | Number changed | 302 Moved temporarily |
27 | Destination out of order | 404 Not found |
28 | Address incomplete | 484 Address incomplete |
29 | Facility rejected | 501 Not implemented |
31 | Normal unspecified | 404 Not found |
34 | No circuit available | 503 Service unavailable |
38 | Network out of order | |
41 | Temporary failure | |
42 | Switching equipment congestion | |
44 | Requested channel not available | |
47 | Resource unavailable | |
55 | Incoming class barred within CUG | 603 Decline |
57 | Bearer capability not authorized | 501 Not implemented |
58 | Bearer capability not presently available | |
63 | Service or option unavailable | 503 Service unavailable |
65 | Bearer cap not implemented | 501 Not implemented |
79 | Service or option not implemented | |
87 | User not member of CUG | 603 Decline |
88 | Incompatible destination | 400 Bad request |
95 | Invalid message | |
102 | Recover on timer expiry | 408 Request timeout |
111 | Protocol error | 400 Bad request |
127 | Interworking unspecified | 500 Internal server error |
Any code other than those listed above | 500 Internal server error |
Table 6-4 lists the SIP events and the corresponding PSTN cause codes for each.
SIP Event | PSTN Cause Code | Description |
---|---|---|
400 Bad request | 127 | Interworking |
401 Unauthorized | 57 | Bearer cap not authorized |
402 Payment required | 21 | Call rejected |
403 Forbidden | 57 | Bearer cap not authorized |
404 Not found | 1 | Unallocated number |
405 Method not allowed | 127 | Interworking |
406 Not acceptable | ||
407 Proxy authentication required | 21 | Call rejected |
408 Request timeout | 102 | Recover on timer expiry |
409 Conflict | 41 | Temporary failure |
410 Gone | 1 | Unallocated number |
411 Length required | 127 | Interworking |
413 Request entity too long | ||
414 Request URI too long | ||
415 Unsupported media type | 79 | Service or option not available |
420 Bad extension | 127 | Interworking |
480 Temporarily unavailable | 18 | No user response |
481 Call leg does not exist | 127 | Interworking |
482 Loop detected | ||
483 Too many hops | ||
484 Address incomplete | 28 | Address incomplete |
485 Address ambiguous | 1 | Unallocated number |
486 Busy here | 17 | User busy |
500 Internal server error | 41 | Temporary failure |
501 Not implemented | 79 | Service or option not implemented |
502 Bad gateway | 38 | Network out of order |
503 Service unavailable | 63 | Service or option not available |
504 Gateway timeout | 102 | Recover on timer expiry |
505 Version not implemented | 127 | Interworking |
600 Busy everywhere | 17 | User busy |
603 Decline | 21 | Call rejected |
604 Does not exist anywhere | 1 | Unallocated number |
606 Not acceptable | 58 | Bearer cap not presently available |
Posted: Sat Sep 28 19:17:47 PDT 2002
All contents are Copyright © 1992--2002 Cisco Systems, Inc. All rights reserved.
Important Notices and Privacy Statement.