OpenH323 Gatekeeper Frequently Asked Questions

Version 0.6. See also OpenH323 Gatekeeper home page.
1. What is a H.323 gatekeeper ?
1.1. Tell me more about H.323, OpenH323 and gatekeepers.
1.2. Can I use the gatekeeper for NAT/masquerading H323 calls through a firewall ?
2. Why should I use a gatekeeper ?
3. How can I control my VoIP network with the gatekeeper ?
4. Compiling the source
4.1. What OS do I need to compile / run the gatekeeper ?
4.2. Can I get a pre-compiled binary ?
5. gk and gktest usage
6. Can I help in the development ?
7. What additional functionality is needed / planned ?
8. What implications does the GPL license have ?
9. How to contact us

1. What is a H.323 gatekeeper ?

A H.323 gatekeeper controls all H.323 clients (endpoints like MS Netmeeting) in his zone. Its most important function is address translation between symbolic alias addresses and IP addresses. This way you can call "jan" instead of knowing which IP address he currently works on.

1.1. Tell me more about H.323, OpenH323 and gatekeepers.

In brief; H.323 is a communications standard for audio, video, and data over the Internet.
See also Paul Jones' primer on H.323.
And Henning Schulzrinne's page on H.323.

The OpenH323 project is developing an Open Source H.323 protocol stack. This gatekeeper is based on the OpenH323 source.

This is also a nice description of what a gatekeeper does.

1.2. Can I use the gatekeeper for NAT/masquerading H323 calls through a firewall ?

Use the proxy function that has been introduced in version 2.0.

2. Why should I use a gatekeeper ?

If you currently use a client and are happy with the way it works there may be no reason to use a gatekeeper. If you however work in a larger VoIP setup using symbolic addresses is definitely a great plus. More importantly the gatekeeper is the key to the management of a VoIP network.

VoIP gateways for example register at the gatekeeper and the gatekeeper finds the right one for you to use to call a specific number.

A gatekeeper can also manage the bandwidth used by the clients. Currently we grant all bandwidth requests until a predefined limit is reached. In the future we could implement a more detailed schema.

3. How can I control my VoIP network with the gatekeeper ?

You need a program that connects to the gatekeeper status port (TCP port 7000). Currently it will receive information which endpoint is engaged in a call and which is not.

We will provide such a monitoring client in the near future.

In the future this interface will receive much more detailed call information and will allow active control over the calls, like terminating calls via the gatekeeper.

4. Compiling the source

See gk/compiling.txt

4.1. What OS do I need to compile / run the gatekeeper ?

Stable version of the gatekeeper run on all platforms supported by the OpenH323 library, which include a wide variety of Unixes and MS-Windows and others OSs.

4.2. Can I get a pre-compiled binary ?

I believe everybody should have a C / C++ compiler and be able to compile simple projects. This way source code gets spread and I get good patches and bugfixes.

Some people have a different opinion about this (which is perfectly ok) and some OS vendors don't even provide a compiler. Because of this some folks actually go through the trouble of providing pre-compiled OpenH323 Gatekeeper binaries.

There are a few pre-compiled binaries on the project homepage, but they might not be the most recent version.

5. gnugk and gktest usage

gnugk is the gatekeeper program.
Usage: gnugk [-b bandwidth] [-r] [-h home-ip] [-t -t ...] [-o file]
gktest is a small endpoint test program. But if possible use a commercial endpoint or gateway or voxilla for testing the gatekeeper.
Usage:  gktest -k hostname [-g] [-r] [-a] [-d] 

                 -k hostname     Gatekeeper Host Name  [--gatekeeper]
                 [-g ]           Discovery (send GRQ)  [--GRQ]
                 [-r ]           Register (Send RRQ)   [--RRQ]
                 [-a ]           Admission (Send ARQ)  [--ARQ]
                 [-d ]           Disengage (Send DRQ)  [--DRQ]

6. Can I help in the development ?

Sure, this is an Open Source project! Even if you are not a programmer we always need people for testing newly implemented features. Especially if you have commercial H.323 endpoints or gateways to test with, we need your help.

If you are a programmer, go ahead and fix things you find are broken or missing. I suggest that you contact me before you start, so I can provide you with the most current development version. I also try to coordinate the various people who are working on the gatekeeper to get you somebody to discuss your problems with and avoid duplication of work. If you send if patches I preferr a "diff -u".

BTW: We could also use somebody to help us further with the documentation...

7. What additional functionality is needed / planned ?

This is a fast moving target. Please look into todo.txt of the current gatekeeper distribution. You'll find many suggested projects; some with guidelines on how they could be implemented.

8. What implications does the GPL license have ?

The gatekeeper is not published under the same license as OpenH323. While OpenH323 uses the MPL (Mozilla Public License), the gatekeeper is published under GPL (GNU Public License).

The GPL requires that all derived works must be published under GPL also. That means that you must publish full source for all extensions to the gatekeeper and for all programms you include the gatekeeper into.

If that's not what you want, you must interface to the gatekeeper through the status thread and communicatie via TCP with it. That way you only have to integrate the basic funtionality into the gatekeeper (and provide source for that) and can keep other parts of your application private.

9. How to contact us

Please send questions and comments to the Gatekeeper Users mailinglist (Subscribe).

Bugs and patches should be directed to the Gatekeeper Developers mailinglist (Subscribe).