SIP Signaling

This section describes CallManager support for SIP methods and header fields. Chapter 4 provides an overview of CallManager support for SIP trunks.

SIP defines messages into requests and responses. Request messages are named; response messages are numbered. Table C-9 lists the request messages.

Table C-9. SIP Request Messages

Request

Supported by CallManager?

Comments

INVITE

Y

Establishes a session; CallManager originates and receives this message.

ACK

Y

Acknowledges the establishment of a session; CallManager sends and receives this message.

OPTIONS

Y

Queries a User Agent (UA) about its capabilities; CallManager never sends this message but does respond to it.

BYE

Y

Terminates an established session. CallManager sends and receives this message.

CANCEL

Y

Rescinds an INVITE before the session is established.

REGISTER

N

Registers SIP addresses with a registrar. CallManager never sends this message and responds with a 405 Method Not Allowed if it receives it.

PRACK

Y

Acknowledges the receipt of a provisional response (such as 180 Alerting) by the UA; used only when reliable provisional responses are in effect.

UPDATE

Y

Allows session parameters for an unestablished session to be changed. CallManager never sends this message but can accept it.

Response messages are numbered in the range 1xx to 6xx. Each group of a hundred represents a specific class of responses to the requests. Table C-10 lists the message classes and describes CallManager support for specific messages in the class.

Table C-10. SIP Response Messages

Request

Supported by CallManager?

Comments

1xx messages indicate events that occur as a session is being established

100 Trying

Y

Indicates that the Proxy or UA has been able to resolve an address and continue routing. CallManager supports sending and receiving this message.

180 Ringing

Y

Indicates the target UA is ringing. CallManager sends and receives this message.

181 Call Forward

N

CallManager cannot send or receive this message.

182 Call Queued

N

CallManager cannot send or receive this message.

183 Progress

Y

CallManager can receive and send this message.
CallManager may connect media on receipt of this message.

2xx messages confirm the establishment of a session

200 OK

Y

Confirms that a session has been established.

3xx messages indicate that the session being established should be established to or via a different SIP entity

300302, 305, 380

Y

CallManager never sends these messages. When it receives this class of message, CallManager attempts to re-establish the session to the contacts listed in the message.

4xx messages are definitive, final failure responses from the target of the request

4xx

Y

CallManager sends and receives this message. CallManager initiates a call disconnect upon receiving this message.

5xx messages indicate that an unexpected condition was encountered that prevented the establishment of the session

5xx

Y

CallManager sends this message. Upon receiving this message, CallManager issues a new request if the response contains an alternate contact. Otherwise, CallManager ends the call.

6xx messages indicate that the target of the request was busy and cannot accept the incoming call

6xx

Y

CallManager never sends this message. CallManager disconnects the call upon receiving this message.

SIP requests and responses contain header fields. CallManager support for header fields is fairly consistent from message to message.

Table C-11 lists the header fields that CallManager sends in requests it originates.

Table C-11. SIP Response Messages

Header

Appears in Requests

Example with Comments

From

All

From: callerName cgpn@CCM_IP_addr>

callerName is the caller's display name; cgpn is the caller's number; CCM_IP_addr is the IP address of CallManager.

To

All

To: calledName cdpn@destIP;user=phone>

calledName is the name of the call target, if available; cdpn is the number of the called party; destIP is the resolved IP address of the target of the SIP trunk.

Via

All

Via:SIP/2.0 IPaddr:port;branch=number

IPaddr is the IP address of CallManager; port is the port assigned to CallManager's SIP trunk; branch is a unique number that identifies each branch of an outgoing forked call. CallManager SIP trunks don't support forking, which means CallManager issues only a single request with a single branch identifier.

Call-ID

All

Call-ID: number@IPaddr

number is a unique call identifier determined by CallManager; IPaddr is the IP address of CallManager.

Contact

All

Contact: cgpn@IPaddr:localPort;user=phone>

IPAddr is the IP address of CallManager; cgpn is the calling number; localPort is the incoming port assigned to the issuing SIP trunk.

Cseq

All

Cseq: number method

number is a number that increments for each subsequent outgoing request; method is the name of the request (INVITE, ACK, and so on).

Max-Forwards

All

Max-Forwards: number

number indicates the maximum number of times that the message can propagate from call agent to call agent before the request expires. CallManager sets this value to 6 for originated SIP calls.

Remote-Party-Id

INVITE

Remote-Party-Id: calledName cdpn@called_IP_address;user=phone>;party=calling;screen=no;privacy=off

Indicates the display information for the party issuing the response. user indicates the class of responding device; party indicates the role of the responder in the call; screen indicates whether an intermediary entity has validated the display information; privacy indicates whether the information should be displayed to the requestor.

Diversion

INVITE

Diversion: divertingNumber @diverting_IP_address >;reason=no-answer

Indicates the prior history of the call. If the call has been previously diverted, this information must be communicated to the downstream voice mail server. reason indicates the reason for the diversion.

Table C-12 lists the header fields that CallManager sends in responses to requests that it receives.

Table C-12. SIP Response Messages

Header

Appears in Message Classes

Example with Comments

From

All

From: cgpn@CCM_IP_Addr>;tag=16777234

cgpn is the number of the caller; CCM_IP_Addr is the address that issued the request; tag is part of a unique call identifier.

To

All

To: cdpn@destIP>;tag=xxyyzz

cdpn is the number of the responder; destIP is the IP address of the responder; tag is part of a unique call identifier.

Via

All

Via: SIP/2.0/TCP

CCM_IP_Addr:localPort;received=CCM_IP_Addr; branch=z9hG4bKfe8d27ec

The Via chainthis header often occurs multiple times in a SIP requestindicates the path that the request took. branch is a unique identifier that indicates which fork of a branching call is issuing the response.

Contact

All

Contact: cdpn@destIP:calledPort>

The Contact represents the address of the specific entity that is responding to the message.

Remote-Party-Id

18X

2XX

Remote-Party-Id: calledName cdpn@destIP;user=phone>;party=called; screen=no;privacy=off

Indicates the display information for the party issuing the response. user indicates the class of the responding device; party indicates the role of the responder in the call; screen indicates whether an intermediary entity has validated the display information; privacy indicates whether the information should be displayed to the requestor.






Cisco CallManager Fundamentals
Cisco CallManager Fundamentals (2nd Edition)
ISBN: 1587051923
EAN: 2147483647
Year: 2004
Pages: 141
Simiral book on Amazon

Flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net