Get to Know the H.323 VoIP Protocol Suite
In my previous post I wrote about the Session Initiation Protocol as one of the choices for VoIP services. Today, I’ll introduce you to the other end of the specctrum, H.323, and let you make the decision for yourself.
The Need for an Internet Telephony Protocol Suite
The evolution of TDM telephony into Voice over IP required the standardization of a protocol suite that could satisfy the requirements of voice traffic inside IP networks. In 1996, ITU standardized those requirements by issuing recommendation H.323. H.323 is considered to be a protocol suite rather than a specific protocol. It references a range of specific protocols for call setup, data transmission and capabilities negotiation.
The H.323 model consists of a gateway which is responsible for connecting PSTN networks into the Internet side. This node needs to understand both PSTN protocols and H.323 protocol suite. Also within an H.323 zone, a gatekeeper is possible to exist which is responsible for end-users registration and admission control within a given zone of operation. End users in this model are called terminals.
The image below presents a general H.323 architectural model:
This model simply points out the basic components of an H.323 enabled network. Details about the role of each node in this architecture are presented further on.
Get to Know the Protocols within the H.323 Protocol Suite
- RAS (Registration/Admission/Status): defined as H.225 (RAS) protocol in the standard. RAS messages are originating by the gateway at the moment a terminal initiates a call. These messages are transported using UDP (user datagram protocol) to the gatekeeper.
- H.225: also known as H.225.0 call control signaling. This protocol specifies the use and support of Q.931 signaling messages. This protocol is responsible for establishing and releasing connections.
- H.245: used after establishment of the connection, between the two gateways, to negotiate parameters of the call such as codecs to be used, video or conference support, timer values, etc. Moreover, IP logical channel ports are exchanged for the RTP sessions and eventually the transmission of data and/or voice traffic.
RTP is the protocol used for transporting voice packets and it is managed by RTCP.
The image below presents a sample PSTN – to – H.323 call flow:
What You Need to Know About the Call Flow
- A RegistRation Request (RRQ) is sent to register the calling terminal on the Gatekeeper. The later responds with a Registration Confirmed (RCF) if it accepts the RRQ.
- Then the gateway initiates an Admission Request (ARQ) message to the gatekeeper requesting bandwidth. ARQ grants the bandwidth requirements if there is no congestion in the network and also returns the Destination IP address of the Remote Gateway so that call control should be able to begin.
- Among other things, the gatekeeper uses its database to return the IP address of the terminating gateway according to the called number. It’s a good point to mention here that the gatekeeper could also take part in the call session establishment and act as a proxy between gateways. This type of signaling control is called Gatekeeper-Routed Call Signaling (GKRCS) and takes place only if the gatekeeper requests so with the exchange of RAS messages.
- Only after a reliable TCP connection on TCP port 1720 the gateway is able to initiate a H.225 SETUP message. Within this message, the telephone number of the called terminal is specified. This message is transmitted via the reliable control channel to the terminating gateway. This message in its native form is transferred to the terminating gateway controller for ISDN-to-ISUP mapping. At the same time an H.225 CALL PROCEEDING message is returned to the originating gateway to indicate correct receipt of the request.
- When the called party’s terminal rings, an H.225 ALERT message is returned to the calling gateway and when it answers, an H.225 CONNECT message is returned to indicate establishment of the connection.
- In Basic H.323 call setup, after receiving the CONNECT message, the two gateway end-points open another logical channel for the H.245 control function. Only after capabilities are exchanged and RTP logical channels are chosen the media traffic can begin. This method is known as H.245 tunneling through H.225.0 connection.
- There is also an H.323 Fast Connect method where call setup procedure incorporates the control channel for H.245; therefore H.225 call SETUP contains H.245 negotiation components and logical channels for the RTP traffic.
Troubleshooting the Cisco VoIP Gateway
Assuming a Cisco AS5300 is used as a Media Gateway, a brief description is provided regarding a sample of ISDN and H.323 troubleshooting commands that could be used.
- Show isdn status
- Show isdn active
- Show Controllers E1 timeslots 1-31
- Show RLM Group #
This command is quite useful because it indicates at first glance whether the Physical PRI link is active or not. It also indicates the status of Layer 2 (Q.921). The required Layer 2 status is “MULTIPLE_FRAME_ESTABLISHED”. Moreover active calls and their associated B-channel are presented.
This command is useful in order to see the actual calling and called party numbers.
This command shows the state of the E1 interfaces along with the state of each individual channel on the E1s.
This command indicates the active link between the media gateway controller and the media gateway within group 0. Via this link call signaling messages are exchanged.
Why Choose H.323?
H.323 is a standardized protocol suite which has proven to be reliable throughout interoperability trials. So why not stick with it since everything is well documented, tested, and operating? There are actually several reasons that disqualify H.323 from the number one choice, but the ultimate decision is up to you. So here are the negatives of H.323:
- Complexity: H.323 is a rather complex protocol. It includes a great amount of protocol stacks and consequently consists of many header fields.
- Representation: H.323 uses ASN.1 for its binary representation, the later requiring special code generators to parse.
- Limited Security: H.323 coexistence with various protocols makes the operation of a firewall much more difficult to accomplish its scope.
- Inextensibility: It cannot easily support new services especially the ones that require mobility and “present”. In general is not open to extensions.