Call-Flow Scenarios
So far, this chapter has discussed call signaling, media protocols, call-processing servers, and other IPT endpoints used in Cisco IPT. To understand how all of these components work together, this section discusses the following call-flow scenarios:IP phone to IP phone callIntracluster callIntercluster callIntercluster call with gatekeeperOff-net callsUsing MGCP gatewayUsing H.323 gateway with gatekeeper
IP Phone-to-IP Phone Call
In the first scenario, IP phone 1 and destination IP phone 2 are registered with the same CallManager, CCM1. Figure 1-20 shows the high-level sequence of steps that occur when source IP phone 1 calls destination IP phone 2.
Figure 1-20. IP Phone to IP Phone Call Flow

Figure 1-21. IP Phone to IP Phone Call FlowSCCP Messages
[View full size image]

As the preceding steps demonstrate, all the instructions come from the CallManager. The phone has little intelligence. In this scenario, after establishing an RTP stream between the two phones, the communication can continue even if the CallManager server goes down, because the CallManager is not involved in passing the media streams between the phones. However, if the CallManager server to which the phones are registered fails during a conversation, users will not be able to invoke some of the supplementary servicessuch as hold, park, and mute during the conversationthat require the participation of CallManager in signaling. The phones will be reregistered to the backup CallManager after hang-up of the active call.
Intracluster Call
In the second scenario, IP phones 1 and 2 are registered with CallManager CCM1, and Phone 3 is registered with CallManager CCM2. Both CCM1 and CCM2 are part of the same CallManager cluster. Figure 1-22 shows the intracluster call scenario when source IP Phone 2 calls destination IP phone 3. In this call scenario, CallManager and IP phone communication is done using SCCP, and CallManager-to-CallManager communication is based on Intra-Cluster Communication Signaling (ICCS). As the name implies, ICCS is a signaling protocol used between the CallManager servers in a cluster. The same sequence of events takes place between the IP phone and CallManager as described in the preceding section, "IP Phone-to-IP Phone Call." As you can see, the other members of the cluster automatically know about the devices that are registered in the cluster because the database is the same across all the servers.
Figure 1-22. Intracluster Call Scenario

Intercluster Call
In the third scenario, shown in Figure 1-23, IP Phones 1 and 2 are registered with CallManager CCM1 in CallManager Cluster 1 and destination IP Phone 3 is registered with CallManager CCM2 in CallManager Cluster 2. CCM 1, and CCM 2 are part of different CallManager clusters and an ICT connects the two clusters. The ICT protocol is similar to the H.323 Version 2 protocol with some extensions. CallManager sends ICT protocol signaling directly to the other CallManager in another cluster without the involvement of a gateway and uses a TCP/IP connection path available between the two clusters.
Figure 1-23. Intercluster Call Flow

Intercluster Call with the Gatekeeper
The fourth scenario is similar to the third scenario except for the addition of the gatekeeper for CAC purposes. Gatekeeper-controlled ICTs are required when the clusters are separated by a WAN link and you need to control the number of calls that can go through the WAN link. In a large deployment involving multiple CallManager clusters, the gatekeeper can also perform the call routing via the locally configured dial plan.Figure 1-24 shows the call flow for this scenario. The IP phones communicate with the CallManager using SCCP. The CallManager communicates with the gatekeeper using the H.323 RAS protocol. CCM A and CCM B are part of CallManager Cluster 1, and CCM C and CCM D are part of CallManager Cluster 2. These two clusters are connected via the ICT through the gatekeeper. Phone 1 is registered with CCMB, and Phone 2 is registered with CCMC.
Figure 1-24. Intercluster Call Flow with Gatekeeper
[View full size image]

- IP phone 1 dials the number of IP Phone 2.CCM B sends an Admission Request (ARQ) message to the gatekeeper.From the dial plan configured in the gatekeeper, the gatekeeper finds that CCM C is registered with prefix 2 and returns the Admission Confirmation (ACF) message to CCM B with an IP address of CCM C.CCM B sends an H.225 call setup message to CCM C with the phone number of Phone 2.CCM C sends an ARQ message to the gatekeeper asking permission to place the call across the ICT.The gatekeeper responds with an ACF message to CCMC. Before returning the ACF, the gatekeeper performs checks to ensure that it has enough resources to place the call across the ICT. If no resources such as bandwidth are available, the gatekeeper sends an Admission Reject (ARJ) message.CCM C initiates the call setup with phone 2 via SCCP.When phone 2 answers the call by going off-hook, CCM C sends an H.225 Connect message to CCM B and the audio path is made directly between IP phones in different clusters using RTP.
Off-Net Calls
Any call that is routed outside the CallManager cluster is treated as an off-net call. This section discusses two off-net call-flow scenarios with the following types of gateways:MGCP gatewayH.323 gateway
Using MGCP Gateway
Before analyzing the off-net call flow with MGCP, it is important to understand how the CallManager achieves call survivability with MGCP-based gateways. CallManager uses the MGCP PRI backhaul mechanism to receive the signaling information from the ISDN PRI gateway to provide the call-control functionality and preserve the D channel (and thus call survivability) during the CallManager failover and switchover event. Figure 1-25 shows this mechanism.
Figure 1-25. MGCP PRI Backhaul with CallManager
[View full size image]

Figure 1-26. Off-Net Call Scenario with MGCP Gateway

Figure 1-27. Off-Net Call Flow Using MGCP Gateway
[View full size image]

1. | Phone 1 goes off-hook and dials the number of Phone Z. |
2. | CallManager performs the digit analysis and finds that the call has to be routed via the MGCP gateway. |
3. | CallManager sends a MGCP CRCX command with inactive mode to reserve the B channel. The gateway responds with a MGCP CRCX ACK message with the Connection ID in the SDP portion of the MGCP that contains information such as IP address, UDP port number, and codec capabilities. |
4. | CallManager sends an ISDN SETUP message to the PSTN switch. In Figure 1-27, the ISDN messages are shown as being sent from the CallManager to the gateway. Actually, these messages are sent to the PSTN through the gateway. CallManager receives an ISDN Call Proceeding message from the PSTN side. |
5. | CallManager issues an MGCP MDCX command with recvonly mode to the gateway to open the receive channel and gateway acknowledges the MDCX command by responding with MDCX ACK message. |
6. | CallManager sends an SCCP OpenReceiveChannel message to the IP phone. This message requests the phone to send its IP address and the UDP port number. The IP phone responds with its IP address and UDP port number in the OpenReceiveChannelACK message to the CallManager. At the same time, CallManager sends the IP address and UDP port number of the gateway received in Step 2 to the IP Phone via the Start Media Transmission SCCP message. |
7. | CallManager sends the IP address and UDP port number of the IP phone to the gateway in another MGCP MDCX command with sendrecv mode to establish a full-duplex connection. |
8. | At this moment, the IP phone user can hear the ring-back or alerting tones coming from the PSTN. |
9. | After CallManager receives an ISDN PRI Connect message from the PSTN side, it acknowledges with a PRI Connect ACK message, after which a two-way communication path is open between the IP Phone and the PSTN Phone to begin the conversation. CallManager updates the display status on the IP Phone to Connected via the SCCP Update Call State Messages. |
10. | After the call is terminated at either end (Figure 1-27 shows that IP Phone user terminated the call by pressing the End Softkey on the IP Phone), CallManager instructs the IP phone and the gateway to close the media channels and sends a DLCX (DeleteConnection) command to the gateway release the channel. At the same time, CallManager also sends PRI Disconnect message to the PSTN via the gateway to inform the PSTN switch the call termination event. |
Using H.323 Gateway
Figure 1-28 shows the CallManager cluster with a registered IP phone 1 and an H.323 gateway. A gatekeeper is also registered with the cluster, and the off-net calls contact the gatekeeper before placing the call. The IP phone user makes an off-net call to a PSTN phone (Phone Z). The CallManager routes the call via the H.323 gateway.
Figure 1-28. Off-Net Call Scenario with H.323 Gateway

Figure 1-29. Off-Net Call Flow Using H.323 Gateway
[View full size image]

1. | Phone 1 goes off-hook and dials the number of Phone Z. |
2. | CallManager performs the digit analysis and finds that it has to contact the gatekeeper before placing the call. |
3. | CallManager sends an ARQ message with the destination phone number. The gatekeeper responds with an ACF message and includes the IP address of the H.323 gateway. |
4. | CallManager sends an H.225 Setup message to the gateway. This message includes the calling party name, calling party number, and called party number. CallManager receives an H.225 Call Proceeding message from the gateway. |
5. | The gateway sends a Q.931 Setup message to the PSTN along with the calling party number, called party number, and calling party name and receives the Q.931 Call Proceeding message from the CO switch. |
6. | The CO switch sends a Q.931 Alerting message to the gateway, and the gateway sends a H.225 Alerting message to the CallManager. |
7. | CallManager and the gateway exchange the media capabilities using H.245. They exchange information such as the codecs supported on both ends; through this negotiation, they choose a common codec for the session. |
8. | Later, CallManager sends a request to the IP phone (via SCCP OpenReceiveChannel message) and the gateway (via H.245 openLogicalChannel message) to respond with their respective IP address and the UDP port number. The IP Phone and gateway responds with IP address and the UDP port number information in the corresponding ACK messages. CallManager communicates to IP phone and the H.323 gateway about the other's IP address and UDP port number. At this point the IP Phone has the IP Address and UDP port number of the H.323 gateway, similarly, the H.323 gateway has the IP Address and UDP port number of the IP Phone. Hence, the IP Phone user can hear the Call Progress tones coming from the PSTN. |
9. | After the called party answers the phone, the CO switch sends a Q.931 Connect message, RTP streams are established between the IP phone and the H.323 gateway, and both parties can begin the conversation. |
10. | A disconnect from either end causes the termination of audio channels, and CallManager sends a Disengage Request to the gatekeeper. |