Here's more information on compiling gnugk on SME...
Why do you need gnugk? You want an H.323 gateway running on your sme
box. For more information about this or why you might want this, go
see
http://www.openh323.org or
http://www.gnugk.org. I want people
from outside to be able to call into hosts on my internal network
running Netmeeting. I want internal users to be able to call each other
by name, rather than IP address. If I have my internal users register with the
opengk gatekeeper running on my SME box, this should be possible.
If you're going to compile code on your mitel SME box, you
need to install the dev-tools packages.
# mkdir /root/compiler
# cd /root/compiler
# wget
#
http://myezserver.com/downloads/mitel/contrib/dev-tools/SME512/*
# {might work; I didn't actually do it this way; I clicked on each
# individual file... }
Wait patiently. Also, if you are going to compile something that
requires flex or bison (like gnugk), you'll need to go get them as
well. This may work:
#wget \
ftp://fr2.rpmfind.net/linux/redhat/7.1/en/os/i386/RedHat/RPMS/flex-2.5.4a-13.i386.rpm#wget \
ftp://fr2.rpmfind.net/linux/redhat/7.1/en/os/i386/RedHat/RPMS/bison-1.28-5.i386.rpmIf this doesn't work, do a search on rpmfind for flex and bison and
get the appropriate rpms.
Once everything is downloaded, you should be able to run the
install.sh script, which does an rpm install for you, by doing this.
#!/bin/sh
/bin/rpm -Uvh --force *.rpm
Now, you have a compiler environment that should enable you to build
gnugk from source.
First, you'll need the libraries from the OpenH.323 project. There is
a gotcha here, in that the latest version of the openh323 libraries
will *not* work properly with the current version of gnugk. Instead, I
got these versions:
#wget
http://www.openh323.org/bin/pwlib_1.4.9.tar.gz #wget
http://www.openh323.org/bin/openh323_1.11.4.tar.gzUnpack the two archives. You need to compile the pwlib first. Read the
ReadMe.txt carefully and follow the instructions. Do the same with
open323. On my old SME box, these libraries took a *long* time to
compile (long meaning hours; it's been a while since I've seen compile
times like this).
Make sure you follow the advice in the ReadMe.txt and test the
/root/openh323/samples/simple/obj_linux_x86_r/simph323 app that gets
created.
This process should result in properly built libraries in these
directories:
* /root/pwlib
* /root/openh323
Before building the gnugk tools, you need to fix your library paths.
There are various ways to do this. For testing, I just added them
into the ld.so.conf. To do this, edit /etc/ld.so.conf and insert the
following lines
##
# Add to get gnugk to work for h.323
##
/root/openh323/lib
/root/pwlib/lib
Save the file and do
#/sbin/ldconfig
to update the library paths cache.
Now, you're ready to get and unpack the gnugk binaries. Go to
http://www.gnugk.org. At least with SME5.12, I wasn't be able to use
the pre-built binary for gnugk, because it requires a library that I
didn't have. So get the source:
#cd /root
#wget
http://www.gnugk.org/download/gk-2.0.2.tgz #tar xvfz gk-2.0.2.tgz
This will create a folder called 'openh323gk'
#cd openh323gk
For testing purposes, I built the simplest binary, without LDAP or
MySQL support.
#NO_MYSQL=1 NO_LDAP=1 make both
After more testing, I'll probably rebuild with LDAP support. After
compilation, you should have a working binary located in
/root/openh323gk/obj_linux_x86_r/ named opengk. This binary can be
moved to /usr/sbin on your SME box. There are sample config files in
/root/openh323gk/etc. I copied the proxy.ini config file to
/etc/gnugk.ini. Finally, I copied /root/openh323gk/gk.initd.redhat to
/etc/rc.d/init.d/gk. This is a sample init file. You'll need to look
through it to make sure that it works for you. Out of the box, it
seems to work, although I had to add a new log dir, /var/log/gk/ . You
should also read the section in the online manual about adding some
sort of authentication to close off access to port 7000 (the status
port for the gnugk system)
Now, for the fun part -- learning how to use this tool. I'll report back once I actually get this to work and understand whether this solves my particular problem or not.
Regards,
Ben