In order to appreciate how VoIP networks function, it is important to have an awareness of the base protocols and components used to facilitate the communications process. The primary protocol used to enable multimedia applications like voice and video to function over packet-switched networks is known as H.323, an ITU-T recommendation. Prior to the development of H.323, different vendors used a variety of different standards and proprietary methods of managing multimedia applications on networks, which led to interoperability issues. Today, VoIP equipment and software support the H.323 standard to ensure the highest level of interoperability possible.
The main function of H.323 is not as a transport or network protocol, but rather to perform call control and management functions on a packet-switched network (H.323 is considered a session layer protocol). Within the H.323 specification, two additional signaling methods are required for the transport of voice traffic:
- H.225. The H.225 specification uses the Q.931 protocol (the same one outlined in the ISDN section of Chapter 11) for call control signaling between two H.323 devices. This includes functions like call setup and termination.
- H.245. The H.245 specification creates a reliable connection between H.323 devices that is used to exchange information about the codec to be used, the capabilities of the devices (which allows them to determine a common level of compatibility during a session), flow control information, the port numbers to be used, and so forth.
When two H.323 devices attempt to establish a session, H.225 is first used to establish the call (using TCP for reliable transport). H.245 then creates a TCP connection for the purpose of exchanging information about the capabilities of both devices, identify the port numbers to be used, and open a logical channel over which the VoIP traffic will ultimately be passed. Finally, the voice traffic is transferred from one endpoint to another using the appropriate upper-layer protocol (to be identified shortly), which in turn uses the connectionless UDP protocol to transport the actual voice packets across the network. Notice that in this example, TCP is the transport protocol used for call establishment and management, since it is reliable. However, UDP is used for the actual transmission of the voice traffic, since it is time-sensitive.
Note: Remember that H.323 is the primary call control and management protocol used on VoIP networks, and that voice calls are initiated and managed using H.225 and H.245 respectively. H.323 allows the software and hardware of different vendors to interoperate, providing organizations with a high degree of flexibility in developing a solution appropriate to their environment.
H.323 networks consist of four main types of components, as outlined below. Not every network will require each of the components listed, depending upon the specific needs of the organization.
- Terminals. A terminal is an H.323-compliant end-point such as an IP telephone or a PC running software such as Microsoft NetMeeting. All H.323 terminals must support voice networking, but data capabilities like video support are optional. Two H.323 terminals can communicate directly with one another without any additional components assuming that they know how to reach each other (via IP address, for example).
- Gateways. A gateway is an optional component on an H.323 network that provides a variety of different services depending upon the needs of an environment. For example, a gateway can be used to allow an H.323-compatible device to communicate with another device that does not support H.323, such as a traditional phone connected to the PSTN. Similarly, a gateway can be used to translate between the codecs used on different H.323 devices if necessary. On a Cisco network, a gateway would be a voice-enabled router or switch.
- Gatekeepers. A gatekeeper in another optional component on an H.323 network, typically found on larger networks. A gatekeeper is used to register H.323 devices and gateways, allowing them to find and establish sessions with one another as necessary. A gatekeeper also performs functions like call control, bandwidth management, and authorization for H.323 components. Gatekeepers are also capable of making decisions as to how traffic should be forwarded between devices, such as routing calls over a particular WAN link, or the PSTN if necessary. Gatekeepers can also be used to simplify the management of H.323 gateways. When multiple H.323 gateways need to be configured on a large network, it can become time consuming and administratively intense. Instead, a gatekeeper can be configured for an entire zone that includes multiple gateways, and then handle call control functions for all of those gateways in a centralized manner. On a Cisco network, a gatekeeper is typically a server running third-party software, or a Cisco IOS router.
- Multipoint control units (MCUs). An MCU is another end-point on a LAN that allows multipoint conferences to occur on an H.323 network. For example, this might be an audio conference with three or more participants. MCUs are only required in this capability is required on the H.323 network. On an H.323 network, MCU capabilities might be found on a terminal, gateway, or gatekeeper.
As mentioned previously, when two H.323 terminals are connected to the same network and need to communicate, a gateway is not required. However, when an H.323 terminal (such as an IP telephone) needs to communicate with a non-H.323 device (such as a phone connected to the PSTN), an H.323 gateway is required. In this case, the gateway is typically a voice-enabled Cisco router. A voice-enabled Cisco router is a model that includes a voice module, which uses a digital signal processor (DSP). A DSP is the hardware that translates voice to IP, and vice versa.