This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
Chapter 7: Replacing Call Signaling with VoIP
signaling protocol, then H.225 can establish the media parameters immediately, fore-
going the H.245 session after the called party has picked up the phone. In this event,
the RTP session will be open by the time the called party answers. This is useful in
minimizing the perception of lag in call startup when gateways are involved.
SoftPBX H.323 implementations
Because H.323 is such a distributed approach (gatekeepers, gateways, MCUs can all
be on different hardware), it’s tempting not to think of the standard as a way of
achieving software-based PBX functionality. But in reality, most softPBX makers
who’ve standardized on H.323 are putting gatekeepers, gateways, and MCUs all in
one box and calling it a softPBX. This is an accurate description of what a fully func-
tional H.323 network does—uses software to switch calls across multiple data links
using a variety of physical interfaces, the same purpose as a softPBX.
Avaya, Nortel, and others that support H.323 offer most of these functions on a sin-
gle Ethernet host—often a server blade that mounts inside their PBX chassis.
Cisco offers a consolidated approach in their media gateways. While they don’t offer
an MCU, Cisco’s media gateways do provide H.323 gatekeeper and gateway func-
tions and therefore are softPBXs in their own right. H.323 terminals can register with
a Cisco media gateway if it’s running a gatekeeper and place calls through it to the
PSTN if it has a POTS or PRI interface with a phone company dial-tone plugged in.
Telephony vendors’ use of the term media gateway doesn’t necessarily
mean an H.323 gateway, a device for connecting VoIP networks to the
PSTN. Cisco’s media gateways, for example, are modular router/
server hybrids that offer some softPBX functionality, often including
an H.323 gateway, but not always.
Project 7.1. Build an H.323 Gatekeeper Using Open H.323
What you need for this project:
Open H.323 software
GnuGK (Gnu gatekeeper) software
H.323 softphone such as MS NetMeeting
Open H.323 is an open source implementation of the H.323 signaling protocol suite,
managed by QuickNet Technologies, the same company that makes the Internet
Phone Jack line of analog interface cards. Open H.323 is distributed in binary and
source code forms for both Linux and Windows, though a crafty hacker should be
able to get it running on a BSD-ish OS, too.
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
This project will allow a Microsoft NetMeeting H.323 softphone and an Open H.323
OhPhone softphone to place calls through an H.323 gatekeeper running on a Linux
computer. In this example, we’ll use Microsoft NetMeeting on Windows XP and
OhPhone on Mac OS X.
Although Open H.323 provides a framework of tools for developing H.323 servers
and endpoints, it also natively implements a complete H.323 gateway, MCU, and
endpoint. Here’s a partial list of software packages that accompany Open H.323:
A simple H.323 gatekeeper server example
An H.323 softphone for Linux and Windows (OhPhoneX is the Macintosh ver-
An H.323 conference bridge server
An H.323 gateway server
Each of these requires the base distributions of Open H.323 and its prerequisite,
PWLib, a project-specific class library.
Open H.323s requirements
A machine with specs like those required by Asterisk should be sufficient to run a
small-scale H.323 gatekeeper. A Pentium III clocked at 600 mHz will be able to han-
dle this project. The PC should be running Linux (though H.323 is also Windows-
compatible). It can be the same PC that runs Asterisk, if you like.
Download and compile Open H.323
The best place to get Open H.323 is from its maintainer’s web site, http://www. Compiling all of these elements is pretty straightforward on
Linux. If you want to run Open H.323 on Windows, find the precompile executa-
bles. That said, these instructions are for Linux.
First, download and install PWLib. Save pwlib_1.5.2.tar.gz (or the filename appro-
priate for the version you download) to /root as the root user. Then, unzip and untar
# tar xvzf pwlib_1.5.2.tar.gz
Now, you’ll need to set some environment variables so Open H.323 software knows
where to find the PWLib libraries:
# export PWLIBDIR
# OPENH323DIR=$HOME/openh323

Get Switching to VoIP now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.