Register Now

Login

Lost Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

H323 Protocol Packet Flow

Here in this article we will understand what is the packet flow for H323 protocol

Before getting into the packet flow we will understand the terminologies used in H323 call flow.

Terminal Capability Set (TCS):

This message is sent between the end points involved in the call to indicate the codecs, dtmf and other capabilities of each end point. Each TCS message must be acknowledged by the other end point. If there are no overlapping capabilities then you will see terminal reject message.

Master and Slave Determination (MSD):

In TCS message codecs messages will be exchanged, master will determine which codecs and other capabilities to be used. The master is chosen based on end point type, end point capabilities and randomly.

Open Logical Channel (OLC):

Open logical channel messages are used to inform each end point of the RTP/RTCP IP address/ port numbers.

H323 V1 Call Flow:

In this flow i will mainly use two words, one is caller and another one is callee

caller: The one who is calling

Callee: The one who is receiving

Initially TCP connection will be established on port “1720” initiator will send syn packet, responder responds with “syn-ack” and initiator should respond with “ACK”

1. Caller will send set up message to callee once the TCP connection has been established

Setup:

source_address,

source_port=Caller H225 port,

destination_address,

destination_port=Callee H225 port,

call_ref= (id)

2. Callee responds with call proceeding indication

Call Proceeding:

call_ref=(id)

3. Alerting message indicates that callee is now being rung

Alerting:

call_ref=(id)

4. Connect message is sent to caller, this message contains information about H.245 negotiation port

Connect:

H_245_IP address

H245_port=Callled 245 port

call_ref=(id)

**************Now H245 session will be established ***********************

Caller will now extract H.245 port from the connect message sent from the Callee

Now TCP connection will be established from Caller  to Callee on negotiated port

5. Callee negotiates terminal capability with caller

H245 Terminal Capability Request:

Received audio capability= (G.711, A-Law 64Kbps)

6. Callee Party negotiates master-slave

7. Caller Party also negotiates terminal capability

H 245 Terminal Capability Set Request

Receive Audio Capability= (G.711, A-Law 64 Kbps)

8.Caller also initiates a master slave determination request

H.245 Master Slave Determination Request

9. Caller replies with two acknowledgements (terminal capability + master slave ACK)

H.245 Terminal Capability Set ACK + Master Slave Determination ACK

Sequence number=1

Decision=slave

10. Callee party responds with terminal capability ACK

H.245 Terminal Capability Set ACK

Sequence number=1

11. Callee party becomes the master

H.245 Master Slave Determination ACK

Decission=Master

12. It will send channel open request to the callee party. RTCP port number is included in the message. The G.711 A-law 64Kbps will be used on the audio path.

H.245 Open Logical Channel Request

Channel Number=102

Audio_data=(G.711, A-law, 64 Kbps)

Media-control=IP_address

tsap_identifier=Caller RTCP port

Silence supression=true

13. Send open logical channel request to calling party. RTCP port number is included in the message. The G.711 A law 64Kbps will be used in audio message.

H.245 open logical request

Channel Number=102

Audio_data=(G.711, A-law, 64 Kbps)

Media-control=IP_address

tsap_identifier=Caller RTCP port

Silence supression=true

14.Caller acknowledges the message. The RTP and RTCP  port numbers are included in the message.

H.245 Open Logical Channel ACK

media_control_ip_address

media_control_tsap_identifier=Caller

RTCP Port

Media_Ip_address

Media_tsap_identifier= Caller RTP port

15. Callee Party Acknowledges the message. The RTP and RTCP port numbers are included in the message.

H.245 Open Logical Channel ACK

media_control_ip_address

media_control_tsap_identifier=Caller

RTCP Port

Media_Ip_address

Media_tsap_identifier= Caller RTP port

 

Then RTP communication will takes place on negotiated ports and then logical channel will be closed

Hope this article helps you