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:
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.