Guide to Cisco Systems' VoIP Infrastructure Solution for SIP
Chap 6: SIP Messages and Compliance Information for Cisco VoIP Infrastructure Solution for SIP

Table of Contents

SIP Messages and Compliance Information for the Cisco VoIP Infrastructure Solution for SIP

SIP Messages and Compliance Information for the Cisco VoIP Infrastructure Solution for SIP

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:

SIP Messages and Methods

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:

  • A start line

  • One or more header fields

  • An empty line

  • A message body (optional)

Each line must end with a carriage return-line feed (CRLF).

Requests

SIP uses six types (methods) of requests:

  • INVITE—Indicates a user or service is being invited to participate in a call session.

  • ACK—Confirms that the client has received a final response to an INVITE request.

  • BYE—Terminates a call and can be sent by either the caller or the callee.

  • CANCEL—Cancels any pending searches but does not terminate a call that currently in progress.

  • OPTIONS—Queries the capabilities of servers.

  • REGISTER—Registers the address listed in the To header field with a SIP server. Gateways do not support the REGISTER method.

Responses

In response to requests, SIP uses the following categories of responses:

  • 1xx Informational Messages

  • 2xx Successful Responses

  • 3xx Redirection Responses

  • 4xx Request Failure Responses

  • 5xx Server Failure Responses

  • 6xx General Failure Responses

The Registration Process

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.

The Invitation Process

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.

SIP Compliance Information

Table 6-1 lists the SIP requests and describes the support provided by each component.


Table 6-1: Support for SIP Requests
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.

1The Cisco SIP Proxy Server can generate a local ACK for a non-200 OK final response to an INVITE request.
2The Cisco SIP Proxy Server can generate a local CANCEL for a pending branch when it receives a 200 OK or 6xx response from the branch.

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.


Table 6-2:
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.

Handling of SIP Responses

PSTN Cause Code and SIP Event Mappings

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.


Table 6-3: PSTN Cause Code to SIP Event Mappings
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.


Table 6-4: SIP Event to PSTN Cause Code Mapping
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