Monday, March 30, 2015

Basic SIP Call Flows & Troubleshooting Commands


Basic SIP Call Flows & Troubleshooting Commands


Introduction


This document explains the basic SIP Call flow between the PBX, Gateways and SIP Phones in detail. Idea of creating this document is to help the beginners to understand the Various SIP Call flows and messages. Also this document covers the SIP Troubleshooting commands.


Prerequisites

  • Basic knowledge about the SIP Protocol and the call flow Messages.

Call Flow Examples


1. Call Flow between PBX to Cisco SIP IP Phone—Successful Setup and Disconnect


Below diagram illustrates a successful gateway-to-Cisco SIP IP phone call setup and disconnect. In this scenario, the two end users are User A and User B. User A is located at PBX A. PBX A is connected to Gateway 1 (SIP Gateway) via a T1/E1. User B is located at a Cisco SIP IP phone. Gateway 1 is connected to the Cisco SIP IP phone over an IP network.
The call flow is as follows:
1. User A calls User B.
2. User B answers the call.
3. User B disconnects the call.



callflowsip-new.bmp



Step
Action
Description
1.
Setup—PBX A to Gateway 1
Call Setup is initiated between PBX A and Gateway 1. The Call Setup includes the standard transactions that take place as User A attempts to call User B.
2.
INVITE—Gateway 1 to Cisco SIP IP phone
Gateway 1 maps the SIP URL phone number to a dial peer. The dial peer includes the IP address and the port number of the SIP-enabled entity to contact. Gateway 1 sends a SIP INVITE request to the address it receives as the dial peer, which, in this scenario, is the Cisco SIP IP phone.
In the INVITE request:
  • The IP address of the Cisco SIP IP phone is inserted in the Request-URI field.
  • PBX A is identified as the call session initiator in the From field.
  • A unique numeric identifier is assigned to the call and is inserted in the Call-ID field.
  • The transaction number within a single call leg is identified in the CSeq field.
  • The media capability User A is ready to receive is specified.
  • The port on which the Gateway is prepared to receive the RTP data is specified.
3.
Call Proceeding—Gateway 1 to PBX A
Gateway 1 sends a Call Proceeding message to PBX A to acknowledge the Call Setup request.
4.
100 Trying—Cisco SIP IP phone to Gateway 1
The Cisco SIP IP phone sends a SIP 100 Trying response to Gateway 1. The 100 Trying response indicates that the INVITE request has been received by the Cisco SIP IP phone.
5.
180 Ringing—Cisco SIP IP phone to Gateway 1
The Cisco SIP IP phone sends a SIP 180 Ringing response to Gateway 1. The 180 Ringing response indicates that the user is being alerted.
6.
Alerting—Gateway 1 to PBX A
Gateway 1 sends an Alert message to User A. The Alert message indicates that Gateway 1 has received a 180 Ringing response from the Cisco SIP IP phone. User A hears the ringback tone that indicates that User B is being alerted.
7.
200 OK—Cisco SIP IP phone to Gateway 1
The Cisco SIP IP phone sends a SIP 200 OK response to Gateway 1. The 200 OK response notifies Gateway 1 that the connection has been made.
8.
Connect—Gateway 1 to PBX A
Gateway 1 sends a Connect message to PBX A. The Connect message notifies PBX A that the connection has been made.
9.
Connect ACK—PBX A to Gateway 1
PBX A acknowledges Gateway 1's Connect message.
10.
ACK—Gateway 1 to Cisco SIP IP phone
Gateway 1 sends a SIP ACK to the Cisco SIP IP phone. The ACK confirms that Gateway 1 has received the 200 OK response. The call session is now active.
11.
BYE—Cisco SIP IP phone to Gateway 1
User B terminates the call session at his Cisco SIP IP phone and the phone sends a SIP BYE request to Gateway 1. The BYE request indicates that User B wants to release the call.
12.
Disconnect—Gateway 1 to PBX A
Gateway 1 sends a Disconnect message to PBX A.
13.
Release—PBX A to Gateway 1
PBX A sends a Release message to Gateway 1.
14.
200 OK—Gateway 1 to Cisco SIP IP phone
Gateway 1 sends a SIP 200 OK response to the Cisco SIP IP phone. The 200 OK response notifies the phone that Gateway 1 has received the BYE request.
15.
Release Complete—Gateway 1 to PBX A
Gateway 1 sends a Release Complete message to PBX A and the call session is terminated.


2. Call flow between Gateway-to-Cisco SIP IP Phone Call—Successful Call Setup and Call Hold


Below diagram illustrates a successful gateway-to-Cisco SIP IP phone call setup and call hold. In this scenario, the two end users are User A and User B. User A is located at PBX A. PBX A is connected to Gateway 1 (SIP Gateway) via a T1/E1. User B is located at a Cisco SIP IP phone. Gateway 1 is connected to the Cisco SIP IP phone over an IP network.
The call flow is as follows:
1. User A calls User B.
2. User B answers the call.
3. User B puts User A on hold.
4. User B takes User A off hold.

callflowsip-new2.bmp

Step
Action
Description
1.
Setup—PBX A to Gateway 1
Call setup is initiated between PBX A and Gateway 1. The call setup includes the standard transactions that take place as User A attempts to call User B.
2.
INVITE—Gateway 1 to Cisco SIP IP phone
Gateway 1 maps the SIP URL phone number to a dial peer. The dial peer includes the IP address and the port number of the SIP enabled entity to contact. Gateway 1 sends a SIP INVITE request to the address it receives as the dial peer, which, in this scenario, is the Cisco SIP IP phone.
In the INVITE request:
  • The IP address of the Cisco SIP IP phone is inserted in the Request-URI field.
  • PBX A is identified as the call session initiator in the From field.
  • A unique numeric identifier is assigned to the call and is inserted in the Call-ID field.
  • The transaction number within a single call leg is identified in the CSeq field.
  • The media capability User A is ready to receive is specified.
  • The port on which the gateway is prepared to receive the RTP data is specified.
3.
Call Proceeding—Gateway 1 to PBX A
Gateway 1 sends a Call Proceeding message to PBX A to acknowledge the Call Setup request.
4.
100 Trying—Cisco SIP IP phone to Gateway 1
The Cisco SIP IP phone sends a SIP 100 Trying response to Gateway 1. The 100 Trying response indicates that the INVITE request has been received by the Cisco SIP IP phone.
5.
180 Ringing—Cisco SIP IP phone to Gateway 1
The Cisco SIP IP phone sends a SIP 180 Ringing response to Gateway 1. The 180 Ringing response indicates that the user is being alerted.
6.
Alerting—Gateway 1 to PBX A
Gateway 1 sends an Alert message to User A. The Alert message indicates that Gateway 1 has received a 180 Ringing response from the Cisco SIP IP phone. User A hears the ringback tone that indicates that User B is being alerted.
7.
200 OK—Cisco SIP IP phone to Gateway 1
The Cisco SIP IP phone sends a SIP 200 OK response to Gateway 1. The 200 OK response notifies Gateway 1 that the connection has been made.
8.
Connect—Gateway 1 to PBX A
Gateway 1 sends a Connect message to PBX A. The Connect message notifies PBX A that the connection has been made.
9.
ACK—Gateway 1 to Cisco SIP IP phone
Gateway 1 sends a SIP ACK to the Cisco SIP IP phone. The ACK confirms that User A has received the 200 OK response. The call session is now active.
10.
Connect ACK—PBX A to Gateway 1
PBX A acknowledges Gateway 1's Connect message.
11.
INVITE—Cisco SIP IP phone to Gateway 1
User B puts User A on hold. The Cisco SIP IP phone sends a SIP INVITE request to Gateway 1.
12.
200 OK—Gateway 1 to Cisco SIP IP phone
Gateway 1 sends a SIP 200 OK response to the Cisco SIP IP phone. The 200 OK response notifies the Cisco SIP IP phone that the INVITE was successfully processed.
13.
ACK—Cisco SIP IP phone to Gateway 1
The Cisco SIP IP phone sends a SIP ACK to Gateway 1. The ACK confirms that the Cisco SIP IP phone has received the 200 OK response. The call session is now temporarily inactive. No RTP packets are being sent.
14.
INVITE—Cisco SIP IP phone to Gateway 1
User B takes User A off hold. The Cisco SIP IP phone sends a SIP INVITE request to Gateway 1.
15.
200 OK—Gateway 1 to Cisco SIP IP phone
Gateway 1 sends a SIP 200 OK response to the Cisco SIP IP phone. The 200 OK response notifies the Cisco SIP IP phone that the INVITE was successfully processed.
16.
ACK—Cisco SIP IP phone to Gateway 1
The Cisco SIP IP phone sends a SIP ACK to Gateway 1. The ACK confirms that the Cisco SIP IP phone has received the 200 OK response. The call session is now active.


3. Call flow between Cisco SIP IP Phone-to-Cisco SIP IP Phone Simple Call Hold


Below diagram illustrates a successful call between Cisco SIP IP phones in which one of the participants places the other on hold and then returns to the call. In this call flow scenario, the two end users are User A and User B. User A and User B are both using Cisco SIP IP phones, which are connected via an IP network.
The call flow scenario is as follows:
1. User A calls User B.
2. User B answers the call.
3. User B places User A on hold.
4. User B takes User A off hold.
5. The call continues.

callflowsip-new3.bmp

Step
Action
Description
1.
INVITE—Cisco SIP IP phone A to Cisco SIP IP phone B
Cisco SIP IP phone A sends a SIP INVITE request to Cisco SIP IP phone B. The INVITE request is an invitation to User B to participate in a call session.
In the INVITE request:
  • The phone number of User B is inserted in the Request-URI field in the form of a SIP URL. The SIP URL identifies the address of User B and takes a form similar to an e-mail address (user@host, where user is the telephone number and host is either a domain name or a numeric network address). For example, the Request-URI field in the INVITE request to User B appears as "INVITE sip:555-0002@companyb.com; user=phone." The "user=phone" parameter distinquishes that the Request-URI address is a telephone number rather than a username.
  • Cisco SIP IP phone A is identified as the call session initiator in the From field.
  • A unique numeric identifier is assigned to the call and is inserted in the Call-ID field.
  • The transaction number within a single call leg is identified in the CSeq field.
  • The media capability User A is ready to receive is specified.
2.
180 Ringing—Cisco SIP IP phone B to Cisco SIP IP phone A
Cisco SIP IP phone B sends a SIP 180 Ringing response to Cisco SIP IP phone A.
3.
200 OK—Cisco SIP IP phone B to Cisco SIP IP phone A
Cisco SIP IP phone B sends a SIP 200 OK response to Cisco SIP IP phone A. The 200 OK response notifies Cisco SIP IP phone A that the connection has been made.
If Cisco SIP IP phone B supports the media capability advertised in the INVITE message sent by Cisco SIP IP phone A, it advertises the intersection of its own and Cisco SIP IP phone A's media capability in the 200 OK response. If Cisco SIP IP phone B does not support the media capability advertised by Cisco SIP IP phone A, it sends back a 400 Bad Request response with a 304 Warning header field.
4.
ACK—Cisco SIP IP phone A to Cisco SIP IP phone B
Cisco SIP IP phone A sends a SIP ACK to Cisco SIP IP phone B. The ACK confirms that Cisco SIP IP phone A has received the 200 OK response from Cisco SIP IP phone B.
The ACK might contain a message body with the final session description to be used by Cisco SIP IP phone B. If the message body of the ACK is empty, Cisco SIP IP phone B uses the session description in the INVITE request.
A two-way RTP channel is established between Cisco SIP IP phone A and Cisco SIP IP phone B.
5.
INVITE—Cisco SIP IP phone B to Cisco SIP IP phone A
Cisco SIP IP phone B sends a mid-call INVITE to Cisco SIP IP phone A with new Session Description Protocol (SDP) session parameters (IP address), which are used to place the call on hold.
Call_ID=1
SDP: c=IN IP4 0.0.0.0

The c= SDP field of the SIP INVITE contains an 0.0.0.0. This places the call in hold.
6.
200 OK—Cisco SIP IP phone A to Cisco SIP IP phone B
Cisco SIP IP phone A sends a SIP 200 OK response to Cisco SIP IP phone B.
7.
ACK—Cisco SIP IP phone B to Cisco SIP IP phone A
Cisco SIP IP phone B sends a SIP ACK to Cisco SIP IP phone A. The ACK confirms that Cisco SIP IP phone B has received the 200 OK response from Cisco SIP IP phone A.
The RTP channel between Cisco SIP IP phone A and Cisco SIP IP phone B is torn down.
8.
INVITE—Cisco SIP IP phone B to Cisco SIP IP phone A
Cisco SIP IP phone B sends a mid-call INVITE to Cisco SIP IP phone A with the same call ID as the previous INVITE and new SDP session parameters (IP address), which are used to reestablish the call.
Call_ID=1
SDP: c=IN IP4 181.23.250.2

To reestablish the call between phone A and phone B, the IP address of phone B is inserted into the c= SDP field.
9.
200 OK—Cisco SIP IP phone A to Cisco SIP IP phone B
Cisco SIP IP phone A sends a SIP 200 OK response to Cisco SIP IP phone B.
10.
ACK—Cisco SIP IP phone B to Cisco SIP IP phone A
Cisco SIP IP phone B sends a SIP ACK to Cisco SIP IP phone A. The ACK confirms that Cisco SIP IP phone B has received the 200 OK response from Cisco SIP IP phone A.
A two-way RTP channel is reestablished between IP phone A and IP phone B.

Defining SIP Port in Cisco Unified Communications Manager

sip-1.bmp

SIP Troubleshooting



  • On Unified Communications Manager use RTMT to check SIP traces in UC Manager
  • "debug ccsip calls"
  • "debug ccsip all"
  • "debug ccsip error"
  • "debug ccsip events"
  • "debug ccsip messages"
  • "debug ccsip states"
  • "show sip-ua call"
    - Displays active UAC and user agent server (UAS) information on sip calls
  • " show call active voice brief"
    - Displays active call information for voice calls or fax transmission in progress

  • Check MTP configuration
    - MTP is required for Early offer
    - MTP is required on older UC Manager versions to provide supplementary services
  • Check layer 2/3 variables

Understanding SIP Traces


More details on the SIP Trace is:



No comments:

Post a Comment