Here we will assume that GK isn't present.
There are three ways for call setup which are Slow Start (the legacy method supported in H323v1), Fast Start (supported in H323v2), H245 Tunneling (not supported by Cisco***). Before explaining each method, its important to understand H245 messages (h225 messages are pretty clear as their names implies)
- TCS: The Terminal Capability Set Message is sent between the endpoints involved in the call to indicate the codecs, dtmf and other capabilities of each endpoint. Each TCS Message must be acknowledged by the other endpoint. If there are no overlapping capabilities then you will see the Terminal Set Reject Message.
- MSD: Master/Slave Determination is used to determine the codec since the TCS messages could have indicated multiple codecs supported. The Master will decide the codec and other capabilities to be used in the call. The Master is chosen based on Endpoint type (gateway > terminal), Endpoint capabilities (video & audio > audio only) and randomly (identical endpoints).
- OLC: Open Logical Channel messages are used to inform each endpoint of the RTP/RTCP ip address/port numbers.
Slow Start Call Setup








Fast Start Call Setup


As you see the difference is that OLC messages are exchanged with SETUP/CONNECT messages. Rest of messages are same.

In some cases default fast start won’t work such as
- One of the gateways either does not support or rejects the use of Fast Start.
- 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.
H245 Tunneling Call Setup
H.245 Tunneling is different than H.245 FastStart where all H.245 PDUs are placed inside H225 Q.931 (Facility IEs). There is no separate TCP channel for H245 communication. In H.245 FastStart, H.245 OLCs are carried in Setup/Connect H225 messages. Rest of H245 PDUs are carried over separate H245 TCP channel.








Another note is that H245 Tunneling is using early media where the source will start sending RTP stream once ACK is received for its OLC request (without receiving OLC request from destination).
*** Note: Cisco doesn't support H245 tunneling as call start method, however, its supports h245 tunneling ONLY after establishing a call using fast start by encapsulating h245 dtmf-relay messages as q931 PDUs over h225 TCP channel.
Important note: In case TCP session isn't established due to any reason (e.g. firewall blocking), non of the h323 messages will be exchanged. In this case, you won't see any message using debug commands (e.g. debug cch323 h225, debug cch323 h245, debug h225 asn1, debug h245 asn1, etc).
To see the debugs for TCP connection, use the command debug ip tcp packet (this command won't chock CPU or memory).
!!!... KL gateway received SYN packet from GLK
*Jan 24 15:17:15 MST: tcp0: I LISTEN 10.31.51.200:10613 10.34.227.1:1720 seq 1233385405
OPTS 20 SYN WIN 8192
!!!... KL gateway responding with SYN/ACK. Note the sequence number is the next one which is 1233385406.
*Jan 24 15:17:15 MST: tcp0: O SYNRCVD 10.31.51.200:10613 10.34.227.1:1720 seq 3241775591
OPTS 4 ACK 1233385406 SYN WIN 4128
!!!... GLK PBX is sending RESET packet to KL which is dropping the connection
*Jan 24 15:17:15 MST: tcp0: I SYNRCVD 10.31.51.200:10613 10.34.227.1:1720 seq 0
DATA 35 ACK 3241775592 RST WIN 0