|
 |
 |
Scope and purpose of H.323
|
 |
 |
|
H.323 is a recommendation published by the
International Telecommunications Union and defines the
interworking of a series network elements and protocols to
allow multimedia transmission (voice, video, chat, file
sharing, whiteboarding etc.) through an unreliable
packet-based network. Essentially, H.323 ties together a
number of existing recommendations, and must be read in
conjunction with many other publications.
Often, H.323 is considered to be just the call signalling
element of a multimedia call, responsible for setting up and
clearing down calls. Clearly, the scope of H.323 is much
broader. This document attempts to offer a summary H.323. |
|
H.323 defines a number of elements (or
H323 Entities) that are required for multimedia
transmission. Some elements are mandatory; some are
optional. Often, these entities are implemented in software
and it can be possible to have more than one entity
installed on a single computer. The most important elements
are listed below:
- H323 Gatekeeper
- A gatekeeper is an optional entity. One of its
purposes is to provide basic Admission Control onto a
network by authorising (or refusing) communications
between other H.323 entities within its zone of
control. It also provides an address translation
service. DUAL Gatekeeper is example of an H323 gatekeeper
that additionally provides a multimedia proxy solution.
- H323 Gateway
- A gateway provides a protocol conversion service
between H.323 terminals and other terminals that do not
support H.323. For example, a gateway may route voice
over IP calls from an H323 terminal onto the public
switched telephone network (PSTN) thus allowing regular
telephone calls to be placed from an H323 client such as
NetMeeting.
- H323 Multipoint Control Unit
- An MCU provides services that allow three or more
endpoints to take part in a conference call. An MCU
comprises a Multipoint Controller for handling call
control and optional Multipoint Processors for handling
the media exchange (voice, video etc.) in a conference.
- H323 Terminal
- An H.323 Terminal is an endpoint on a network which
provides for real-time, two-way communications with
another H.323 terminal, Gateway or Multipoint Control
Unit. A terminal may provide speech only, speech and
data, speech and video, or speech, data and video.
|
|
H.323 ties together a number of other
protocols defined by the
I.T.U.
or the
I.E.T.F. Some of these protocols are discussed in more
detail in this document:
- G.7xx codecs
- This series of recommendations define the way in which
analogue voice signals may be translated to a digital form
and optionally compressed in bandwidth. Examples include
G.711 and G.729.
- H.26x codecs
- These recommendations define methods for digitising
analogue video signals.
- H.225.0
- This protocol has two purposes. If an optional
gatekeeper entity exists in a network, then H.225.0
defines the means by which a terminal may register with
that gatekeeper and seek admission to the network. Even
if a gatekeeper is not present, H.225.0 defines the way in
which endpoints communicate with each other to setup or
clear down calls. In the latter case, H.225.0 is used in
conjunction with Q.931.
- H.245
- Having established a connection between two endpoints
using H.225.0 and Q.931, H.245 is used between the
terminals (or other endpoints) to establish the logical
channels through which the media will transmitted.
- Q.931
- Q931 is a a call signalling protocol used extensively
in ISDN networks for setting up and clearing down calls.
Q.931 is also used for establishing H323 calls. H.225.0
call control messages are embedded within the user-to-user
elements of Q931 messages to provide additional
information not available in Q.931 such as IP address
information.
- RTP
- RTP is the protocol used to provide timing and
synchronisation for digitised voice and video being
transmitted through a packet network. When transmitted
through an IP network, RTP relies on the lower layer UDP
protocol to transport it through a network between
computer applications.
- RTCP
- RTCP is closely related to RTP. It defines a protocol
mechanism for terminals to provide feedback regarding the
quality of media received using RTP. RTCP is transmitted
using UDP between dynamically allocated sockets.
- T.120
- T.120 defines a means of exchanging data during a
multimedia call. Applications may include file transfer,
chat, application sharing and whiteboarding. T.120 is
transmitted using a number of TCP channels.
|
|
If an optional gatekeeper entity is present
in a network, then H.225.0 defines the RAS (Registration,
Admission and Status) messages that are used to communicate
with that gatekeeper. H.225.0 RAS messages are transmitted
using UDP on ports 1718 and 1719. Although not extensive,
there follows a list of some of the defined messages:
- RegistrationRequest (RRQ)
- This message is sent to a gatekeeper by an endpoint to
request that the endpoint be registered and become under
the control of that gatekeeper.
- RegistrationConfirm (RCF)
- A positive reply from a gatekeeper to a
RegistrationRequest message.
- RegistrationReject (RRJ)
- A negative reply to a RegistrationRequest message.
- AdmissionRequest (ARQ)
- A request from an endpoint to a gatekeeper for
permission to participate in a call. The gatekeeper
formulates its reply based on several factors, including
the availability of bandwidth in the network.
- AdmissionConfirm (ACF)
- A positive response from a gatekeeper to an
AdmissionRequest message.
- AdmissionReject (ARJ)
- A negative response to an AdmissionRequest message.
- LocationRequest (LRQ)
- This message is sent to a gatekeeper to request its
address translation service.
- InfoRequest (IRQ)
- This message is sent from a gatekeeper to request
status information of its recipient.
H.225.0 RAS messages are defined using the ASN.1 notation
(X.680). The messages are encoded for transmission using
the aligned variant of PER (Packet Encoding Rules) as
defined in X.691. The result is a complicated but compact
encoding that is not humanly readable. |
 |
 |
H.225.0 - Call signalling (including Q.931)
|
 |
 |
|
Once the optional gatekeeper admission
process has been successfully completed, Q.931 is used set
to set up and tear down calls through a network. Q.931 is
transmitted through a network using TCP, usually to port
1720. On its own, Q.931 does not pass information that is
specific enough for calls through IP networks. However,
Q931 allows an optional user-to-user element to be
transmitted, and this is used to pass H.225.0 call
signalling messages. Some of the H.225.0 call signalling
messages embedded within a Q931 message are shown below:
- Setup-UUIE
- This messages is used to initially request that a call
is set up. It is the equivalent of dialling a number on a
normal telephone.
- CallProceeding-UUIE
- This message is sent to the calling party to indicate
that the call has is currently being processed by the
called terminal.
- Alerting-UUIE
- This indicated to the calling party that the called
terminal is ringing.
- Connect-UUIE
- This is sent from the called terminal back to the
calling terminal. It is the equivalent of answering the
call. After a connect has been received, the actual
transmission channels needs to be set up using H245.
- ReleaseComplete-UUIE
- This message can be sent by either party participating
in an active call. It is an indication that the sender
wishes to end the call. An acknowledgement is not
required, although it is sometimes sent.
Q.931 messages are transmitted using a simple octet
aligned method. Each message includes a Protocol
Discriminator, a Call Reference Value, a Message Type
indicator and a number of optional Information Elements.
One of these Information Elements is the User to User
element, and this is used to hold the H.225.0 call
signalling messages.
H.225.0 Call signalling messages are defined using the
ASN.1 notation (X.680). The messages are encoded for
transmission using the aligned variant of PER (Packet
Encoding Rules) as defined in X.691. The result is a
complicated but compact encoding that is not humanly
readable. |
|
Once two terminals have used Q931 to agree
that they are willing to communicate with each other, they
must agree on media formats that they are both able to
handle and must set up the logical channels through which
the media is transmitted. H.245 is used to set up these
channels. Logical channels may carry voice, video or data.
Q.931 is transmitted through a network using TCP between
dynamically allocated ports. Some are the messages defined
by H.245 are shown below:
- TerminalCapabilitySet
- This message is part of the capabilities exchange
during which the two terminals agree on the media formats
to be used during the call.
- MasterSlaveDetermination
- During the setup control of media channels, one of the
participants must act as the controlling end of the
logical channels. The master or controlling end is
determined using this and its associated messages.
- OpenLogicalChannel
- This message is sent by a terminal to indicate that it
wishes to send a media stream to the recipient or that it
wishes to establish a T.120 data channel. The message
includes details of the type of media to be transmitted.
- OpenLogicalChannelAck
- This is sent by the recipient of the
OpenLogicalChannel message to indicate that it is willing
to accept the media. It includes a transport address to
which the media should be sent. For audio and video, this
address would be a UDP socket (IP address and port
number).
H.245 messages are defined using the ASN.1 notation
(X.680). The messages are encoded for transmission using
the aligned variant of PER (Packet Encoding Rules) as
defined in X.691. The result is a complicated but compact
encoding that is not humanly readable. |
|
H.323 is not the only recommendation for
multimedia transmission. A newer protocol is being
developed by the Internet
Engineering Task Force called SIP. The two protocols
are very different. SIP messages are text based and
similar in format to existing Internet protocols such as
HTTP. It has been argued that SIP is more suited to
Internet applications and is easier to implement in
software.
H.323 has a head start on SIP, but SIP has the advantage
that its development is under the control of the IETF, a
body that often reacts much quicker to industry requirements
than the ITU. It is yet to been seen which protocol (if
any) will become dominant. |
|
DUAL Gatekeeper is an H.323 NAT proxy that
allows H.323 devices within a LAN to reach IP addresses on
the Internet and place public telephone calls using ITSP
gateway or gatekeeper services.
You are invited to try a demonstration version of DUAL
Gatekeeper |
|