What Is H.323? |
---|
ITU-T Study Group 16
|
Design for the transmission of real-time audio,
video, and data communications over packet-based networks.
|
Specified standards
|
components
|
protocols
|
procedures
|
Supported Packet-based networks
|
IP–based or IPX–based
|
LAN, MAN, WAN
|
Supported Media Types
|
audio only (IP telephony)
|
audio and video (videotelephony)
|
audio and data
|
audio, video and data
|
H.323 can also be applied to multipoint-multimedia communications
|
Figure 1: H.323 Terminals on a Packet Network
|
Version 1 (1996/10)
|
Multimedia communications in a LAN environment
|
does not provide guaranteed QoS.
|
Version 2 (1998/1)
|
VoIP capability
|
fax-over-packet networks
|
gatekeeper-gatekeeper communications
|
fast-connection mechanisms
|
Relation with other H.32x family
|
H.323 is part of the H.32x family
|
other recommendations of the family specify multimedia
communication services over different networks:
|
H.324 | SCN (PSTN,etc.)
H.320
| ISDN
| H.321/H.310
| B-ISDN
| H.322
| LANs that provide guaranteed QoS
| |
---|
Gateway
|
One of the primary goals in the development of the H.323 standard
was interoperability with other multimedia-services networks.
This interoperability is achieved through the use
of a gateway. A gateway performs any network or signaling
translation required for
interoperability.
|
H.323 Components |
---|
Terminals | Gateways | Gatekeepers | Multipoint control units (MCUs) |
---|
H.323 Terminals
|
for real-time bidirectional multimedia communications,
|
can either be a PC or a stand-alone device
|
running an H.323 and the multimedia applications.
|
Supports audio communications
|
Good for VoIP
|
Optionally support video or data communications
|
May be used in multipoint conferences.
|
Compatible with other H.32x terminals
|
H.324 | SCN (PSTN,etc.), wireless network
H.320
| ISDN
| H.321/H.310
| B-ISDN
| H.322
| LANs that provide guaranteed QoS
| |
---|
Gateways
|
Connects two dissimilar networks
|
provides connectivity between an H.323 network and a non-H.323 network.
|
Functionality
|
translate protocols for call setup and release,
converting media formats between different networks,
| transferring information between the networks connected by the gateway
| |
---|
Two terminals on the same H.323 network do not require a gateway
|
Gatekeepers
|
The "brain" of the H.323 network
|
Provided Services
|
addressing
|
authorization and authentication of terminals and gateways
|
bandwidth management
|
accounting, billing, and charging
|
call-routing (Optional)
|
Multipoint Control Units (MCU)
|
Support the conferences of three or more H.323 terminals.
|
All terminals participating in the conference establish a connection
with the MCU.
|
The MCU manages conference resources, negotiates between
terminals for the purpose of determining the
audio or video codec to use, and may handle the media stream.
|
The gatekeepers,
gateways, and MCUs are logically separate components of the
H.323 standard but can be
implemented as a single physical device.
|
H.323 Zone |
---|
An H.323 zone is a collection of all terminals, gateways,
and MCUs managed by a single gatekeeper
|
Content
|
at least one terminal
|
may include gateways or MCUs.
|
has only one gatekeeper.
|
a zone may be independent of network topology
|
may be comprised of multiple network segments that are connected
using routers or other devices
|
Protocols Specified by H.323 |
---|
The protocols specified by H.323 are listed below.
H.323 is independent of the packet network and the transport protocols
over which it runs and does not specify them (see Figure 3).
|
audio codecs
|
video codecs
|
H.225 registration, admission, and status (RAS)
|
H.225 call signaling
|
H.245 control signaling
|
real-time transfer protocol (RTP)
|
real-time control protocol (RTCP)
|
Figure 3: H.323 Terminal-Side Protocol Stack
|
Audio Codec
|
An audio codec encodes the audio signal from the microphone
for transmission on the transmitting H.323 terminal
and decodes the received audio code that is sent to the speaker on the receiving H.323 terminal. |
All H.323 terminals must have at least one audio codec support.
|
G.711 recommendation (64 kbps)
|
Optional audio codec recommendations
|
G.722 | 64, 56, and 48 kbps
G.723.1
| 5.3 and 6.3 kbps
| G.728
| 16 kbps
| G.729
| 8 kbps
| |
---|
Video Codec
|
A video codec encodes video from the camera for transmission on the
transmitting H.323 terminal
and decodes the received video code that is sent to the video display on the receiving H.323 terminal. |
support of video codecs is optional
|
Any video capable H.323 terminal
must support H.261 video encoding and decoding recommendation
|
H.225 Registration, Admission, and Status
|
Registration, admission, and status (RAS) is the protocol
between endpoints (terminals and
gateways) and gatekeepers.
|
The RAS is used to perform registration, admission control,
bandwidth changes, status, and disengage procedures
between endpoints and gatekeepers.
An RAS channel is used to exchange RAS messages.
|
This signaling channel is opened between an endpoint and a
gatekeeper prior to the establishment of any other channels.
|
H.225 Call Signaling
|
The H.225 call signaling is used to establish a connection
between two H.323 endpoints.
|
This is achieved by exchanging H.225 protocol messages on the
call-signaling channel.
|
The call-signaling channel is opened between two
H.323 endpoints or between an endpoint and the gatekeeper.
|
H.245 Control Signaling
|
H.245 control signaling is used to exchange end-to-end control
messages governing the
operation of the H.323 endpoint.
|
Information in the control messages
|
capabilities exchange
opening and closing of logical channels used to carry media streams
| flow-control messages
| general commands and indications
| |
---|
Real-Time Transport Protocol (RTP)
|
Provides end-to-end delivery services of real-time audio and video
|
Whereas H.323 is used to transport data over IP–based networks,
|
RTP is typically used to transport data via the user datagram protocol (UDP).
|
RTP, together with UDP, provides transport-protocol functionality.
|
RTP | provides payload-type identification, sequence numbering,
timestamping, and delivery monitoring.
UDP
| provides multiplexing and checksum services.
| |
---|
Real-Time Transport Control Protocol (RTCP)
|
RTCP is the counterpart of RTP that provides control services.
|
Primary Function
|
Provide feedback on the quality of the data distribution
|
Other Functions - Canonical Name
|
carrying a transport-level identifier for an RTP source,
called a canonical name, which is used by receivers to
synchronize audio and video.
|
Terminal Characteristics |
---|
H.323 terminals must support the following:
|
H.245 for exchanging terminal capabilities and creation of media channels,
H.225 for call signaling and call setup,
| RAS for registration and other admission control with a gatekeeper, and
| RTP/RTCP for sequencing audio and video packets.
| |
---|
Required Audio Codec
|
G.711
|
Optional Components
|
video codecs
|
T.120 data-conferencing protocols
|
MCU capabilities.
|
Figure 3: H.323 Terminal-Side Protocol Stack
|
Gateway and Gatekeeper Characteristics |
---|
Gateway Characteristics
|
Functionality
|
translate protocols for call setup and release,
converting media formats between different networks,
| transferring information between the networks connected by the
gateway (H.323 and non-H.323 networks)
| |
---|
Can serve IP telephony
|
Figure 4: Gateway Protocol Stack
|
On the H.323 side,
|
a gateway runs H.245 control signaling for exchanging capabilities,
H.225 call signaling for call setup and release,
and H.225 RAS for registration with the gatekeeper.
|
On the SCN side,
|
a gateway runs SCN-specific protocols (e.g., ISDN and
SS7 protocols).
|
Terminals communicate with gateways using the H.245
control-signaling protocol and H.225 call-signaling protocol.
|
The gateway translates these protocols in a transparent
fashion to the respective counterparts on the non-H.323 network
and vice versa.
|
The gateway also performs call setup and clearing on both the
H.323-network side and the
non-H.323-network side.
|
Translation between audio, video, and data formats may also
be performed by the gateway.
|
Audio and video translation
may not be required if both
terminal types find a common communications mode.
|
For example,
in the case of a gateway to H.320 terminals on the ISDN,
both terminal types require G.711 audio and
H.261 video, so a common mode always exists.
|
The gateway has the characteristics of
both an H.323 terminal on the H.323 network and the other
terminal on the non-H.323 network it connects.
|
Gatekeepers are aware of which endpoints are gateways
because this is indicated when
the terminals and gateways register with the gatekeeper.
|
A gateway may be able to
support several simultaneous calls between the H.323 and
non-H.323 networks.
|
In addition, a gateway may connect an H.323 network to a
non-H.323 network.
|
A gateway is a logical component of H.323 and can be
implemented as part of a gatekeeper or an MCU.
|
Gatekeeper Characteristics
|
Gatekeepers provide call-control services for H.323 endpoints,
|
such as address translation and bandwidth management as defined within RAS.
|
Gatekeepers in H.323 networks are optional.
|
If they are present in a network, however, terminals and
gateways must use their services.
|
The H.323 standards both define mandatory services
that the gatekeeper must provide and specify other optional
functionality that it can provide.
|
Optional feature - call-signaling routing
|
Endpoints send call-signaling messages to the gatekeeper,
which the gatekeeper routes to the destination
endpoints.
|
Alternately, endpoints can send call-signaling
messages directly to the peer endpoints.
|
This feature of the gatekeeper is valuable,
as monitoring of the calls by the
gatekeeper provides better control of the calls in the network.
|
Routing calls through
gatekeepers provides better performance in the network,
as the gatekeeper can make
routing decisions based on a variety of factors,
|
for example, load balancing among gateways.
|
A gatekeeper is optional in an H.323 system.
|
Offered services defined by RAS
|
address translation
admissions control
| bandwidth control
| zone management
| |
---|
H.323 networks that do not have gatekeepers
may not have these capabilities,
|
but H.323 networks that contain IP telephony
gateways should also contain a gatekeeper to translate incoming
E.164 telephone addresses into transport addresses.
|
A gatekeeper is a logical component of H.323 but
can be implemented as part of a gateway or MCU.
|
Figure 5: Gatekeeper Components
|
Mandatory Gatekeeper Functions
|
Address Translation
|
Calls originating within an H.323 network may use an alias to
address the destination terminal.
|
Calls originating outside the
H.323 network and received by a gateway may
use an E.164 telephone number (e.g., 310-442-9222) to address the
destination
terminal.
|
The gatekeeper translates this E.164 telephone
number or the alias into the
network address (e.g., 204.252.32:456 for an IP-based network)
for the destination
terminal.
|
The destination endpoint can be reached using the network
address on the
H.323 network.
|
Admission Control
|
The gatekeeper can control the admission of the endpoints into the
H.323 network.
|
It
uses RAS messages, admission request (ARQ), confirm (ACF),
and reject (ARJ) to
achieve this.
|
Admissions control may be a null function that
admits all endpoints to the
H.323 network.
|
Bandwidth Control
|
The gatekeeper provides support for bandwidth control by
using the RAS messages,
bandwidth request (BRQ), confirm (BCF), and reject (BRJ).
|
For instance, if a network
manager has specified a threshold for the number of
simultaneous connections on the
H.323 network, the gatekeeper can refuse to make any more
connections once the
threshold is reached.
|
The result is to limit the total allocated
bandwidth to some fraction
of the total available, leaving the remaining bandwidth for
data applications.
|
Bandwidth
control may also be a null function that accepts all requests
for bandwidth changes.
|
Zone Management
|
The gatekeeper provides the above functions—address translation,
admissions control,
and bandwidth control—for terminals, gateways, and MCUs located
within its zone of
control.
|
Optional Gatekeeper Functions
|
Call-Control Signaling
|
The gatekeeper can route call-signaling messages between H.323 endpoints.
|
In a point-to-point conference, the gatekeeper may process
H.225 call-signaling messages.
|
Alternatively, the gatekeeper may allow the endpoints to send
H.225 call-signaling messages directly to each other.
|
Call Authorization
|
When an endpoint sends call-signaling messages to the gatekeeper,
the gatekeeper may
accept or reject the call, according to the H.225 specification.
|
The reasons for rejection
may include access-based or time-based restrictions,
to and from particular terminals or gateways.
|
Call Management
|
The gatekeeper may maintain information about all active H.323
calls so that it can
control its zone by providing the maintained information to the
bandwidth-management
function or by rerouting the calls to different endpoints to achieve
load balancing.
|
H.225 Registration, Admission, and Status |
---|
The H.225 RAS is used between H.323 endpoints (terminals and gateways) and
gatekeepers for the following:
|
gatekeeper discovery (GRQ)
endpoint registration
| endpoint location
| admission control
| access tokens
| |
---|
RAS channel is unreliable
|
RAS message exchange may be associated with timeouts and retry counts
|
Gatekeeper Discovery
|
H.323 endpoints use this to determine the
gatekeeper with which the endpoint must register.
|
can be done statically or dynamically.
|
Static discovery
|
endpoint knows the transport address of its gatekeeper a priori
|
Dynamic discovery
|
the
endpoint multicasts a GRQ message on the gatekeeper's discovery
multicast address:
|
"Who is my gatekeeper?"
|
One or more gatekeepers may respond with a GCF message:
|
"I can be your gatekeeper."
|
Endpoint Registration
|
endpoints use it to join a zone and inform the
gatekeeper of the zone's transport and alias addresses.
|
All endpoints register with a
gatekeeper as part of their configuration.
|
Endpoint Location
|
Endpoint location is a process by which the transport address of an
endpoint is determined and given its alias name or E.164 address.
|
Other Control
|
The RAS channel is used for other kinds of control mechanisms,
such as admission
control, to restrict the entry of an endpoint into a zone,
bandwidth control, and
disengagement control, where an endpoint is disassociated
from a gatekeeper and its zone.
|
H.225 Call Signaling and H.245 Control Signaling |
---|
H.225 Call Signaling
|
To set up connections between H.323
endpoints (terminals and gateways)
|
By exchanging H.225 protocol messages over a reliable call-signaling
channel such as TCP over an IP–based H.323 network.
|
When there is no gatekeeper
|
H.225 messages are exchanged between the endpoints
|
When a gatekeeper exists in the network,
|
Direct call signaling |
the H.225 messages are exchanged either directly between the endpoints
Gatekeeper-routed call signaling
|
the H.225 messages are
exchanged either directly between the
endpoints after being routed through the gatekeeper
| |
---|
The method chosen is decided by the gatekeeper
during RAS–admission message exchange.
|
Gatekeeper-Routed Call Signaling
|
The admission messages are exchanged between endpoints and the
gatekeeper on RAS channels.
|
The gatekeeper receives the call-signaling messages on
the call-signaling channel
from one endpoint and routes them to the other endpoint on the
call-signaling channel of the other endpoint.
|
Direct Call Signaling
|
During the admission confirmation, the gatekeeper indicates that
the endpoints can exchange call-signaling messages directly.
|
The endpoints exchange
the call signaling on the
call-signaling channel.
|
H.245 Control Signaling
|
To exchange end-to-end H.245 messages between communicating H.323 endpoints.
|
H.245 control messages are carried over H.245 control channels
|
The H.245 control channel is the logical channel 0 and is permanently
open, unlike the media channels.
|
Carried messages:
|
messages to exchange capabilities of terminals
|
messages to open and close logical channels
|
Capabilities Exchange
|
To provide their transmit and receive capabilities to the peer endpoint
|
Transmit capabilities | terminal's ability to transmit media streams.
Receive capabilities
| terminal's ability to receive and process incoming media streams.
| |
---|
Logical Channel Signaling
|
A logical channel carries information from one endpoint to
another endpoint (point-to-point conference) or multiple endpoints
(point-to-multipoint conference).
|
H.245 provides messages to open or close a logical channel;
|
a logical channel is unidirectional
|
Connection Procedures |
---|
creating an H.323 call
establishing media communication
| releasing the call
| |
---|
Assumptions in Figure 6 (H.323 call establishment)
|
two H.323 terminals (T1 and T2) connected to a gatekeeper.
Direct call signaling
| the media stream uses RTP encapsulation
| |
---|
Figure 6: H.323 Call Establishment
|
1. | T1 sends the RAS ARQ message on the RAS channel to the
gatekeeper for
registration. T1 requests the use of direct call signaling.
2.
| The gatekeeper confirms the admission of T1 by sending ACF to T1.
The
gatekeeper indicates in ACF that T1 can use direct call signaling.
| 3.
| T1 sends an H.225 call signaling "setup" message to
T2 requesting a
connection.
| 4.
| T2 responds with an H.225 "call proceeding" message to T1.
| 5.
| Now T2 has to register with the gatekeeper. It sends a
RAS ARQ message to the
gatekeeper on the RAS channel.
| 6.
| The gatekeeper confirms the registration by sending a
RAS ACF message to T2.
| 7.
| T2 alerts T1 of the connection establishment by sending an
H.225 "alerting"
message.
| 8.
| Then T2 confirms the connection establishment by sending an
H.225 "connect"
message to T1, and the call is established.
| |
---|
Figure 7: H.323 Control Signaling Flows
|
9. | The H.245 control channel is established between T1 and T2.
T1 sends an
H.245 "TerminalCapabilitySet" message to T2 to exchange its capabilities.
10.
| T2 acknowledges T1's capabilities by sending an H.245
"TerminalCapabilitySetAck" message.
| 11.
| T2 exchanges its capabilities with T1 by sending an H.245
"TerminalCapabilitySet" message.
| 12.
| T1 acknowledges T2's capabilities by sending an H.245
"TerminalCapabilitySetAck" message.
| 13.
| T1 opens a media channel with T2 by sending an
H.245 "openLogicalChannel"
message. The transport address of the RTCP channel is included in the
message.
| 14.
| T2 acknowledges the establishment of the unidirectional
logical channel from
T1 to T2 by sending an H.245 "openLogicalChannelAck" message. Included in
the acknowledge message are the RTP transport address allocated by
T2 to be
used by the T1 for sending the RTP media stream and the RTCP address
received from T1 earlier.
| 15.
| Then, T2 opens a media channel with T1 by sending an H.245
"openLogicalChannel" message. The transport address of the RTCP channel is
included in the message.
| 16.
| T1 acknowledges the establishment of the unidirectional
logical channel from
T2 to T1 by sending an H.245 "openLogicalChannelAck" message.
Included in
the acknowledging message are the RTP transport address allocated by
T1 to be
used by the T2 for sending the RTP media stream and the RTCP address
received from T2 earlier. Now the bidirectional media stream
communication is
established.
| |
---|
Figure 8: H.323 Media Stream and Media Control Flows
|
17. | T1 sends the RTP encapsulated media stream to T2.
18.
| T2 sends the RTP encapsulated media stream to T1.
| 19.
| T1 sends the RTCP messages to T2.
| 20.
| T2 sends the RTCP messages to T1.
| |
---|
Figure 9: H.323 Call Release
|
21. | T2 initiates the call release. It sends an
H.245 "EndSessionCommand" message
to T1.
22.
| T1 releases the call endpoint and confirms the release
by sending an H.245
"EndSessionCommand" message to T2.
| 23.
| T2 completes the call release by sending an
H.225 "release complete" message
to T1.
| 24.
| T1 and T2 disengage with the gatekeeper by sending a
RAS DRQ message to
the gatekeeper.
| 25.
| The gatekeeper disengages T1 and T2 and confirms by sending
DCF messages
to T1 and T2.
| |
---|
Interworking with Other Multimedia Networks |
---|
The H.323 protocol is specified so that it interoperates with other networks.
|
The most popular H.323 interworking is IP telephony
|
the underlying network of H.323 is an IP network
|
the interoperating network is SCN (TSTN and ISDN) (see Figure 10)
|
Figure 10: IP Telephony: H.323 Interworking with SCN
|
H.323 is compatible with various other H.32x networks.
|
Figure 11 shows an H.323 zone interworking with all H.32x networks
|
H.246 specifies interworking among various H.32x networks
|
Figure 11: H.323 Interworking with Other H.32x Networks
|