Table of Contents
SIP Call-Flow Process for the Cisco VoIP Infrastructure Solution for SIP
Call Flow Scenarios for Successful Calls
Call Flow Scenarios for Failed Calls
SIP Call-Flow Process for the Cisco VoIP Infrastructure Solution for SIP
This chapter describes the flow of these messages in the Cisco VoIP Infrastructure Solution for SIP. It includes the following sections:
Call Flow Scenarios for Successful Calls
This section describes call flows for the following scenarios, which illustrate successful calls:
SIP Gateway-to-SIP GatewayCall Setup and Disconnect
Figure 7-1 illustrates a successful gateway-to-gateway call setup and disconnect. In this call flow scenario, the two end users are User A and User B. User A is located at PBX A. PBX A is connected to SIP gateway 1 via a T1/E1. User B is located at PBX B. PBX B is connected to SIP gateway 2 via a T1/E1. User B's phone number is 555-0002. SIP gateway 1 is connected to SIP gateway 2 over 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 hangs up.
Figure 7-1 SIP Gateway-to-SIP GatewayCall Setup and Disconnec
t

| Step |
Action |
Description |
|
1
|
SetupPBX A to SIP gateway 1
|
Call Setup is initiated between PBX A and SIP gateway 1. The Call Setup includes the standard transactions that take place as User A attempts to call User B.
|
|
2
|
INVITESIP gateway 1 to SIP gateway 2
|
SIP gateway 1 sends an INVITE request to SIP gateway 2. 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 email 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 indicates that the Request-URI address is a telephone number rather than a user name.
- 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 SIP gateway 1 is prepared to receive the RTP data is specified.
|
|
3
|
Call ProceedingSIP gateway 1 to PBX A
|
SIP gateway 1 sends a Call Proceeding message to PBX A to acknowledge the Call Setup request.
|
|
4
|
SetupSIP gateway 2 to PBX B
|
SIP gateway 2 receives the INVITE request from SIP gateway 1 and initiates a Call Setup with User B via PBX B.
|
|
5
|
100 TryingSIP gateway 2 to SIP gateway 1
|
SIP gateway 2 sends a 100 Trying response to the INVITE request sent by SIP gateway 1. The 100 Trying response indicates that the INVITE request has been received by SIP gateway 2 but that User B has not yet been located and that some unspecified action, such as a database consultation, is taking place.
|
|
6
|
Call ProceedingPBX B to SIP gateway 2
|
PBX B sends a Call Proceeding message to SIP gateway 2 to acknowledge the Call Setup request.
|
|
7
|
AlertingPBX B to SIP gateway 2
|
PBX B locates User B and sends an Alert message to SIP gateway 2. User B's phone begins ringing.
|
|
8
|
180 RingingSIP gateway 2 to SIP gateway 1
|
SIP gateway 2 sends a 180 Ringing response to SIP gateway 1. The 180 Ringing response indicates that SIP gateway 2 has located, and is trying to alert, User B.
|
|
9
|
AlertingSIP gateway 1 to PBX A
|
SIP gateway 1 sends an Alert message to User A via PBX A. The Alert message indicates that SIP gateway 1 has received a 180 Ringing response from SIP gateway 2. User A hears the ringback tone that indicates that User B is being alerted.
|
|
At this point, a one-way voice path is established between SIP gateway 1 and PBX A and between SIP gateway 2 and PBX B. A two-way RTP channel is established between SIP gateway 1 and SIP gateway 2.
|
|
10
|
ConnectPBX B to SIP gateway 2
|
User B answers phone. PBX B sends a Connect message to SIP gateway 2. The Connect message notifies SIP gateway 2 that the connection has been made.
|
|
11
|
200 OKSIP gateway 2 to SIP gateway 1
|
SIP gateway 2 sends a 200 OK response to SIP gateway 1. The 200 OK response notifies SIP gateway 1 that the connection has been made.
If User B supports the media capability advertised in the INVITE message sent by SIP gateway 1, it advertises the intersection of its own and User A's media capability in the 200 OK response. If User B does not support the media capability advertised by User A, it sends back a 400 Bad Request response with a 304 Warning header field.
|
|
12
|
ConnectSIP gateway 1 to PBX A
|
SIP gateway 1 sends a Connect message to PBX A. The Connect message notifies PBX A that the connection has been made.
|
|
13
|
Connect ACKPBX A to SIP gateway 1
|
PBX A acknowledges SIP gateway 1's Connect message.
|
|
14
|
ACKSIP gateway 1 to SIP gateway 2
|
SIP gateway 1 sends an ACK to SIP gateway 2. The ACK confirms that SIP gateway 1 has received the 200 OK response from SIP gateway 2.
|
|
15
|
Connect ACKSIP gateway 2 to PBX B
|
SIP gateway 2 acknowledges PBX B's Connect message.
The call session is now active over a two-way voice path via Real-time Transport Protocol (RTP).
|
|
At this point, a two-way voice path is established between SIP gateway 1 and PBX A and between SIP gateway 2 and PBX B. A two-way RTP channel is established between SIP gateway 1 and SIP gateway 2.
|
|
16
|
DisconnectPBX B to SIP gateway 2
|
Once User B hangs up, PBX B sends a Disconnect message to SIP gateway 2. The Disconnect message starts the call session termination process.
|
|
17
|
BYESIP gateway 2 to SIP gateway 1
|
SIP gateway 2 sends a BYE request to SIP gateway 1. The BYE request indicates that User B wants to release the call. Because it is User B that wants to terminate the call, the Request-URI field is now replaced with PBX A's SIP URL and the From field contains User B's SIP URL. The cseq value is incremented by one.
|
|
18
|
ReleaseSIP gateway 2 to PBX B
|
SIP gateway 2 sends a Release message to PBX B.
|
|
19
|
DisconnectSIP gateway 1 to PBX A
|
SIP gateway 1 sends a Disconnect message to PBX A.
|
|
20
|
ReleasePBX A to SIP gateway 1
|
PBX A sends a Disconnect message to SIP gateway 1.
|
|
21
|
200 OKSIP gateway 1 to SIP gateway 2
|
SIP gateway 1 sends a 200 OK response to SIP gateway 2. The 200 OK response notifies SIP gateway 2 that SIP gateway 1 has received the BYE request.
|
|
22
|
Release CompletePBX B to SIP gateway 2
|
PBX B sends a Release Complete message to SIP gateway 2.
|
|
23
|
Release CompleteSIP gateway 1 to PBX A
|
SIP gateway 1 sends a Release Complete message to PBX A and the session is terminated.
|
SIP Gateway-to-SIP GatewayCall via SIP Redirect Server
Figure 7-2 illustrates a successful gateway-to-gateway call setup and disconnect via a SIP redirect server. In this scenario, the two end users are identified as User A and User B. User A is located at PBX A. PBX A is connected to SIP gateway 1 via a T1/E1. SIP gateway 1 is using a SIP redirect server. User B is located at PBX B. PBX B is connected to SIP gateway 2 via a T1/E1. User B's phone number is 555-0002. SIP gateway 1 is connected to SIP gateway 2 over an IP network.
The call flow scenario is as follows:
1. User A calls User B via SIP gateway 1 using a SIP redirect server.
2. User B answers the call.
3. User B hangs up.
Figure 7-2 SIP Gateway-to-SIP GatewayCall via SIP Redirect Server

| Step |
Action |
Description |
|
1
|
SetupPBX A to SIP gateway 1
|
Call Setup is initiated between PBX A and SIP gateway 1. The Call Setup includes the standard transactions that take place as User A attempts to call User B.
|
|
2
|
INVITESIP gateway 1 to SIP redirect server
|
SIP gateway 1 sends an INVITE request to the SIP redirect server. 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 email 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 user name.
- 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 SIP gateway 1 is prepared to receive the RTP data is specified.
|
|
3
|
300 Multiple ChoiceSIP redirect server to SIP gateway 1
|
The SIP redirect server sends a 300 Multiple Choice response to SIP gateway 1. The 300 Multiple Choice response indicates that the SIP redirect server accepted the INVITE request, contacted a location server with all or part of User B's SIP URL, and the location server provided a list of alternative locations where User B might be located. The SIP redirect server returns these possible addresses to SIP gateway 1 in the 300 Multiple Choice response.
|
|
4
|
ACKSIP gateway 1 to SIP redirect server
|
SIP gateway 1 acknowledges the 300 Multiple Choice response with an ACK.
|
|
5
|
INVITESIP gateway 1 to SIP gateway 2
|
SIP gateway 1 sends a new INVITE request to SIP gateway 2. The new INVITE request includes the first contact listed in the 300 Multiple Choice response as the new address for User B, a higher transaction number in the CSeq field, and the same Call-ID as the first INVITE request.
|
|
6
|
SetupSIP gateway 2 to PBX B
|
SIP gateway 2 receives the INVITE request from SIP gateway 1 and initiates a Call Setup with User B via PBX B.
|
|
7
|
Call ProceedingSIP gateway 1 to PBX A
|
SIP gateway 1 sends a Call Proceeding message to PBX A to acknowledge the Call Setup request.
|
|
8
|
100 TryingSIP gateway 2 to SIP gateway 1
|
SIP gateway 2 sends a 100 Trying response to the INVITE request sent by SIP gateway 1. The 100 Trying response indicates that the INVITE request has been received by SIP gateway 2 but that User B has not yet been located.
|
|
9
|
Call ProceedingPBX B to SIP gateway 2
|
PBX B sends a Call Proceeding message to SIP gateway 2 to acknowledge the Call Setup request.
|
|
10
|
AlertingPBX B to SIP gateway 2
|
PBX B locates User B and sends an Alert message to SIP gateway 2. User B's phone begins to ring.
|
|
11
|
180 RingingSIP gateway 2 to SIP gateway 1
|
SIP gateway 2 sends a 180 Ringing response to SIP gateway 1. The 180 Ringing response indicates that SIP gateway 2 has located, and is trying to alert, User B.
|
|
12
|
AlertingSIP gateway 1 to PBX A
|
SIP gateway 1 sends an Alert message to PBX A. User A hears ringback tone.
|
|
At this point, a one-way voice path is established between SIP gateway 1 and PBXA and between SIP gateway 2 and PBX B. A two-way RTP channel is established between SIP gateway 1 and SIP gateway 2.
|
|
13
|
ConnectPBX B to SIP gateway 2
|
User B answers phone. PBX B sends a Connect message to SIP gateway 2. The Connect message notifies SIP gateway 2 that the connection has been made.
|
|
14
|
200 OKSIP gateway 2 to SIP gateway 1
|
SIP gateway 2 sends a 200 OK response to SIP gateway 1. The 200 OK response notifies SIP gateway 1 that the connection has been made.
If User B supports the media capability advertised in the INVITE message sent by SIP gateway 1, it advertises the intersection of its own and User A's media capability in the 200 OK response. If User B does not support the media capability advertised by User A, it sends back a 400 Bad Request response with a 304 Warning header field.
|
|
15
|
ConnectSIP gateway 1 to PBX A
|
SIP gateway 1 sends a Connect message to PBX A. The Connect message notifies PBX A that the connection has been made.
|
|
16
|
Connect ACKPBX A to SIP gateway 1
|
PBX A acknowledges SIP gateway 1's Connect message.
|
|
17
|
ACKSIP gateway 1 to SIP gateway 2
|
SIP gateway 1 sends an ACK to SIP gateway 2. The ACK confirms that the 200 OK response has been received.
The call is now in progress over a two-way voice path via RTP.
|
|
18
|
Connect ACKSIP gateway 2 to PBX B
|
SIP gateway 2 acknowledges PBX B's Connect message.
|
|
At this point, a two-way voice path is established between SIP gateway 1 and PBX A and between SIP gateway 2 and PBX B. A two-way RTP channel is established between SIP gateway 1 and SIP gateway 2.
|
|
19
|
DisconnectPBX B to SIP gateway 2
|
Once User B hangs up, PBX B sends a Disconnect message to SIP gateway 2. The Disconnect message starts the call session termination process.
|
|
20
|
BYESIP gateway 2 to SIP gateway 1
|
SIP gateway 2 sends a BYE request to SIP gateway 1. The BYE request indicates that User B wants to release the call. Because it is User B that wants to terminate the call, the Request-URI field is now replaced with PBX A's SIP URL and the From field contains User B's SIP URL.
|
|
21
|
DisconnectSIP gateway 1 to PBX A
|
SIP gateway 1 sends a Disconnect message to PBX A.
|
|
22
|
ReleaseSIP gateway 2 to PBX B
|
SIP gateway 2 sends a Release message to PBX B.
|
|
23
|
ReleasePBX A to SIP gateway 1
|
PBX A sends a Release message to SIP gateway 1.
|
|
24
|
200 OKSIP gateway 1 to SIP gateway 2
|
SIP gateway 1 sends a 200 OK response to SIP gateway 2. The 200 OK response notifies SIP gateway 2 that SIP gateway 1 has received the BYE request.
|
|
25
|
Release CompletePBX B to SIP gateway 2
|
PBX B sends a Release Complete message to SIP gateway 2.
|
|
26
|
Release CompleteSIP gateway 1 to PBX A
|
SIP gateway 1 sends a Release Complete message to PBX A and the session is terminated.
|
SIP Gateway-to-SIP GatewayCall via SIP Proxy Server
Figure 7-3 and Figure 7-4 illustrate a successful gateway-to-gateway call setup and disconnect via a proxy server. In these scenarios, the two end users are User A and User B. User A is located at PBX A. PBX A is connected to SIP gateway 1 via a T1/E1. SIP gateway 1 is using a proxy server. SIP gateway 1 is connected to SIP gateway 2 over an IP network. User B is located at PBX B. PBX B is connected to SIP gateway 2 (a SIP gateway) via a T1/E1. User B's phone number is 555-0002.
In the scenario illustrated by Figure 7-3, the record route feature is enabled on the proxy server. In the scenario illustrated by Figure 7-4, record route is disabled on the proxy server.
When record route is enabled, the proxy server adds the Record-Route header to the SIP messages to ensure that it is in the path of subsequent SIP requests for the same call leg. The Record-Route field contains a globally reachable Request-URI that identifies the proxy server. When record route is enabled, each proxy server adds its Request-URI to the beginning of the list.
When record route is disabled, SIP messages flow directly through the SIP gateways once a call has been established.
The call flow is as follows:
1. User A calls User B via SIP gateway 1 using a proxy server.
2. User B answers the call.
3. User B hangs up.
Figure 7-3 SIP Gateway-to-SIP GatewayCall via SIP Proxy Server with Record Route Enabled

| Step |
Action |
Description |
|
1
|
SetupPBX A to SIP gateway 1
|
Call Setup is initiated between PBX A and SIP gateway 1. The Call Setup includes the standard transactions that take place as User A attempts to call User B.
|
|
2
|
INVITESIP gateway 1 to proxy server
|
SIP gateway 1 sends an INVITE request to the SIP proxy server. 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 email 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 user name.
- 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 SIP gateway 1 is prepared to receive the RTP data is specified.
|
|
3
|
Call ProceedingSIP gateway 1 to PBX A
|
SIP gateway 1 sends a Call Proceeding message to PBX A to acknowledge the Call Setup request.
|
|
4
|
INVITESIP proxy server to SIP gateway 2
|
The SIP proxy server checks whether its own address is contained in the Via field (to prevent loops), directly copies the To, From, Call-ID, and Contact fields from the request it received from SIP gateway 1, changes the Request-URI to indicate the server to which it intends to send the INVITE request, and then sends a new INVITE request to SIP gateway 2.
|
|
5
|
100 TryingSIP proxy server to SIP gateway 1
|
The SIP proxy server sends a 100 Trying response to SIP gateway 1.
|
|
6
|
SetupSIP gateway 2 to PBX B
|
SIP gateway 2 receives the INVITE request from the SIP proxy server and initiates a Call Setup with User B via PBX B.
|
|
7
|
100 TryingSIP gateway 2 to SIP proxy server
|
SIP gateway 2 sends a 100 Trying response to the SIP proxy server. The SIP proxy server might or might not forward the 100 Trying response to SIP gateway 1.
|
|
8
|
Call ProceedingPBX B to SIP gateway 2
|
PBX B sends a Call Proceeding message to SIP gateway 2 to acknowledge the Call Setup request.
|
|
9
|
AlertingPBX B to SIP gateway 2
|
PBX B locates User B and sends an Alert message to SIP gateway 2. User B's phone begins to ring.
|
|
10
|
180 RingingSIP gateway 2 to SIP proxy server
|
SIP gateway 2 sends a 180 Ringing response to the SIP proxy server.
|
|
11
|
180 RingingSIP proxy server to SIP gateway 1
|
The SIP proxy server forwards the 180 Ringing response to SIP gateway 1.
|
|
12
|
AlertingSIP gateway 1 to PBX A
|
SIP gateway 1 sends an Alert message to User A via PBX A. The Alert message indicates that SIP gateway 1 has received a 180 Ringing response. User A hears the ringback tone that indicates that User B is being alerted.
|
|
At this point, a one-way voice path is established between SIP gateway 1 and PBX A and between SIP gateway 2 and PBX B. A two-way RTP channel is established between SIP gateway 1 and SIP gateway 2.
|
|
13
|
ConnectPBX B to SIP gateway 2
|
User B answers the phone. PBX B sends a Connect message to SIP gateway 2. The connect message notifies SIP gateway 2 that the connection has been made.
|
|
14
|
200 OKSIP gateway 2 to SIP proxy server
|
SIP gateway 2 sends a 200 OK response (including the Record-Route header received in the INVITE) to the SIP proxy server. The 200 OK response notifies the SIP proxy server that the connection has been made.
If User B supports the media capability advertised in the INVITE message sent by the SIP proxy server, it advertises the intersection of its own and User A's media capability in the 200 OK response. If User B does not support the media capability advertised by User A, it sends back a 400 Bad Request response with a 304 Warning header field.
The SIP proxy server must forward 200 OK responses upstream.
|
|
15
|
200 OKSIP proxy server to SIP gateway 1
|
The SIP proxy server forwards the 200 OK response that it received from SIP gateway 2 to SIP gateway 1. In the 200 OK response, the SIP proxy server forwards the Record-Route header to ensure that it is in the path of subsequent SIP requests for the same call leg. In the Record-Route field, the SIP proxy server adds its Request-URI.
|
|
16
|
ConnectSIP gateway 1 to PBX A
|
SIP gateway 1 sends a Connect message to PBX A. The Connect message notifies PBX A that the connection has been made.
|
|
17
|
Connect ACKPBX A to SIP gateway 1
|
PBX A acknowledges SIP gateway 1's Connect message.
|
|
18
|
ACKSIP gateway 1 to SIP proxy server
|
SIP gateway 1 sends an ACK to the SIP proxy server. The ACK confirms that SIP gateway 1 has received the 200 OK response from the SIP proxy server.
|
|
19
|
ACKSIP proxy server to SIP gateway 2
|
Depending on the values in the To, From, CSeq, and Call-ID field, the SIP proxy server might process the ACK locally or proxy it. If the fields in the ACK match those in previous requests processed by the SIP proxy server, the server proxies the ACK. If there is no match, the ACK is proxied as if it were an INVITE request.
The SIP proxy server forwards SIP gateway 1's ACK response to SIP gateway 2.
|
|
20
|
Connect ACKSIP gateway 2 to PBX B
|
SIP gateway 2 acknowledges PBX B's Connect message. The call session is now active.
The 2-way voice path is established directly between SIP gateway 1 and SIP gateway 2; not via the SIP proxy server.
|
|
At this point, a two-way voice path is established between SIP gateway 1 and PBX A and between SIP gateway 2 and PBX B. A two-way RTP channel is established between SIP gateway 1 and SIP gateway 2.
|
|
21
|
DisconnectPBX B to SIP gateway 2
|
After the call is completed, PBX B sends a Disconnect message to SIP gateway 2. The Disconnect message starts the call session termination process.
|
|
22
|
BYESIP gateway 2 to SIP proxy server
|
SIP gateway 2 sends a BYE request to the SIP proxy server. The BYE request indicates that User B wants to release the call. Because it is User B that wants to terminate the call, the Request-URI field is now replaced with PBX A's SIP URL and the From field contains User B's SIP URL.
|
|
23
|
BYESIP proxy server to SIP gateway 1
|
The SIP proxy server forwards the BYE request to SIP gateway 1.
|
|
24
|
DisconnectSIP gateway 1 to PBX A
|
SIP gateway 1 sends a Disconnect message to PBX A.
|
|
25
|
ReleaseSIP gateway 2 to PBX B
|
After the call is completed, SIP gateway 2 sends a Release message to PBX B.
|
|
26
|
ReleasePBX A to SIP gateway 1
|
PBX A sends a Release message to SIP gateway 1.
|
|
27
|
200 OKSIP gateway 1 to SIP proxy server
|
SIP gateway 1 sends a 200 OK response to the SIP proxy server. The 200 OK response notifies SIP gateway 2 that SIP gateway 1 has received the BYE request.
|
|
28
|
200 OKSIP proxy server to SIP gateway 2
|
The SIP proxy server forwards the 200 OK response to SIP gateway 2.
|
|
29
|
Release CompletePBX B to SIP gateway 2
|
PBX B sends a Release Complete message to SIP gateway 2.
|
|
30
|
Release CompleteSIP gateway 1 to PBX A
|
SIP gateway 1 sends a Release Complete message to PBX A and the call session is terminated.
|
Figure 7-4 SIP Gateway-to-SIP GatewayCall via a Proxy Server with Record Route Disabled

| Step |
Action |
Description |
|
1
|
SetupPBX A to SIP gateway 1
|
Call Setup is initiated between PBX A and SIP gateway 1. The Call Setup includes the standard transactions that take place as User A attempts to call User B.
|
|
2
|
INVITESIP gateway 1 to SIP proxy server
|
SIP gateway 1 sends an INVITE request to the SIP proxy server. 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 email 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 user name.
- 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 SIP gateway 1 is prepared to receive the RTP data is specified.
|
|
3
|
Call ProceedingSIP gateway 1 to PBX A
|
SIP gateway 1 sends a Call Proceeding message to PBX A to acknowledge the Call Setup request.
|
|
4
|
INVITESIP proxy server to SIP gateway 2
|
The SIP proxy server checks whether its own address is contained in the Via field (to prevent loops), directly copies the To, From, Call-ID, and Contact fields from the request it received from SIP gateway 1, changes the Request-URI to indicate the server to which it intends to send the INVITE request, and then sends a new INVITE request to SIP gateway 2.
|
|
5
|
100 TryingSIP proxy server to SIP gateway 1
|
The SIP proxy server sends a 100 Trying response to SIP gateway 1.
|
|
6
|
SetupSIP gateway 2 to PBX B
|
SIP gateway 2 receives the INVITE request from the SIP proxy server and initiates a Call Setup with User B via PBX B.
|
|
7
|
100 TryingSIP gateway 2 to SIP proxy server
|
SIP gateway 2 sends a 100 Trying response to the SIP proxy server. The SIP proxy server might or might not forward the 100 Trying response to SIP gateway 1.
|
|
8
|
Call ProceedingPBX B to SIP gateway 2
|
PBX B sends a Call Proceeding message to SIP gateway 2 to acknowledge the Call Setup request.
|
|
9
|
AlertingPBX B to SIP gateway 2
|
PBX B locates User B and sends an Alert message to SIP gateway 2. User B's phone begins to ring.
|
|
10
|
180 RingingSIP gateway 2 to SIP proxy server
|
SIP gateway 2 sends a 180 Ringing response to the SIP proxy server.
|
|
11
|
180 RingingSIP proxy server to SIP gateway 1
|
The SIP proxy server forwards the 180 Ringing response to SIP gateway 1.
|
|
12
|
AlertingSIP gateway 1 to PBX A
|
SIP gateway 1 sends an Alert message to User A via PBX A. The Alert message indicates that SIP gateway 1 has received a 180 Ringing response. User A hears the ringback tone that indicates that User B is being alerted.
|
|
At this point, a one-way voice path is established between SIP gateway 1 and PBX A and between SIP gateway 2 and PBX B. A two-way RTP channel is established between SIP gateway 1 and SIP gateway 2.
|
|
13
|
ConnectPBX B to SIP gateway 2
|
User B answers the phone. PBX B sends a Connect message to SIP gateway 2. The connect message notifies SIP gateway 2 that the connection has been made.
|
|
14
|
200 OKSIP gateway 2 to SIP proxy server
|
SIP gateway 2 sends a 200 OK response to the SIP proxy server. The 200 OK response notifies the SIP proxy server that the connection has been made.
If User B supports the media capability advertised in the INVITE message sent by the SIP proxy server, it advertises the intersection of its own and User A's media capability in the 200 OK response. If User B does not support the media capability advertised by User A, it sends back a 400 Bad Request response with a 304 Warning header field.
The SIP proxy server must forward 200 OK responses upstream.
|
|
15
|
200 OKSIP proxy server to SIP gateway 1
|
The SIP proxy server forwards the 200 OK response that it received from SIP gateway 2 to SIP gateway 1.
|
|
16
|
ConnectSIP gateway 1 to PBX A
|
SIP gateway 1 sends a Connect message to PBX A. The Connect message notifies PBX A that the connection has been made.
|
|
17
|
Connect ACKPBX A to SIP gateway 1
|
PBX A acknowledges SIP gateway 1's Connect message.
|
|
18
|
ACKSIP gateway 1 to SIP gateway 2
|
SIP gateway 1 sends an ACK to SIP gateway 2. The ACK confirms that SIP gateway 1 has received the 200 OK response from the SIP proxy server.
|
|
19
|
Connect ACKSIP gateway 2 to PBX B
|
SIP gateway 2 acknowledges PBX B's Connect message. The call session is now active.
The 2-way voice path is established directly between SIP gateway 1 and SIP gateway 2; not via the SIP proxy server.
|
|
At this point, a two-way voice path is established between SIP gateway 1 and PBX A and between SIP gateway 2 and PBX B. A two-way RTP channel is established between SIP gateway 1 and SIP gateway 2.
|
|
20
|
DisconnectPBX B to SIP gateway 2
|
After the call is completed, PBX B sends a Disconnect message to SIP gateway 2. The Disconnect message starts the call session termination process.
|
|
21
|
BYESIP gateway 2 to SIP gateway 1
|
SIP gateway 2 sends a BYE request to SIP gateway 1. The BYE request indicates that User B wants to release the call. Because it is User B that wants to terminate the call, the Request-URI field is now replaced with PBX A's SIP URL and the From field contains User B's SIP URL.
|
|
22
|
DisconnectSIP gateway 1 to PBX A
|
SIP gateway 1 sends a Disconnect message to PBX A.
|
|
23
|
ReleaseSIP gateway 2 to PBX B
|
After the call is completed, SIP gateway 2 sends a Release message to PBX B.
|
|
24
|
ReleasePBX A to SIP gateway 1
|
PBX A sends a Release message to SIP gateway 1.
|
|
25
|
200 OKSIP gateway 1 to SIP gateway 2
|
SIP gateway 1 sends a 200 OK response to SIP gateway 2. The 200 OK response notifies SIP gateway 2 that SIP gateway 1 has received the BYE request.
|
|
26
|
Release CompletePBX B to SIP gateway 2
|
PBX B sends a Release Complete message to SIP gateway 2.
|
|
27
|
Release CompleteSIP gateway 1 to PBX A
|
SIP gateway 1 sends a Release Complete message to PBX A and the call session is terminated.
|
SIP Gateway-to-SIP Gateway CallCall Setup with Delayed Media via Third-Party Call Controller
Figure 7-5 illustrates a successful gateway-to-gateway call setup via a third-party call control agent.
The call flow scenario is as follows:
1. The call controller calls User B and then calls User A.
2. User A answers the call.
3. User B answers the call.
4. The call controller connects User A and User B.
Figure 7-5 SIP Gateway-to-SIP GatewayCall Setup via Third-Party Call Controller

| Step |
Action |
Description |
|
1
|
INVITECall controller to SIP gateway 2
|
The third party call control agent sends an INVITE request to SIP gateway 2. 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 email 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 indicates that the Request-URI address is a telephone number rather than a user name.
- 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 SDP media line is omitted or the INVITE does not contain any SDP information.
|
|
2
|
INVITECall controller to SIP gateway 1
|
The third party call control agent sends an INVITE request to SIP gateway 1. The INVITE request is an invitation to User A to participate in a call session.
In the INVITE request:
- The phone number of User A is inserted in the Request-URI field in the form of a SIP URL. The SIP URL identifies the address of User A and takes a form similar to an email 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 A appears as "INVITE sip:555-0002@companyb.com; user=phone." The "user=phone" parameter indicates that the Request-URI address is a telephone number rather than a user name.
- 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 SDP media line is omitted or the INVITE does not contain any SDP information.
|
|
3
|
SetupSIP gateway 2 to PBX B
|
SIP gateway 2 receives the INVITE request from the call controller and initiates a Call Setup with User B via PBX B.
|
|
4
|
SetupSIP gateway 1 to PBX A
|
SIP gateway 1 receives the INVITE request from the call controller and initiates a Call Setup with User A via PBX A.
|
|
5
|
100 TryingSIP gateway 2 to call controller
|
SIP gateway 2 sends a 100 Trying response to the INVITE request sent by the call controller. The 100 Trying response indicates that the INVITE request has been received by SIP gateway 2 but that User B has not yet been located and that some unspecified action, such as a database consultation, is taking place.
|
|
6
|
Call ProceedingPBX B to SIP gateway 2
|
PBX B sends a Call Proceeding message to SIP gateway 2 to acknowledge the Call Setup request.
|
|
7
|
100 TryingSIP gateway 1 to call controller
|
SIP gateway 1 sends a 100 Trying response to the INVITE request sent by the call controller. The 100 Trying response indicates that the INVITE request has been received by SIP gateway 2 but that User A has not yet been located and that some unspecified action, such as a database consultation, is taking place.
|
|
8
|
Call ProceedingPBX A to SIP gateway 1
|
PBX A sends a Call Proceeding message to SIP gateway 1 to acknowledge the Call Setup request.
|
|
9
|
183 Session ProgressSIP gateway 2 to call controller
|
SIP gateway 2 sends a 183 Session Progress message to the call controller.
|
|
10
|
183 Session ProgressSIP gateway 1 to call controller
|
SIP gateway 1 sends a 183 Session Progress message to the call controller.
|
|
11
|
ConnectPBX A to SIP gateway 1
|
User A answers phone. PBX A sends a Connect message to SIP gateway 1. The Connect message notifies SIP gateway 1 that the connection has been made.
|
|
12
|
200 OKSIP gateway 1 to call controller
|
SIP gateway 1 sends a 200 OK response to the call controller. The 200 OK response notifies the call controller that the connection has been made.
In the call 200 OK response, the SDP information of User A is specified.
|
|
13
|
Connect ACKSIP gateway 1 to PBX A
|
SIP gateway 1 acknowledges PBX A's Connect message.
|
|
14
|
ConnectPBX B to SIP gateway 2
|
PBX B sends a Connect message to SIP gateway 2. The Connect message notifies SIP gateway 2 that the connection has been made.
|
|
15
|
200 OKSIP gateway 2 to call controller
|
SIP gateway 2 sends a 200 OK response to the call controller. The 200 OK response notifies the call controller that the connection has been made.
In the call 200 OK response, the SDP information of User B is specified.
|
|
16
|
Connect ACKSIP gateway 2 to PBX B
|
SIP gateway 2 acknowledges PBX B's Connect message.
|
|
17
|
ACKCall controller to SIP gateway 1
|
The call controller sends an ACK response to SIP gateway 1. The ACK response confirms that the call controller has received the 200 OK response from SIP gateway 1. In the ACK response, the SDP information of User B is specified. Media negotiation takes place.
|
|
14
|
ACKCall controller to SIP gateway 2
|
The call controller sends an ACK response to SIP gateway 2. The ACK response confirms that the call controller has received the 200 OK response from SIP gateway 2. In the ACK response, the SDP information of User A is specified. Media negotiation takes place.
|
|
At this point, a two-way voice path is established between SIP gateway 1 and PBX A and between SIP gateway 2 and PBX B. A two-way RTP channel is established between SIP gateway 1 and SIP gateway 2.
|
SIP Gateway-to-SIP GatewayCall Setup using a FQDN and Delayed Media
Figure 7-6 illustrates a successful gateway-to-gateway call setup using delayed media and a FQDN in the SDP session connection parameter.
Figure 7-6 SIP Gateway-to-SIP GatewayCall Setup using an FQDN in SDP

| Step |
Action |
Description |
|
1
|
INVITECall controller to SIP gateway 2
|
The third party call control agent sends an INVITE request to SIP gateway 2. 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 email 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 indicates that the Request-URI address is a telephone number rather than a user name.
- 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 SDP media line is omitted or the INVITE does not contain any SDP information.
|
|
2
|
INVITECall controller to SIP gateway 1
|
The third party call control agent sends an INVITE request to SIP gateway 1. The INVITE request is an invitation to User A to participate in a call session.
In the INVITE request:
- The phone number of User A is inserted in the Request-URI field in the form of a SIP URL. The SIP URL identifies the address of User A and takes a form similar to an email 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 A appears as "INVITE sip:555-0002@companyb.com; user=phone." The "user=phone" parameter indicates that the Request-URI address is a telephone number rather than a user name.
- 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 SDP media line is omitted or the INVITE does not contain any SDP information.
|
|
3
|
SetupSIP gateway 2 to PBX B
|
SIP gateway 2 receives the INVITE request from the call controller and initiates a Call Setup with User B via PBX B.
|
|
4
|
SetupSIP gateway 1 to PBX A
|
SIP gateway 1 receives the INVITE request from the call controller and initiates a Call Setup with User A via PBX A.
|
|
5
|
100 TryingSIP gateway 2 to call controller
|
SIP gateway 2 sends a 100 Trying response to the INVITE request sent by the call controller. The 100 Trying response indicates that the INVITE request has been received by SIP gateway 2 but that User B has not yet been located and that some unspecified action, such as a database consultation, is taking place.
|
|
6
|
Call ProceedingPBX B to SIP gateway 2
|
PBX B sends a Call Proceeding message to SIP gateway 2 to acknowledge the Call Setup request.
|
|
7
|
100 TryingSIP gateway 1 to call controller
|
SIP gateway 1 sends a 100 Trying response to the INVITE request sent by the call controller. The 100 Trying response indicates that the INVITE request has been received by SIP gateway 2 but that User A has not yet been located and that some unspecified action, such as a database consultation, is taking place.
|
|
8
|
Call ProceedingPBX A to SIP gateway 1
|
PBX A sends a Call Proceeding message to SIP gateway 1 to acknowledge the Call Setup request.
|
|
9
|
183 Session ProgressSIP gateway 2 to call controller
|
SIP gateway 2 sends a 183 Session Progress message to the call controller.
|
|
10
|
183 Session ProgressSIP gateway 1 to call controller
|
SIP gateway 1 sends a 183 Session Progress message to the call controller.
|
|
11
|
ConnectPBX A to SIP gateway 1
|
User A answers phone. PBX A sends a Connect message to SIP gateway 1. The Connect message notifies SIP gateway 1 that the connection has been made.
|
|
12
|
200 OKSIP gateway 1 to call controller
|
SIP gateway 1 sends a 200 OK response to the call controller. The 200 OK response notifies the call controller that the connection has been made.
In the call 200 OK response, the SDP information of User A is specified.
|
|
13
|
Connect ACKSIP gateway 1 to PBX A
|
SIP gateway 1 acknowledges PBX A's Connect message.
|
|
14
|
ConnectPBX B to SIP gateway 2
|
PBX B sends a Connect message to SIP gateway 2. The Connect message notifies SIP gateway 2 that the connection has been made.
|
|
15
|
200 OKSIP gateway 2 to call controller
|
SIP gateway 2 sends a 200 OK response to the call controller. The 200 OK response notifies the call controller that the connection has been made.
In the call 200 OK response, the SDP information of User B is specified.
|
|
16
|
Connect ACKSIP gateway 2 to PBX B
|
SIP gateway 2 acknowledges PBX B's Connect message.
|
|
17
|
ACKCall controller to SIP gateway 1
|
The call controller sends an ACK response to SIP gateway 1. The ACK response confirms that the call controller has received the 200 OK response from SIP gateway 1. In the ACK response the media capability of User B is specified and the domain name of gateway 2 is specified in the SDP sessions parameter (c=) field. Media negotiation takes place. At this point, a DNS query is performed by SIP gateway 1 to resolve c=IN IP4 gw2.com.
|
|
18
|
ACKCall controller to SIP gateway 2
|
The call controller sends an ACK to SIP gateway 2. The ACK confirms that the call controller has received the ACK response from SIP gateway 2. In the 200 OK response the media capability of User A is specified and the domain name of gateway 1 is specified in the SDP sessions parameter (c=). Media negotiation takes place.
At this point, a DNS query is performed by SIP gateway 2 to resolve c=IN IP4 gw1.com.
|
|
At this point, a two-way voice path is established between SIP gateway 1 and PBX A and between SIP gateway 2 and PBX B. A two-way RTP channel is established between SIP gateway 1 and SIP gateway 2.
|
SIP Gateway-to- SIP Gateway CallRedirection with CC-Diversion
Figure 7-7 illustrates a successful gateway-to-gateway call setup with call redirection with CC-Diversion.
In this scenario, the three end users are identified as Alice at phone A, Bob at phone B, and Carol at phone C. Alice at phone A is located at PBX A. PBX A is connected to SIP gateway 1 via a T1/E1. SIP gateway 1 is using a SIP redirect server. Bob at phone B and Carol at phone C are located at PBX B. PBX B is connected to SIP gateway 2 via a T1/E1. SIP gateway 1 is connected to SIP gateway 2 over an IP network.
The call flow scenario is as follows:
1. Bob at phone B has delegated his calls to Carol at phone C.
1. Alice at phone A initiates a call with Bob via SIP gateway 1 that is using a SIP proxy server.
2. The proxy server returns Carol at SIP gateway 2 as a contact location for Bob.
3. Gateway 1 initiates call with Carol.
4. Carol answers the call.
Figure 7-7 SIP Gateway-to-SIP GatewayCall Redirection with CC-Diversion

| Step |
Action |
Description |
|
1
|
SetupPBX A to SIP gateway 1
|
Call Setup is initiated between PBX A and SIP gateway 1. The Call Setup includes the standard transactions that take place as Alice at phone A attempts to call Bob at phone B.
|
|
2
|
Call ProceedingSIP gateway 1 to PBX A
|
SIP gateway 1 sends a Call Proceeding message to PBX A to acknowledge the Call Setup request.
|
|
3
|
INVITESIP gateway 1 to SIP proxy server
|
SIP gateway 1 sends an INVITE request to the proxy server. The INVITE request is an invitation to Bob to participate in a call session.
In the INVITE request:
- Bob's phone number is inserted in the Request-URI field in the form of a SIP URL. The SIP URL identifies Bob's address and takes a form similar to an email 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 Bob might appear as "INVITE sip:555-0002@companyb.com; user=phone." The "user=phone" parameter distinguishes that the Request-URI address is a telephone number rather than a user name.
- Alice (via SIP gateway 1) is identified as the call session initiator in the From field.
- A unique numeric identifier is assigned to the call and inserted in the Call-ID field.
- The transaction number within a single call leg is identified in the CSeq field.
- The media capability SIP gateway 1 is ready to receive is specified in the SDP.
- The port on which SIP gateway 1 is prepared to receive the RTP data is specified in the SDP.
- Alice at SIP gateway 1 is specified as a CC-Diversion header. In addition, the CC-Diversion header field contains a reason for the diversion and a counter. Possible values for the diversion reason include the following: unknown, user-busy, no-answer, unconditional, deflection, and follow-me.
|
|
4
|
302 Moved TemporarilySIP proxy server to SIP gateway 1
|
The SIP proxy server determines that Bob's calls have been configured to be redirected to Carol at phone C via SIP gateway 2. The SIP proxy server sends a 302 Moved Temporarily message to SIP gateway 1.
In the 302 Moved Temporarily message, Carol at SIP gateway 2 is added as the Contact and there are two CC-Diversion header fields included; one for Bob at GW2 (IP address or domain name) and one for Alice at SIP gateway 1 (IP address or domain name).
|
|
5
|
ACKSIP gateway 1 to SIP proxy server
|
SIP gateway 1 sends an ACK to the SIP proxy server. The ACK confirms that the 302 Moved Temporarily response has been received.
|
|
6
|
INVITESIP gateway 1 to SIP gateway 2
|
SIP gateway 1 sends an INVITE request to Carol at phone C via SIP gateway 2. The INVITE request contains two CC-Diversion headers; one for Bob at SIP gateway 2 (IP address or domain name) and one for Alice at SIP gateway 1 (IP address or domain name).
|
|
7
|
SetupSIP gateway 2 to PBX B
|
SIP gateway 2 receives the INVITE request from SIP gateway 1 and initiates a Call Setup with Carol via PBX B. In the Call Setup, the ISDN Redirecting Number IE is generated using the contents of the top CC-Diversion header field; in this case, Bob at SIP gateway 2.
|
|
8
|
Call ProceedingPBX B to SIP gateway 2
|
PBX B sends a Call Proceeding message to SIP gateway 2 to acknowledge the Call Setup request.
|
|
9
|
AlertingPBX B to SIP gateway 2
|
PBX B locates Carol at phone C and sends an Alert message to SIP gateway 2. Carol's phone begins to ring.
|
|
10
|
180 RingingSIP gateway 2 to SIP gateway 1
|
SIP gateway 2 sends a 180 Ringing response to SIP gateway 1. The 180 Ringing response indicates that SIP gateway 2 has located, and is trying to alert, Carol at phone C.
|
|
11
|
AlertingSIP gateway 1 to PBX A
|
SIP gateway 1 sends an Alert message to PBX A. Alice hears ringback tone.
|
|
At this point, a one-way voice path is established between SIP gateway 1 and PBXA and between SIP gateway 2 and PBX B. A two-way RTP channel is established between SIP gateway 1 and SIP gateway 2.
|
|
12
|
ConnectPBX B to SIP gateway 2
|
Carol answers phone. PBX B sends a Connect message to SIP gateway 2. The Connect message notifies SIP gateway 2 that the connection has been made.
|
|
13
|
200 OKSIP gateway 2 to SIP gateway 1
|
SIP gateway 2 sends a 200 OK response to SIP gateway 1. The 200 OK response notifies SIP gateway 1 that the connection has been made.
If Carol via SIP gateway 2 supports the media capability advertised in the INVITE message sent by SIP gateway 1, it advertises the intersection of its own and Alice's media capability in the 200 OK response. If Carol at SIP gateway 2 does not support the media capability advertised by Alice at SIP gateway 1, SIP gateway 2 sends back a 400 Bad Request response with a "Warning: 304 Codec negotiation failed" header field.
|
|
14
|
ConnectSIP gateway 1 to PBX A
|
SIP gateway 1 sends a Connect message to PBX A. The Connect message notifies PBX A that the connection has been made.
|
|
15
|
Connect ACKPBX A to SIP gateway 1
|
PBX A acknowledges SIP gateway 1's Connect message.
|
|
16
|
ACKSIP gateway 1 to SIP gateway 2
|
SIP gateway 1 sends an ACK to SIP gateway 2. The ACK confirms that the 200 OK response has been received.
The call is now in progress over a two-way voice path via RTP.
|
|
17
|
Connect ACKSIP gateway 2 to PBX B
|
SIP gateway 2 acknowledges PBX B's Connect message.
|
|
At this point, a two-way voice path is established between SIP gateway 1 and PBX A and between SIP gateway 2 and PBX B. A two-way RTP channel is established between SIP gateway 1 and SIP gateway 2.
|
SIP Gateway-to-SIP Gateway CallSIP 3xx Redirection Response
Figure 7-8 illustrates a successful gateway-to-gateway call setup in which a SIP 3xx Redirection response is processed after the receipt of a SIP 18x Information response.
In this scenario, the three end users are identified as Alice at phone A, Bob at phone B, and Carol at phone C. Alice at phone A is located at PBX A. PBX A is connected to SIP gateway 1 via a T1/E1. SIP gateway 1 is using a SIP redirect server. Bob at phone B and Carol at phone C are located at PBX B. PBX B is connected to SIP gateway 2 via a T1/E1. SIP gateway 1 is connected to SIP gateway 2 over an IP network.
The call flow scenario is as follows:
1. Bob at phone B has delegated his calls to Carol at phone C.
1. Alice at phone A initiates a call with Bob via SIP gateway 1that is using a SIP proxy server.
2. The proxy server returns Carol at SIP gateway 2 as a contact location for Bob.
3. Gateway 1 initiates call with Carol.
4. Carol answers the call.
Figure 7-8 Gateway-to-Gateway CallCall Redirection

| Step |
Action |
Description |
|
1
|
SetupPBX A to SIP gateway 1
|
Call Setup is initiated between PBX A and SIP gateway 1. The Call Setup includes the standard transactions that take place as Alice at phone A attempts to call Bob at phone B.
|
|
2
|
Call ProceedingSIP gateway 1 to PBX A
|
SIP gateway 1 sends a Call Proceeding message to PBX A to acknowledge the Call Setup request.
|
|
3
|
INVITESIP gateway 1 to SIP proxy server
|
SIP gateway 1 sends an INVITE request to the proxy server. The INVITE request is an invitation to Bob to participate in a call session.
In the INVITE request:
- Bob's phone number is inserted in the Request-URI field in the form of a SIP URL. The SIP URL identifies Bob's address and takes a form similar to an email 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 Bob might appear as "INVITE sip:555-0002@companyb.com; user=phone." The "user=phone" parameter distinguishes that the Request-URI address is a telephone number rather than a user name.
- Alice via SIP gateway 1 is identified as the call session initiator in the From field.
- A unique numeric identifier is assigned to the call and inserted in the Call-ID field.
- The transaction number within a single call leg is identified in the CSeq field.
- The media capability SIP gateway 1 is ready to receive is specified in the SDP.
- The port on which SIP gateway 1 is prepared to receive the RTP data is specified in the SDP.
- Alice at SIP gateway 1 is specified as a CC-Diversion header. In addition, the CC-Diversion header field contains a reason for the diversion and a counter. Possible values for the diversion reason include the following: unknown, user-busy, no-answer, unconditional, deflection, and follow-me.
|
|
4
|
100 TryingSIP proxy server to SIP gateway 1
|
The 100 Trying response indicates that the INVITE request has been received.
|
|
5
|
302 Moved TemporarilySIP proxy server to SIP gateway 1
|
The SIP proxy server determines that Bob's calls have been configured to be redirected to Carol at phone C via SIP gateway 2. The SIP proxy server sends a 302 Moved Temporarily message to SIP gateway 1.
In the 302 Moved Temporarily message, Carol at SIP gateway 2 is added as the Contact and there are two CC-Diversion header fields included; one for Alice at SIP gateway 1 (IP address or domain name) and Bob at SIP gateway 2 (IP address or domain name).
|
|
6
|
INVITESIP gateway 1 to SIP gateway 2
|
SIP gateway 1 sends an INVITE request to Carol at phone C via SIP gateway 2. The INVITE request contains two CC-Diversion headers; one for Alice at SIP gateway 1 (IP address or domain name) and Bob at SIP gateway 2 (IP address or domain name).
|
|
7
|
SetupSIP gateway 2 to PBX B
|
SIP gateway 2 receives the INVITE request from SIP gateway 1 and initiates a Call Setup with Carol via PBX B. In the Call Setup, the ISDN Redirecting Number IE is generated using the contents of the top CC-Diversion header field; in this case, Bob at SIP gateway 2.
|
|
8
|
Call ProceedingPBX B to SIP gateway 2
|
PBX B sends a Call Proceeding message to SIP gateway 2 to acknowledge the Call Setup request.
|
|
9
|
AlertingPBX B to SIP gateway 2
|
PBX B locates Carol at phone C and sends an Alert message to SIP gateway 2. Carol's phone begins to ring.
|
|
10
|
180 RingingSIP gateway 2 to SIP gateway 1
|
SIP gateway 2 sends a 180 Ringing response to SIP gateway 1. The 180 Ringing response indicates that SIP gateway 2 has located, and is trying to alert, Carol at phone C.
|
|
11
|
AlertingSIP gateway 1 to PBX A
|
SIP gateway 1 sends an Alert message to PBX A. Alice hears ringback tone.
|
|
At this point, a one-way voice path is established between SIP gateway 1 and PBXA and between SIP gateway 2 and PBX B. A two-way RTP channel is established between SIP gateway 1 and SIP gateway 2.
|
|
12
|
ConnectPBX B to SIP gateway 2
|
Carol answers phone. PBX B sends a Connect message to SIP gateway 2. The Connect message notifies SIP gateway 2 that the connection has been made.
|
|
13
|
200 OKSIP gateway 2 to SIP gateway 1
|
SIP gateway 2 sends a 200 OK response to SIP gateway 1. The 200 OK response notifies SIP gateway 1 that the connection has been made.
If Carol via SIP gateway 2 supports the media capability advertised in the INVITE message sent by SIP gateway 1, it advertises the intersection of its own and Alice's media capability in the 200 OK response. If Carol at SIP gateway 2 does not support the media capability advertised by Alice at SIP gateway 1, SIP gateway 2 sends back a 400 Bad Request response with a "Warning: 304 Codec negotiation failed" header field.
|
|
14
|
ConnectSIP gateway 1 to PBX A
|
SIP gateway 1 sends a Connect message to PBX A. The Connect message notifies PBX A that the connection has been made.
|
|
15
|
Connect ACKPBX A to SIP gateway 1
|
PBX A acknowledges SIP gateway 1's Connect message.
|
|
16
|
ACKSIP gateway 1 to SIP gateway 2
|
SIP gateway 1 sends an ACK to SIP gateway 2. The ACK confirms that the 200 OK response has been received.
The call is now in progress over a two-way voice path via RTP.
|
|
17
|
Connect ACKSIP gateway 2 to PBX B
|
SIP gateway 2 acknowledges PBX B's Connect message.
|
|
At this point, a two-way voice path is established between SIP gateway 1 and PBX A and between SIP gateway 2 and PBX B. A two-way RTP channel is established between SIP gateway 1 and SIP gateway 2.
|
SIP Gateway-to-SIP IP PhoneSuccessful Call Setup and Disconnect
Figure 7-9 illustrates a successful gateway-to-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 SIP gateway 1 via a T1/E1. User B is located at a SIP IP phone. SIP gateway 1 is connected to the 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 hangs up.
Figure 7-9 SIP Gateway-to-SIP IP PhoneSuccessful Call Setup and Disconnect

| Step |
Action |
Description |
|
1
|
SetupPBX A to SIP gateway 1
|
Call Setup is initiated between PBX A and SIP gateway 1. The Call Setup includes the standard transactions that take place as User A attempts to call User B.
|
|
2
|
INVITESIP gateway 1 to SIP IP phone
|
SIP 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. SIP gateway 1 sends an INVITE request to the address it receives in the dial peer which, in this scenario, is the SIP IP phone.
In the INVITE request:
- The IP address of the 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 SIP gateway is prepared to receive the RTP data is specified.
|
|
3
|
Call ProceedingSIP gateway 1 to PBX A
|
SIP gateway 1 sends a Call Proceeding message to PBX A to acknowledge the Call Setup request.
|
|
4
|
100 TryingSIP IP phone to SIP gateway 1
|
The SIP IP phone sends a 100 Trying response to SIP gateway 1. The 100 Trying response indicates that the INVITE request has been received by the SIP IP phone.
|
|
5
|
180 RingingSIP IP phone to SIP gateway 1
|
The SIP IP phone sends a 180 Ringing response to SIP gateway 1. The 180 Ringing response indicates that the user is being alerted.
|
|
6
|
AlertingSIP gateway 1 to PBX A
|
SIP gateway 1 sends an Alert message to User A. The Alert message indicates that SIP gateway 1 has received a 180 Ringing response from the SIP IP phone. User A hears the ringback tone that indicates that User B is being alerted.
|
|
7
|
200 OKSIP IP phone to SIP gateway 1
|
The SIP IP phone sends a 200 OK response to SIP gateway 1. The 200 OK response notifies SIP gateway 1 that the connection has been made.
|
|
8
|
ConnectSIP gateway 1 to PBX A
|
SIP gateway 1 sends a Connect message to PBX A. The Connect message notifies PBX A that the connection has been made.
|
|
9
|
Connect ACKPBX A to SIP gateway 1
|
PBX A acknowledges SIP gateway 1's Connect message.
|
|
10
|
ACKSIP gateway 1 to SIP IP phone
|
SIP gateway 1 sends an ACK to the SIP IP phone. The ACK confirms that SIP gateway 1 has received the 200 OK response. The call session is now active.
|
|
At this point, a two-way voice path is established between SIP gateway 1 and PBX A. A two-way RTP channel is established between SIP gateway 1 and SIP IP phone B.
|
|
11
|
BYESIP IP phone to SIP gateway 1
|
User B terminates the call session at his SIP IP phone and the phone sends a BYE request to SIP gateway 1. The BYE request indicates that User B wants to release the call.
|
|
12
|
DisconnectSIP gateway 1 to PBX A
|
|