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.
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:
|
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.
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:
|
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.
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:
|
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 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