Videoconferencing Protocols
Different videoconferencing
software communicate in different manners. Each one has a protocol that it follows
to maintain calls with other endpoints.
H.323
The H.323 protocol has very specific architecture
and call procedures. It was designed by the ITU to become a standard, and has
been adopted by many clients such as Microsoft Netmeeting, CUSeeMe,
and OpenH323.
H.323 Architecture
H.323 architecture calls for a few different
nodes, or software programs running on separate computers. These
nodes consist of:
- Clients
- MCUs
- Gateways
- Gatekeepers
Each of these node types serves a different function in a videoconference:
Clients:
Clients are the only part of the H.323 architecture
that the end users see. Microsoft Netmeeting is a good example; the
client is the program which sends and receives audio and video data. An
H.323 call can be set up just between two clients (a Point to Point conference), or utilizing
an MCU (a multipoint conference).
MCU:
An MCU (Multipoint Control Unit)
serves as the "conference room" for a multipoint conference. It controls
where each data stream (audio, video, etc.) is sent, and allows more than
two users to communicate simultaneously. In reality, an MCU is made
up of two distinct parts: an MC (Multipoint Controler),
and one or more MP's Multipoint Processors). The MC
"decides" what to do with each of the streams, whether it is mixing the audio
streams into one or selecting which video to send to the other clients.
After the MC has done its job, it sends a message to the MP's, which
then do the actual data processing. The separation of the MCU into
these two components allows for much more efficent processing of the large
amount of data that is sent to the MCU in a typical conference.
Gateways:
A Gateway is an optional compenent
in an H.323 conference. It can serve a few functions, all of which
can be useful, but none of which are essential in most conferences. The
main service a gateway provides is translation, in which it "translates"
between different audio and video codecs
or even different protocols. This may allow a user with an ordinary
phone (working over the POTS, or Plain Old Telephone
Service) to participate in an H.323 conference.
Gatekeepers:
A gatekeeper acts as a "virtual switch"
to control where information goes during a multipoint conference. It
can perform IP address translation
(in which it converts a string such as "John" to an IP address that the
network understands). It also takes care of bandwidth management for
the call, allocating and managing the neccesary bandwidth for a smooth conference.
H.323 Channels
When communicating using H.323, certain channels
must be maintained to transmit data. Each of these channels
is merely a data stream that is routed to a specific interpreter within the
client program.
H.245
The H.245 channel is the main control channel.
It is used for capabilities negotiation (figuring out what each client
is capable of), creation and destruction of other channels, and most other
general controls not specifically governed by other channels.
Q.931
The Q.931 channel is used to establish the initial
connection between two endpoints.
RAS
The RAS channel (Registration Administration
Status) takes care of communications between an endpoint and a gatekeeper.
If there is no gatekeeper, RAS is not used.
Audio/Video
The audio and video channels are each distinct, and
are usually labeled by their codec's name
(ex. the G.711 audio channel and the H.261 video channel).
T.120
The T.120 channel is an optional channel used for
data transfer. This data can be used for file-sharing, whiteboard applications,
or chat.
SIP
SIP (Session Initialization Protocol)
is just what its name implies: a protocol for initializing communications
sessions. SIP is a standard developed for internet videoconferencing.
However, while SIP is easily used for starting a session, it contains
no protocol for the actual operation of the session. For this reason,
two clients both using SIP could find themselves unable to communicate because
they have disparate conference protocols. So, if you decide to use
an SIP client, make sure that it is compatible with the clients of whomever
you are planning on conferencing with.
For more detailed information on SIP, please see
the Radvison explanation of SIP.