PREV TOC HOME INDEX NEXT


1.2.4. Basic H.323 Call Scenario

A simple H.323 call scenario can be described in five phases:

Calls between two endpoints can be either direct or routed via a gatekeeper. This scenario describes a direct connection where each endpoint is a point of entry and exit of a media flow.

The example in this section describes the procedure for placing a call between two endpoints A and B, each with an IP address on the same subnet.

Call Setup

Establishing a call between two endpoints requires two TCP connections between the endpoints:

Note: It is also possible to encapsulate H.245 media control messages within Q.931/H.225 signaling messages. The concept is known as H.245 tunneling. If tunneling is enabled, one less TCP port is required for incoming connections.

The scenario described in this section assumes a slow start connection procedure. See Section 4.2, Using Fast Start and Slow Start Setup for more information on the difference between the slow start and fast start connection procedure.

The caller at endpoint A connects to the callee at endpoint B on a well-known port, port 1720, and sends the call Setup message as defined in the H.225.0 specification. The Setup message includes:

When endpoint B receives the Setup message, it responds with one of the following messages:

In this case, endpoint B responds with the Alerting message. Endpoint A must receive the Alerting message before its setup timer expires. After sending this message, the user at endpoint B must either accept or refuse the call with a predefined time period. When the user at endpoint B picks up the call, a Connect message is sent to endpoint A and the next phase of the call scenario, Capability Exchange, can begin.

Capability Exchange

Call control and capability exchange messages, as defined in the H.245 standard are sent on a second TCP connection. Endpoint A opens this connection on a dynamically allocated port at the endpoint B after receiving the address in one of the following H.225.0 messages:

This connection remains active for the entire duration of the call. The control channel is unique for each call between endpoints so that several different media streams can be present.

An H.245 TerminalCapabilitySet message that includes information about the codecs supported by that endpoint is sent from one endpoint to the other. Both endpoints send this message and wait for a reply which can be one of the following messages:

The two endpoints continue to exchange these messages until a capability set that is supported by both endpoints is agreed. When this occurs, the next phase of the call scenario, Call Initiation, can begin.

Call Initiation

Once the capability setup is agreed, endpoint A and B must set up the voice channels over which the voice data (media stream) will be exchanged.

To open a logical channel at endpoint B, endpoint A sends an H.245 OpenLogicalChannel message to endpoint B. This message specifies the type of data being sent, for example, the codec that will be used. For voice data, the message also includes the port number that endpoint B should use to send RTCP receiver reports. When endpoint B is ready to receive data, it sends an OpenLogicalChannelAck message to endpoint A. This message contains the port number on which endpoint A is to send RTP data and the port number on which endpoint A should send RTCP data.

Endpoint B repeats the process above to indicate which port endpoint A will receive RTP data and send RTCP reports to. Once these ports have been identified, the next phase of the call scenario, Data Exchange, can begin.

Data Exchange

Endpoint A and endpoint B exchange information in RTP packets that carry the voice data. Periodically, during this exchange both sides send RTCP packets, which are used to monitor the quality of the data exchange. If endpoint A or endpoint B determines that the expected rate of exchange is being degraded due to line problems, H.323 provides capabilities to make adjustments. Once the data exchange has been completed, the next phase of the call scenario, Call Termination, can begin.

Call Termination

To terminate an H.323 call, one of the endpoints, for example, endpoint A hangs up. Endpoint A must send an H.245 CloseLogicalChannel message for each channel it has opened with endpoint B. Accordingly, endpoint B must reply to each of those messages with a CloseLogicalChannelAck message. When all the logical channels are closed, endpoint A sends an H.245 EndSessionCommand, waits until it receives the same message from endpoint B, then closes the channel.

Both endpoint A and endpoint B then send an H.225.0 ReleaseComplete message over the call signalling channel, which closes that channel and ends the call.


PREV TOC HOME INDEX NEXT

Click here to contact Telecom Support Resources

Copyright 2003, Intel Corporation
All rights reserved
This page generated February, 2003