Call Flow
Each protocol that is used in the call flow creates a logical channel for its traffic. Each channel is one-way, so you must open two channels in each direction for each protocol. If the call includes a T.120 data transfer, such as application sharing, T.120 creates and controls its own data channels. Basic H.323 call flow involves the following steps:
Step 1. |
The H.323 gateways exchange H.225 call setup messages, using TCP port 1720. One of those, the Connect message, contains the control channel address to use for H.245 signals.
|
Step 2. |
The gateways exchange several H.245 capabilities negotiation messages. When the negotiation is successful, the gateways exchange the calling endpoint IP address and RTP port numbers, and the called endpoint IP address with RTP port numbers, in OpenLogicalChannel messages.
|
Step 3. |
The call is successful, and RTP media streams are sent.
|
H.323 Fast Start
Recent versions of H.323 implement H.323 Fast Start. You might also see this called Fast Connect. In a sense, this tunnels H.245 traffic inside H.225 messages. When you are using H.323 Fast Start, one of the setup messages includes a FastStart element, which contains a list of capabilities and supported coder/decoder (codec) options for both sending and receiving. The other gateway responds by including a FastStart element in one of its messages, listing the capabilities and codec it has selected. After the first gateway receives this, it can begin media transmission right away, without having to open separate H.245 channels. If it needs to send other H.245 messages after the media stream has begun, it can tunnel those messages over the H.225 channel.
Figure 3-2 gives you an overview of the various protocols and signals used in an H.323 call using Fast Start. Some information has been simplified for the sake of space.
Figure 3-2. H.323 Call Flow with Fast Start
In Figure 3-2, an IP phone is making a call to a non-IP phone. The IP phone communicates with its CallManager using Skinny Client Control Protocol (SCCP). The CallManager exchanges H.323 messages with the H.323 voice gateway using Fast Start. The gateway is connected to the PSTN by a PRI line, and it uses ISDN signaling over that connection. Notice that the H.323 gateway terminates both the Q.921 and the Q.931 signaling, which is different from MGCP operation. The infrastructure on the other end (not shown) communicates with the analog phone.
The first four H.323 messages are H.225 call signalingsetup, call proceeding, alerting, and connect. Contained within these messages is the H.245 information. If all these signals succeed, the call is active. A separate unidirectional RTP channel between the IP phone and the gateway is then opened in each direction. A bidirectional RTCP channel is also opened. The gateway translates between the RTP and time-division multiplexing (TDM) networks, and it establishes a TDM media stream between it and the analog phone. When the analog phone hangs up, the gateway receives a Q.931 disconnect and translates that to an H.245 EndSession message. You do not have to configure Fast Startit is used by default unless any of the following conditions is present:
- One of the gateways either does not support or rejects the use of Fast Start. The gateway signals this by the absence of a FastStart element in any of the setup signals, up to and including the Connect message.
- The called gateway selects different codecs for sending and receiving.
- Recent versions of the Cisco IOS use Fast Start for calls that RSVP initiates. You might have to enable slow start for backward compatibility with older versions.
When any of these occur, separate H.245 channels are opened, and the sending and receiving capabilities are negotiated the slow way.