Next Previous Contents

2. Compiling and Installing

2.1 Compiling the Gatekeeper

To build the gatekeeper you need at least PWLib 1.5.0 and OpenH323 1.12.0 or later. The development version of the gatekeeper usually needs the most recent OpenH323 version available. These libraries are available at OpenH323 Download Page. See the instructions on how to compile the OpenH323 code.

Order of compiling:

  1. PWLib (release + debug version)
  2. OpenH323
  3. OpenH323 test application (not needed, just to make sure everything works so far)
  4. The Gatekeeper

On Unix do a configure and make debug or make opt in the gatekeeper directory to build debug or release version, respectively. Use make both to build both versions. Note you have to use GCC 3.3.x or later. The older version may not work. Good practice is to do a make debugdepend or make optdepend in the gatekeeper directory before starting actual compilation (make debug or make opt) - these commands build approtiate dependency lists, so after you will update your sources from CVS, all affected files will get recompiled. Otherwise you can finish with the Gatekeeper partially compiled with the older headers and partially with the updated headers - a very bad thing. On Windows just open and compile the provided project (gk.dsw) for Microsoft Visual C++ 6.0 or 7.0 (Visual C++ 5.0 is too old).

Type configure --help to see a detailed list of all compile time options. You can use them to enable or disable some features of the gatekeeper. For example, if you do not need RADIUS just type: configure --disable-radius.

To build the gatekeeper that is statically linked with system and OpenH323 libraries, make optnoshared or make debugnoshared has to be used.

In order to use the gatekeeper under heavy load, enabling LARGE_FDSET feature is recommended (configure --with-large-fdset=1024). Most systems also need kernel reconfiguration/recompilation in order to allow more than 1024 sockets to be allocated for a single process. Note that the PWLib library starting from version 1.5.3 supports a similar feature too, so you can choose between LARGE_FDSET GnuGk and PWLib implementation. GnuGk native implementation gives better performance results. Maximum LARGE_FDSET value should be calculated based upon predicted maximum sockets usage. A rule of thumb may be:

MAX_NUMBER_OF_CONCURRENT_CALLS * 10 * 120%

Where:
10 = 2 sockets for Q.931 + 2 sockets for H.245 + 6 sockets for RTP and other stuff
So for 100 concurrent calls you don't need more than ca. 1024 sockets in the LARGE_FDSET.

2.2 Installing the Gatekeeper

There is no special installation procedure needed. Just copy the executable to the directory you like and create a config file for it. There are several config examples in the etc/ subdirectory of source tree. See section Configuration File for detailed explanations.

For example, in Linux x86 platform, the optimized executable gnugk is produced in obj_linux_x86_r/ subdirectory. You may copy it to /usr/sbin/, create a config in /etc/gnugk.ini and start it by

$ /usr/sbin/gnugk -c /etc/gnugk.ini -o /var/log/gnugk.log -ttt
See section Command Line Options for details.

2.3 Pre-Built Binaries

If you do not wish to compile the gatekeeper from source, there are several pre-built `packages' available from SourceForge. Not all versions will be made available as binaries - check what is avilable.

Tar packages (.tgz or .tar.gz)

Download the tar file and enter the following command as root, substitute in the name of the file you downloaded.

$ tar xvzf gnugk-x.x.x.tar

Debian packages (.deb)

Debian includes the gatekeeper as openh323gk package. You can install it by using the following command as root:

$ apt-get install openh323gk


Next Previous Contents