Difference between revisions of "H323 analysis"
Line 10: | Line 10: | ||
# '''User equipment interfaces''': The set of cameras, screens, microphones, speakers and data applications with their respective interfaces. | # '''User equipment interfaces''': The set of cameras, screens, microphones, speakers and data applications with their respective interfaces. | ||
− | |||
# '''Audio Codec''': Each terminal will have an audio codec, to codify and to decodify vocal signals (G.711), and they could transmit and receive a-law and μ-law. Optionally, a terminal, could codify and decodify vocal signals. The H.323 terminal can, also optionally, send more of one audio channel at the same time, for example, in order to transmit 2 different languages | # '''Audio Codec''': Each terminal will have an audio codec, to codify and to decodify vocal signals (G.711), and they could transmit and receive a-law and μ-law. Optionally, a terminal, could codify and decodify vocal signals. The H.323 terminal can, also optionally, send more of one audio channel at the same time, for example, in order to transmit 2 different languages | ||
− | |||
# '''Video Codec''': In H.323 terminals is optional. | # '''Video Codec''': In H.323 terminals is optional. | ||
− | |||
# '''Data Channel''': One or more data channels are optional. They could be in one direction or in both. | # '''Data Channel''': One or more data channels are optional. They could be in one direction or in both. | ||
− | |||
#''' Reception Path latency''': It includes the latency added to the packets to maintain the synchronization, and to consider the fluctuation in the packet arrivals. Usually it is not used in transmission but in the reception, to add the necessary latency, for example, to obtain the synchronization between the movement of the lips and the audio signal in a videoconference. | #''' Reception Path latency''': It includes the latency added to the packets to maintain the synchronization, and to consider the fluctuation in the packet arrivals. Usually it is not used in transmission but in the reception, to add the necessary latency, for example, to obtain the synchronization between the movement of the lips and the audio signal in a videoconference. | ||
− | |||
#''' System Control Unit''': Gives the terminal signaling. There are three different functions: H.245 Control function, H.225 call signalling function and RAS signaling function. | #''' System Control Unit''': Gives the terminal signaling. There are three different functions: H.245 Control function, H.225 call signalling function and RAS signaling function. | ||
Line 28: | Line 23: | ||
#''' H.225 Layer''': It is in charge to give format to the video, audio, and transmitted data packets. In addition, it also takes care of the packet alignment, the sequential number and the error detection. | #''' H.225 Layer''': It is in charge to give format to the video, audio, and transmitted data packets. In addition, it also takes care of the packet alignment, the sequential number and the error detection. | ||
− | |||
# '''Packet network interface''': It is specific of each implementation. This must provide the services described in the H.225 recommendation. That means that the reliable end-to-end service (for example, TCP) is mandatory for the H.245 control channel, the data channels and call signaling channels. | # '''Packet network interface''': It is specific of each implementation. This must provide the services described in the H.225 recommendation. That means that the reliable end-to-end service (for example, TCP) is mandatory for the H.245 control channel, the data channels and call signaling channels. | ||
− | The non reliable end-to-end service (UDP, IPX) is mandatory for the audio channels, the video channels and the RAS channel These services can be duplex or simplex and unicast or multicast depending on the application, the terminals capacities and the network configuration. | + | The non reliable end-to-end service (UDP, IPX) is mandatory for the audio channels, the video channels and the RAS channel These services can be duplex or simplex and unicast or multicast depending on the application, the terminals capacities and the network configuration. |
− | |||
== Gateway == | == Gateway == |
Revision as of 21:04, 19 February 2007
This standard defines a great number of characteristics and functions. Some are necessaries and other optional ones. But H.323 defines much more that functions. The standard defines also the following components:
Contents
Terminal
An H.323 terminal is an endpoint in the LAN that participates in real-time, two-way communications with another H.323 terminal, gateway, or multipoint control unit (MCU). A terminal must support audio communication and can also support audio with video, audio with data, or a combination of all three.
H.323 terminal options include support user equipment interfaces, audio and video CODECs, the T.120 data protocols, MCU capabilities and an H.225 component called RAS (Registration/Admission/Status) which is a protocol used to communicate with a Gatekeeper.
- User equipment interfaces: The set of cameras, screens, microphones, speakers and data applications with their respective interfaces.
- Audio Codec: Each terminal will have an audio codec, to codify and to decodify vocal signals (G.711), and they could transmit and receive a-law and μ-law. Optionally, a terminal, could codify and decodify vocal signals. The H.323 terminal can, also optionally, send more of one audio channel at the same time, for example, in order to transmit 2 different languages
- Video Codec: In H.323 terminals is optional.
- Data Channel: One or more data channels are optional. They could be in one direction or in both.
- Reception Path latency: It includes the latency added to the packets to maintain the synchronization, and to consider the fluctuation in the packet arrivals. Usually it is not used in transmission but in the reception, to add the necessary latency, for example, to obtain the synchronization between the movement of the lips and the audio signal in a videoconference.
- System Control Unit: Gives the terminal signaling. There are three different functions: H.245 Control function, H.225 call signalling function and RAS signaling function.
- H.245 Control function: The H.245 logical channel is used to take messages end-to-end of the H.323 protocol. It takes care to negotiate the capacities (bandwidth), to set up and set down the logical channels and to send the flow control messages. In each call, there will be any number of logical channels of each type (audio, video or data) but only one control logical channel, channel 0.
- H.225 Call signalling function: It uses one logical channel of signaling to send and receive establishment and end session messages between two H.323 end points. The channel is independent of the H.245 control channel. The H.245 logical channel opening and closing procedures are not used to establish the signaling channel. It is opened before the establishment of the H.245 control channel and any other logical channel. It can settle down terminal to terminal or terminal to gatekeeper.
- RAS Control function (Register, Admission, Status): It uses a logical channel of RAS signaling to carry out registry, admission, situation and bandwidth changes procedures between end points (terminal, gateway..) and gatekeeper. It is only used when a gatekeeper is present. The RAS signaling channel is independent of the call signaling channel, and of the H.245 control channel. The H.245 logical channel opening and closing procedures are not used to establish the RAS signaling channel. The RAS control function channel is opened before the establishment of the any other logical channel
- H.225 Layer: It is in charge to give format to the video, audio, and transmitted data packets. In addition, it also takes care of the packet alignment, the sequential number and the error detection.
- Packet network interface: It is specific of each implementation. This must provide the services described in the H.225 recommendation. That means that the reliable end-to-end service (for example, TCP) is mandatory for the H.245 control channel, the data channels and call signaling channels.
The non reliable end-to-end service (UDP, IPX) is mandatory for the audio channels, the video channels and the RAS channel These services can be duplex or simplex and unicast or multicast depending on the application, the terminals capacities and the network configuration.
Gateway
These devices provide many services, including the needed translation function between H.323 conferencing endpoints on the LAN and other ITU-compliant terminals on other ITU-compliant circuit-switched and packet-switched networks. These services include translation between transmission formats (for example H.225.0 to H.221) and between communications procedures (for example H.245 to H.242). In addition, the Gateway also does the translation between audio and video CODECs if this is needed as well as performs call setup and clearing.
Gatekeeper
Gatekeepers perform two important call control housekeeping chores which help preserve the integrity of the corporate data network. The first is address translation services between LAN aliases for terminals and gateways and IP or IPX addresses. The second Gatekeeper function is bandwidth management. For instance, if a LAN manager-specified threshold for the number of simultaneous conferences on the LAN has been reached, the Gatekeeper can refuse to make any more connections. The effect is to limit the total number of conferencing bits/s to some fraction of the total available; the remainder is left for email, file transfers, and other normal store-and-forward data functions. The collection of all Terminals, Gateways, and Multipoint Control Units managed by a single gatekeeper is known as an H.323 Zone.
A Gatekeeper make the following services if is present (it is not always necessary):
- Admission control: The gatekeeper can deny calls from a terminal because they do not have permission or they do not have permission at that moment of the day or some other criteria. Admissions Control may also be a null function which admits all requests.
- Bandwidth control: To control the number of H.323 terminals which can be simultaneously connected and to deny calls if the bandwidth is too low.
- Zone Management: The Gatekeeper provides the above functions for terminals, MCUs, and Gateways which have registered within its Zone of control.
MCU
An MCU is an endpoint on the LAN that provides the capability for three or more terminals and gateways to participate in a multipoint conference. It controls and mixes video, audio, and data from terminals to create a robust video conference. An MCU can also connect two terminals in a point-to-point conference that can later develop into a multipoint conference.
MULTIPOINT CONTROLLER
A multipoint controller is a component of H.323 that provides negotiation capacity with all the terminals to carry out different communication levels. Also, it can control conference resources such as video multicasting.
MULTIPOINT PROCESSOR
A multipoint processor is a hardware and specialized software component of H.323. It mixes, exchanges and processes audio, video and/or data flow for the participants of a multipoint conference, in such a way that the terminal processors are not used heavily. The multipoint processor can process an only average flow or multiple average flows depending on the supported conference.
PROXY H.323
An H.323 proxy server is a proxy specifically designed for the H.323 protocol that examines packets between two communicating applications. Proxies are able to determine the destination of a call and perform call-connection steps, if necessary.
H.323 proxies perform the following key functions:
- Voice terminals that do not support Resource Reservation Protocol (RSVP) can connect through remote access or local area networks (LANs) with relatively reliable quality of service (QoS) to the proxy. Pairs of proxies can then be employed to develop tunnels across the IP network.
- Proxies support routing H.323 traffic separately from ordinary data traffic using application-specific routing (ASR).
- Proxies are compatible with network address translation functions in gateways or gatekeepers, enabling H.323 to be deployed in networks using private address space.
H323 Protocol stack
(source)
The most known protocols used in H.323 are:
- RTP/RTCP (Real-Time Transport Protocol / Real-Time Transport Control Protocol): Internet-standard protocol for the transport of real-time data, including audio and video. RTP is used in virtually all voice-over-IP architectures, for videoconferencing, media-on-demand, and other applications. A thin protocol, it supports content identification, timing reconstruction, and detection of lost packets.
- RAS (Registration, Admission and Status): A protocol for Registration, Admission and Status. In an H.323 audio or video system, the RAS is a control channel over which H.225.0 signaling messages are sent.
- H225.0: Protocol used to describe call signaling, the media (audio and video), the stream packetization, media stream synchronization and control message formats
- H.245: Control protocol for multimedia communication, describes the messages and procedures used for opening and closing logical channels for audio, video and data, capability exchange, control and indications
It manages the following functionalities:
- Interchange of capacities: Terminals define the codecs they have and they send it to the other end point.
- Opening and closing logical channels: H.323 audio and video channels are point to point and unidirectional. Therefore they will have to create at least two of these channels. This is responsibility of H.245.
- Flow Control when there is a problem.
- A lot of different small functions.
- Q.931: A protocol for Call Signaling, consisting of Setup, Teardown and Disengage. Q.931 is included in the H.225.0 Recommendation
- RSVP (Resource ReSerVation Protocol): Protocol for reserving network resources to provide guaranteed application QoS (Quality of Service)
- T.120: Standard for data conferencing and conference control for interactive multimedia communication - multipoint & point-to-point.
The following codecs are recommended by the H.323 standard:
- G.711: ITU-TSS recommendation "Pulse code modulation (PCM) of voice frequencies". This audio standard is mandatory for all video conferencing systems. It requires a data rate of 56 or 64 kbit/s.
- H.261y H.263: Video codecs of H.323 standard. However, other ones can be used.
Client possibilities
For some possible H323 (and SIP) VoIP clients you can check this list The only two that support both H323 and linux are:
Another option is the commandline ohphone. No graphical interface.
Ekiga
If it were to work the interface is supposed to look like this To be downloaded from the ekiga page. Unfortunately the packages OPAL and PWLIB libraries have to be installed first. This is a tedious and time comsuming process (lots of compiling needed). When we were finally done with this we tried to configure ekiga but we got the error message: Package gnome-doc-utils was not found in the pkg-config search path. We gave up since no system manager was available at this moment and decided to go on exploring the SJPhone option first.
Gnomemeeting
Today (1-31) the system manager installed all the necessary packages. But there is a problem for Ekiga when locating the audio-plugins; failing this stops the program execution. Compilation from the sources has been tried as well; unfortunately, after compiling and installing several libraries, the process got stuck on pwlib, where Ekiga requires version 1.10.3 but Debian provides only 1.10.0. Another installed H323 client is the predecessor of Ekiga, Gnomemeeting. This is already installed on the system and seems to work. So far we don't know if this is working; the application starts and everything seems ok, sound support as well. So far no H323 extension is plugged in into TrixBox; this is the next step to support H323 communication.
SJPhone
Very straightforward download from SJ Labs (VoIP software). You get the following interface.
Note: At least the Windows version of SJ-phone is still using SIP, even when this is disabled in the configuration. When using 2 instances of SJphone, to call eachother, the connection is true H323.
H323 and TrixBox
We tried to look up some information on H323 and TrixBox. From the information on the web it seems that this is a tricky topic. Many questions, few answers. People seem to have trouble with it. I haven't been through all the correspondence on the TrixBox forum but it seems that most people have a hard time even setting up a connection (lots of configuring) and when they do succeed the connection dies after 15-30 seconds. We will look into this a bit more tomorrow.
- H.323 for Asterisk - Existing implementations.
- H.323 topics - Various topics on Trixbox-forum.
- More H.323 links on the Links-page.
- Configuration Sjphone