|
|
|
|
|
|
|
 |
 |
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.
- 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. RTP is not discussed further in this document, but
there is a white
paper available that describes the IP/UDP/RTP protocols.
- 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. |
|
|
To study H.323 in more details, we suggest the following sources of
information:
- Carrier Grade Voice over IP - Daniel Collins
- This book includes, amongst other things, an excellent discussion of H323 and SIP.
- Packetizer.com
- A resource for packet-switched conversational protocols. Includes many technical
papers and implementation notes, including a particularly useful comparison between H.323
and SIP.
|
 |
| This document
should not be viewed as a consultative document. It is the readers' responsibility to
ensure that the most appropriate telecommunications strategy is applied to his or her
business. No liability is accepted by the authors for omission or error. |
|
|
|