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).