08-29-2011 12:41 AM - edited 03-12-2019 09:40 AM
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.
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. |
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. |
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
More details on the SIP Trace is:
https://supportforums.cisco.com/docs/DOC-27105
Nice doc :)
Great work
Hello Marwan
Thanks. Pl visit for more updates in this topic. Also if you are looking for any specific info/doc in this topic pls get back to us so that it will be helpful to all users.
Regards
Lavanya
Technical Community Manager-Voice
Thanks its informative.
Regards,
Murali Shankar.E
Lavanya , Excellent work as always ,
you are a great contributer to this support community.
Kind Regards
Pramoth
Thank you all for your support and encouragement.
Regards
Lavanya
Super helpful, you helped me out to have a bettter perception and understanding about SIP, I have never worked with SIP before until now so...you can imagine my position... to give you an idea it is like if you are talking in other language...
In a few words thank you, very helful, kudos! :)
Willing to recommend!
good document, thanks for sharing
from cisco document:
http://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cuipph/7960g_7940g/sip/7_5/english/administration/guide/ver7_5/sipaxb75.html
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: