Ceci est le manuel Français pour GNU Gatekeeper 2.2.1 (partially updated for 2.3.2).
Une version plus récente (Anglais) du manuel se trouve dans l'archive téléchargée de GnuGk.

Chapitres: Contenu · Introduction · Installation · Pour commencer · Config basique · Routage · Config RAS · Authentification · Accounting · Voisins · Config par terminal · Config avancée · Surveillance

3. Tutoriel

3.1 Un premier exemple très simple

Pour s'assurer que tous les composants fonctionnent, trouvez 2 stations de travail Linux, toutes les deux connectées au réseau local. Ces exemples utilisent également le logiciel "OhPhone". Sur la première machine, éxécuter le gatekeeper en mode direct:

jan@machine1 > gnugk -ttt

L'option "-ttt" indique au gatekeeper d'écrire un maximum de traces de debug dans la console (vous pouvez rediriger cette sortie vers un fichier avec la commande "-o logfilename").

Démarrer maintenant OhPhone dans une autre console:

jan@machine1 > ohphone -l -a -u jan

Cet OhPhone est maintenant à l'ècoute d'appels entrants(-l) et les acceptera automatiquement (-a). Il s'est enregistré comme utilisateur jan auprès du gatekeeper. OhPhone tentera de déterminer automatiquement la location du gatekeeper, mais si cette détection automatique échoue, utiliser "-g 1.2.3.4" pour spécifier l'addresse IP du gatekeeper.

Sur la deuxième machine, démarer ohphone de cette manière:

peter@machine2 > ohphone -u peter jan

La deuxième instance de OhPhone s'enregistre auprès du gatekeeper détecté automatiquement en tant qu'utilisateur peter et essaye d'appeler jan. Le gatekeeper déterminera le numéro IP sous lequel jan s'est enregistré (machine1 dans ce cas) et OhPhone appellera l'autre instance de OhPhone sur machine1.

L'instance d'OhPhone sur machine1 acceptera automatiquement cet appel: Peter et Jan pourront parler.

3.2 Utilisation de l'interface Status pour surveiller le gatekeeper

L'interface Status est une manière d'intéragir avec un gatekeeper en cours d'éxécution à l'aide de texte.

Dans une nouvelle console sur machine1 nous utilisons telnet pour nous connecter au gatekeeper:

jan@machine1 > telnet machine1 7000

Vous devriez recevoir un message "Accès interdit!" car l'accès à ce port est restreint par défaut.

Créer maintenant un fichier appelé gatekeeper.ini dans le répertoire où dans lequel nous démarrons le gatekeeper. gatekeeper.ini contient seulement 4 lignes:

[Gatekeeper::Main]
Fortytwo=42
[GkStatus::Auth]
rule=allow

Arrêter le gatekeeper avec Ctrl-C, redémarrer le gatekeeper en spécifiant qu'il doit utiliser le gatekeeper.ini qui vient d'être créé.

jan@machine1 > gnugk -ttt -c ./gatekeeper.ini

Utiliser telent pour se connecter au port 700 et vous devrez maintenant être autorisé à vous connecter au gatekeeper.

jan@machine1 >  telnet localhost 7000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Version:
Gatekeeper(GNU) Version(2.3.1) Ext(pthreads=1,radius=1,mysql=0,pgsql=0,firebird=0,odbc=0,sqlite=0,large_fdset=0,crypto/ssl=1,h46018=1,h46023=1) Build(Aug 12 2009, 09:30:37) Sys(Linux i686 2.6.28-14-generic)
Startup: Tue, 25 Aug 2009 15:30:44 -0500   Running: 2 days 21:30:50
;

Répétez maintenant le premier exemple lorsque Peter appelle Jan et observez quels messages sont traités par le gatekeeper en mode non routé.

Il y a de nombreuses commandes qui peuvent être traitées dans la session telent - tapez "help" pour les voir.

Pour quitter la session telnet avec le gatekeeper, tapez "quit" et appuyez sur Entrée.

Cependant, l'exemple de fichier de configuration que nous avons créé n'est pas bien sécurisé car il a un paramétrage par défaut allow, donc il n'y a aucune restriction sur qui peut se connecter et quelles commandes cet utilisateur peut exécuter.

Modifier le fichier de configuration de cette manière:

[Gatekeeper::Main]
Fortytwo=42
[GkStatus::Auth]
rule=password
gkadmin=QC7VyAo5jEw=

La cinquième ligne a été ajoutée par l'utilitaire addpasswd, qui a été utilisé pour créér l'utilisateur "gkadmin" avec le mot de passe "secret. Ce changement permet l'authentification par le port d'état.

Redémarrer le gatekeeper avec cette nouvelle configuration et éxécutez telnet à nouveau. On vous demande maintenant un nom d'utilisateur et un mot de passe.

jan@machine1 >  telnet localhost 7000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

GnuGk login: gkadmin
Password: secret
Version:
Gatekeeper(GNU) Version(2.3.1) Ext(pthreads=1,radius=1,mysql=0,pgsql=0,firebird=0,odbc=0,sqlite=0,large_fdset=0,crypto/ssl=1,h46018=1,h46023=1) Build(Aug 12 2009, 09:30:37) Sys(Linux i686 2.6.28-14-generic)
Startup: Tue, 25 Aug 2009 15:30:44 -0500   Running: 2 days 21:33:32
;

La section GkStatus::Auth contient plus d'informations sur la sécurisation du port d'état.

3.3 Démarrage du gatekeeper en mode routé

Démarrer le gatekeeper en mode routé signifie que le gatekeeper utilise la "signalisation routée du gatekeeper" pour tous les appels. Dans ce mode tous les messages de signalisation du gatekeeper passent par le gatekeeper qui a beaucoup plus de contrôle sur les appels.

Démarrer GnuGk de la manière suivante:

jan@machine1 > gnugk -r

Le gatekeeper tourne maintenant en mode routé. Faire un telnet sur le port d'état et faîtes un appel pour voir quels messages sont maintenant traités par le gatekeeper.

Noter que tous les paquets media (audio et vidéo) sont toujours envoyés directement entre les terminaux (les 2 instances de ohphone).

3.4 Un PBX virtuel: Déconnexion des appels

Jusqu'à maintenant le gatekeeper a seulement servi de mécanisme pour résoudre des noms symboliques en adresses IP. Il s'agit d'une fonction importante, mais le gatekeeper est capable de beaucoup plus.

Puisque le gatekeeper a beaucoup de contrôle sur les appels, il peut les terminer par exemple. Quand nous sommes connectés au port d'état, nous pouvons obtenir la liste de tous les appels en cours avec "PrintCurrentCalls". Pour terminer un appel, nous pouvons dire "Disconnectip 1.2.3.4" pour un de ses terminaux.

Quelqu'un pourrait par exemple écrire un script simple qui se connecte au port d'état, surveille les appels en cours et les termine après 5 minutes, de telle sorte qu'aucun utilisateur ne puisse abuser des ressources système.

Regardez les autres fonctions téléphoniques telles que TransferCall pour voir ce qui est disponible.

3.5 Routage d'appels sur une passerelle pour atteindre des utilisateurs externes

Sans utiliser de passerelle vous pouvez seulement appeler d'autres personnes avec un téléphone IP sur Internet. Pour atteindre les gens disposant d'un téléphone ordinaire vous devez utiliser une passerelle.

_________________          ______________
| endpoint "jan"|          |            |
| 192.168.88.35 |--------->| Gatekeeper |
|_______________|          |            |
_________________          |            |
| gateway "gw1" | outgoing |            |
| 192.168.88.37 |<---------|____________|
|_______________|

Le gatekeeper doit savoir quels appels sont supposés être routés par la passerelle et quels numéros doivent être appelés directement. Utilisez la section [RasSrv::GWPrefixes] du fichier de configuration pour indiquer au gatekeeper le préfixe des numéros qui doivent être routés par la passerelle.

[RasSrv::GWPrefixes]
gw1=0

Cette entrée indique au gatekeeper de router tous les appels aux numéros E.164 qui commencent par 0 sur la passerelle qui s'est enregistrée avec l'alias H.323 "gw1". Si il n'y a pas de passerelle enregistrée avec cet alias l'appel échouera.

NB:Il faut noter que vous devez utiliser l'alias de la passerelle - vous ne pouvez pas juste indiquer au gatekeeper l'addresse IP de la passerelle.

Un préfixe peut contenir des chiffres 0-9, # et *. Il peut aussi contenir un carctère spécial . (un point) qui correspond à n'importe quel chiffre et peut être préfixé par ! (un point d'exclamation) pour désactiver le préfixe. La correspondance des préfixes est faite en respectant la règle du plus long préfixe correspondant, avec les règles ! ayant une priorité supérieure si les longueurs sont égales. Quelques exemples:

[RasSrv::GWPrefixes]
; Cette entrée routera les numéros commençant par 0048 (mais pas par
; 004850 et 004860) vers gw1
gw1=0048,!004850,!004860
; Cette entrée correspond uniquement à 001 avec 10 chiffres après
gw2=001..........

3.6 Réécriture de numéros E.164

Quand vous utilisez une passerelle vous devez souvent utiliser des numéros différents en interne et les réécrire avant de les envoyer par la passerelle sur le réseau téléphonique. Vous pouvez utiliser la section RasSrv::RewriteE164 pour configurer ceci.

Exemple: Vous voulez appeler le numéro 12345 avec votre téléphone IP et atteindre le numéro 08765 derrière la passerelle "gw1".

[RasSrv::GWPrefixes]
gw1=0

[RasSrv::RewriteE164]
12345=08765

Vous pouvez aussi configurer la réécriture de numéros E.164 en fonction de quelle passerelle vous recevez un appel ou vous en envoyez un en utilisant la section RasSrv::GWRewriteE164.

Exemple: Vous avez deux passerelles différentes ("gw1" et "gw2") auxquelles vous envoyez des appels avec le préfixe 0044, mais qui nécessitent l'ajout d'un préfixe différent après que le routage ait choisi la passerelle. Ce peut être par exemple pour des raisons d'identification.

[RasSrv::GWPrefixes]
gw1=0044
gw2=0044

[RasSrv::GWRewriteE164]
gw1=out=0044=77770044
gw2=out=0044=88880044

Exemple: Vous voulez identifier les appels d'une passerelle particulière "gw1" avec un préfixe spécifique avant de passer ces appels à une autre passerelle "gw2".

[RasSrv::GWPrefixes]
gw2=1

[RasSrv::GWRewriteE164]
gw1=in=00=123400

Les expressions de réécriture acceptent les caractères jokers point '.' et pourcent '%' pour permettre de construire des règles plus générales. Le caractère point peut apparaître à la fois à gauche et à droite de l'expression, le signe pourcent peut apparaître uniquement à la gauche de l'expression. Utilisez '.' pour indiquer n'importe quel caractère et le copier dans la chaîne réécrite et '%' pour indiquer n'importe quel caractère et l'omettre. Quelques exemples simples:

[RasSrv::RewriteE164]
; Réécrit 0044 + min. 7 chiffres en 44 + min. 7 digits
0044.......=44.......
; Réécrit les numéros commencant par 11 + 4 chiffres + 11 en 22 + 4 digits + 22
; (comme 11333311 => 22333322, 110000112345 => 220000222345)
11....11=22....22
; omet les 4 premiers chiffres de tous les numéros (11114858345 => 4858345)
; c'est équivalent à 10 règles %%%%1=1, %%%%2=2, ...
%%%%.=.
; insère deux zéros au milieu du numéro (111148581234 => 11110048581234)
....48=....0048
; même ceci est possible (415161 => 041051061)
4.5.6=04.05.06


Page suivante Page précédente Table des matières

Chapitres: Contenu · Introduction · Installation · Pour commencer · Config basique · Routage · Config RAS · Authentification · Accounting · Voisins · Config par terminal · Config avancée · Surveillance



Last updated: 16. Nov 2017
Page maintained by Jan Willamowius