Packetizer Logo
 

First H.245 Message Transmitted (Q98)

The information in this article applies to:

People often ask, "What is the first H.245 message that shall be transmitted by an H.323 endpoint?" In every case, except one, the first message must be the Terminal Capability Set (TCS) message. The TCS message needs to be the first one transmitted, so that the other party can determine the version of H.245 in use and the capabilities of the other endpoint.

For H.323 systems, section 8.2 of H.323 explains that the TCS message shall be the first message transmitted. It says that the termcap exchange must succeed before attempting other procedures. This is really just a statement to reinforce the fact that TCS shall be the first message transmitted. For example, an endpoint shall not attempt master/slave negotiation first. It does *not* mean that an endpoint must send a TCS and wait for an acknowledgement before transmitting a master/slave determination (MSD) message. It is quite common, in fact, for the for H.245 packet to contain both a TCS and a MSD message, constructed in that order.

The one exception to this rule is when initiating H.245 tunnelling in parallel with Fast Connect (see section 8.2.4 of H.323). In that scenario, the calling endpoint transmits a Setup message with fastStart information and it populates the parallelH245Control field of the Setup with TCS and, optionally, other H.245 messages. If the called endpoint understand the parallelH245Control field, the first message it shall transmit is a TCS Acknowledgement message. That indicates to the calling device that the parallelH245Control field was decoded and processed. The called device would then send immediately after the TCS Ack message a TCS message of its own.