Dans une architecture H.323, le Gatekeeper peut être comparé à un DNS. Il permet d’enregistrer les adresses des clients H.323 et effectue les résolutions entre une adresse H.323 et une adresse IP. Nous allons dans ce billet voir comment installer et configurer un très bon Gatekeeper open-source: GNU Gatekeeper.
Installation
Exemple d’installation donnée sous Linux Ubuntu (à adapter selon votre distribution)
Sur Ubuntu:
# sudo apt-get install gnugkSur Fedora:
# yum install gnugk
Configuration
Les options sont réunies dans le fichier /etc/gatekeeper.ini. Une description des options est disponible en Français ou en Anglais (souvent plus à jour).
On commence par sauvegarder le fichier par défaut (si il existe):
# sudo mv /etc/gatekeeper.ini /etc/gatekeeper.ini.default
Ensuite on édite un nouveau fichier avec nos options:
# sudo vi /etc/gatekeeper.ini
[Gatekeeper::Main]
Fortytwo=42
Name=MonGK
StatusPort=7000
[GkStatus::Auth]
rule=password
gkadmin=secret
Premier test en ligne de commande
Nous allons lancer le daemon GNUgk en mode foreground:
# gnugk -tt -c /etc/gatekeeper.ini
Ensuite on lance un premier client ohphone (très utile pour les tests, c’est en fait un client H.323 en ligne de commande). On déclare donc ce client H.323 avec un nom d’utilisateur Nicolargo (-u nicolargo) en mode écoute (-l) et avec un décrochage automatique appel (-a).
# ohphone -l -a -u nicolargo
GNUgk dispose par défaut d’un mécanisme permettant de déclarer son existence sur le réseau. Selon la configuration de ce dernier, il se peut que l’auto-détection du Gatekeeper par OHphone ne fonctionne pas:
…
Searching for gatekeeper…
No gatekeeper found.
…
Dans ce cas il faut ajouter l’option suivante à la commande ohphone: -g <adresse IP du Gatekeeper>
Si tout se passe bien, vous devrier voir la ligne suivante dans les logs gnugk:
2008/04/10 16:54:54.903 2 RasSrv.cxx(413) GCF|192.168.29.125|nicolargo:h323_ID|terminal;
Sur une autre machine du réseau, vous pouvez lancer une autre commande ohphone qui va déclarer un deuxieème utilisateur (-l popof) et appeler l’utilisateur nicolargo:
# ohphone -u popof nicolargo
Deux nouvelles lignes vont alors apparaître au niveau des logs gnugk. La première confirme l’enregistrement du client H.323 popof. La seconde montre qu’il y a eu un appel entre
2008/04/10 17:01:26.446 2 RasSrv.cxx(413) GCF|192.168.29.77|popof:h323_ID|terminal;
ARJ|192.168.29.125:1720|nicolargo:h323_ID|popof [::ffff:192.168.29.77]:h323_ID|true|routeCallToGatekeeper;
La configuration est maintenant validé. Vous pouvez donc tuez le processus gnugk et le relancer proprement via les commande système:
Sur Ubuntu:
# /etc/init.d/gnugk startSur Fedora:
# service gnugk start
Test avec un “vrai” client H.323
J’utilise Xmeeting, un très bon client open-source sur mon Mac. Voici la configuration à faire pour déclarer ce client sur notre serveur GNU Gatekeeper (cette procédure est applicable sur d’autres clients H.323, software ou hardware).
On directement dans les propriétés puis dans la section Comptes:
Ensuite, on va dans l’onglet Configurations pour y associer le Gatekeeper:
Enfin on vérifie que l’enregistrement c’est bien déroulé:
Administration de GNU Gatekeeper
Il est possible de se connecter à distance à GNU Gatekeeper en utilisant un telnet sur le port 7000:
# telnet <adresse IP gatekeeper> 7000
…
?
AllRegistrations
RCF|192.168.1.100:1720|popof:h323_ID|terminal|1420_endp
RCF|192.168.29.77:1720|nicolargo:h323_ID|terminal|4393_endp
Number of Endpoints: 2
quit
Et voilà, vous avez maintenant à disposition un bon Gatekeeper libre performant et stable !