GNU Gatekeeper Logo

Home
· Contact
· Events
· Logos
· Site Map

Download
· Gatekeeper
· Java GUI
· ISDN Gateway
· CTI / ACD

Documentation
· English Manual
· French Manual
· Spanish Manual
· Persian Manual
· Portuguese Manual
· Chinese Manual
· FAQ
· Interoperability
· Intro to H.323
· Usage Examples
· Configuration Notes
· GnuGk and SIP
· Recommended Books
· Success Stories

Tools & Addons
· GnuGk Addons
· Endpoints
· Gateways
· MCUs
· IVRs
· Billing
· Commercial Addons

Development
· Development Version
· Compiling
· NAT Traversal
· Tools
· Authors

Ceci est le manuel Français pour GNU Gatekeeper 2.2.1.
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

1. Introduction

1.1 A propos

OpenH323 Gatekeeper - The GNU Gatekeeper est un projet open-source qui implémente un gatekeeper H.323. Un gatekeeper fournit des services de contrôle d'appel pour les terminaux H.323. Il s'agit une partie essentielle de la plupart des installations de téléphonie sur internet qui sont basées sur la norme H.323.

Selon la recommandation H.323, un gatekeeper doit fournir les services suivants:

  • Traduction d'Adresse
  • Contrôle d'Admissions
  • Contrôle de Bande Passante
  • Gestion de Zone
  • Call Control Signaling
  • Autorisation d'Appel
  • Gestion de Bande Passante
  • Gestion des Appels

Le GNU Gatekeeper implémente la plupart des fonctions basées sur la pile du procole OpenH323

La recommandation H.323 est une norme internationale publiée par l' ITU. Il s'agit d'une norme de communication pour l'audio, vidéo et données sur Internet. Voir aussi l'introduction à la série de normes H.323. de Paul Jones.

Pour une description de ce que fait un gatekeeper, voir ici.

1.2 Copyright

Il est couvert par la GNU General Public License (GNU GPL). En supplément de celle-ci, nous autorisons explicitement de lier ce code à la librairie OpenH323 et OpenSSL.

D'une manière générale, la GNU GPL vous autorise à copier, distribuer, revendre ou modifier les logiciels, mais elle requière que toutes les créations dérivées soient aussi publiées sous GNU GPL. Ceci signifie que vous devez publier tout le code source de toutes les extensions à gatekeeper et de tous les programmes qui incluent gatekeeper. Voir le fichier COPYING pour les détails.

Si ce n'est pas ce que vous voulez, vous devez vous interfacer au gatekeeper au travers du port d'état et communiquer par TCP avec lui. De cette façon vous devez seulement intégrer les fonctions de base dans le gatekeeper (et en fournir les sources) et conserver les autres parties privées de votre application.

1.3 Nom

Le nom exact de ce projet est OpenH323 Gatekeeper - The GNU Gatekeeper, en résumé GnuGk.

1.4 Caractéristiques

La version 2.2.2 contient les caractéristiques et corrections suivantes:

  • New FileIPAuth module in the contrib/ipauth directory.
  • Call accounting updates/call disconnect handling is now more robust and does not lock the whole call table and (effectively) the gatekeeper for long time periods.
  • Do not support mutiple rewrite targets, as this feature does not work well if rewrite is performed more than once.
  • The gatekeeper could crash if the connection was closed before the welcome message has been sent to the client.
  • Different Username was reported during Setup auth and acct step, if no sourceAddress has been present for an unregistered call.
  • More missing config reload locks added to allow seamless config reload.
  • La valeur par défaut de la variable de configuration ForwardOnFacility a été changée à 0.
  • Possibilité d'encoder tous les mots de passe dans la configuration. Nouvelle variable de configurationEncrypAllPasswords, utilisation étendue de la variable de configuration KeyFilled.
  • La possibilité de lire les paramètres de configuration depuis une base SQL a été portée depuis la branche 2.0. Lire [SQLConfig] pour de plus amples informations.
  • Framed-IP-Address ne pouvait pas être déterminé pour les appels non enregistrés sans champ, Setup-UUIE.sourceCallSignalAddress, ce qui fait échouer l'authentification.
  • Fournit une gestion adéquate des alias du type partyNumber (e164Number ou privateNumber).
  • Une correction pour RTP/Q931/H245/T120PortRange pour corriger une anomalie avec le bouclage du domaine des ports si le dernier port est 65535. Ceci amenait le port suivant à être mis à 0 et les allocation ultérieures de port échouaient.
  • L'allocation dynamique de ports RTP ne marchait pas, utilise un domaine de ports figé 1024-65535 comme valeur par dé pour la variable de configuration RTPPortRange.
  • Les modules auth obsolètes MySQLAliasAuth et MySQLPasswordAuth sont supprimés.
  • Les modules SQL acceptent un seul serveur de base de données dans le paramètre Host.

La version 2.2.1 contient les caractéristiques et corrections suivantes:

  • Amélioration de la correspondance des préfixes pour les politiques de routage. Un point (.) correspond à n'importe quel chiffre.
  • Amélioration de la correspondance des voisins. Un point (.) correspond à n'importe quel chiffre. ! au début désactive le préfixe.
  • Un verrou manquant pendant le rechargement de la configuration faisait crasher le gatekeeper.
  • Sélection plus fiable de numéro de port pour les plages de port de Q.931, H.245, T.120 et RTP (avant, un rechargement de la configuration pouvait cause des erreurs pour beaucoup d'appels à, cause de l'impossibilité d'allouer une nouvelle socket).
  • La valeur par défaut de RTPPortRange est maintenant de laisser l'OS sélectionner un numéro de port.
  • Règles de réécriture plus flexibles (global et par passerelle) avec les nouveaux caractères wildcard '.' et '%'.
  • Amélioration de la correspondance des préfixes pour les passerelles. Un point (.) correspond à n'importe quel chiffre. ! au début désactive le préfixe.
  • Insère le Calling-Party-Number-IE/Display-IE manquant si les otpions correspondantes Screen... sont activées.
  • Arrête le gatekeeper si il y a des erreurs dans la configurationd es modules SQL aut/acct
  • Le type de numéro Called-Station-Id peut être sélectionné entre le numéro original (numéro composé) et le numéro réécrit. Nouvelle option de configurgation UseDialedNumber pour les modules RadAuth/ RadAliasAuth / RadAcct, nouvelle variable %{Dialed-Number} pour les modules SQLAcct et FileAcct.
  • Possibilité de modifier les formats d'horodate. Nouvelle variable de configuration TimestampFormat pour les parties main, [SqlAcct], [RadAcct], [FileAcct] et [CallTable].
  • Les modules RadAuth/RadAliasAuth peuvent maintenant ajouter/supprimer des alias de terminaux pendant l'enregistrement de terminaux (en utilisant h323-ivr-in=terminal-alias: Cisco AV-Pair).
  • Nouvelle option TcpKeepAlive pour régler le problème avec les erreurs réseau et les appels bloqués dans la table d'appel. Voir docs/keepalive.txt pour de plus amples informations.
  • Nouvelle commande du port d'état RouteToGateway.

La version 2.2.0 contient les caractéristiques et corrections suivantes:

  • Nouvelle option de configuration RoundRobinGateways.
  • Limites de capacité d'appel et routage des priorités pour les passerelles. Nouvelles sections de configuration EP:: pour des paramètres de configuration par terminal (voir Per-Endpoint Configuration Settings).
  • RTP proxy handling moved to a separate RTP proxy threads, so processing of signaling messages does not block RTP packets. New RtpHandlerNumber config option.
  • REUSE_ADDRESS option enabled on listening sockets in non-LARGE_FDSET mode to fix a bug with the gatekeeper being unable to open listening ports after restart.
  • Ability to set call destination in auth modules. RADIUS based call routing.
  • Support for SqlBill tariff table import from an OpenOffice.org Calc spreadsheet.
  • Fixed sourceInfo LRQ field handling - now it contains an H.323 identifier of the gatekeeper. Nonstandard data and gatekeeperIdentifier fields are set only when the neighbor is defined as GnuGk.
  • Ability to set shared secrets for each radius server separatelly.
  • New, much faster, Radius client implementation.
  • Called-Party-Number-IE rewrite occured too late, causing auth/acct modules to receive the original number instead of the rewritten one.
  • Fixed proxying of RTP packets, so RTP sockets are not closed on temporary errors (like remote socket not yet ready). This bug affected especially NAT traversal and situation, when audio was sent very early, when reverse proxy path has not been yet established.
  • Fixed handling of RRJ from an alternate GnuGk.
  • New direct SQL accounting module ( [SQLAcct]).
  • Handling multiple reply messages (RIP/LCF/LRJ) from neighbors fixed.
  • Support for CallCreditServiceControl in RCF and ACF messages, which allows reporting call duration limit and user's account balance to endpoints. Currently RadAuth and RadAliasAuth modules support this feature.
  • Log file rotation, new LogFile config section, new setlog and rotatelog status interface commands.
  • Do not include an invalid access token (with null object identifier) in LCF to prevent interoperability problems.
  • Better handling of multiple calls over a single signalling channel by setting multipleCalls and maintainConnection H.225.0 fields to FALSE in all messages passing through the gatekeeper.
  • Better User-Name, Calling-Station-Id and Called-Station-Id handling.
  • IncludeEndpointIP flag for RadAuth, RadAliasAuth and RadAcct is obsolete, these modules will always send Framed-IP-Address.
  • New Gatekeeper::Auth flag SetupUnreg to toggle Q.931 Setup authentication for unregistered endpoints only.
  • New RADIUS h323-ivr-out=h323-call-id parameter that contains an H.323 Call Identifier.
  • The SQL billing from the contrib section can now authenticate users only by their IP (ignoring User-Name) and has a new, more flexible tariff/rating engine.
  • RadAliasAuth can authenticate now Setup messages without sourceAddress field present (it will use Calling-Party-Number instead).
  • Better signal handling to prevent accidental gatekeeper crashes (due to SIGPIPE, for example).
  • CDR rotation per number of lines works correctly.

Of course, the major functions in version 2.0 are also included:

  • The registration table and call record table are redesigned, thread-safe, and very efficient. Support ten thousands of registrations and thousands of concurrent calls.
  • A new routed mode architecture that support H.225.0/Q.931 routed and H.245 routed without forking additional threads. Thus the thread number limit will not restrict the number of concurrent calls.
  • Support H.323 proxy by routing all logical channels, including RTP/RTCP media channels and T.120 data channels. Logical channels opened by H.245 tunnelling and fast-connect procedure are also supported. In proxy mode, there is no traffic between the calling and called parties directly. Thus it is very useful if you have some endpoints using private IP behind an NAT box and some endpoints using public IP outside the box.
  • Support gatekeepers cluster by exchanging LRQ/LCF/LRJ (neighboring function). If the destination of a received LRQ is unknown, the GnuGk can forward it to next hop. Therefore the GnuGk can work as a directory gatekeeper.
  • Support various authentication methods for selectable RAS requests, including H.235 password (MD5, SHA-1 and CAT), IP pattern and prefixes matching. MySQL and LDAP are supported as backend database for authentication.
  • Support alternate gatekeepers for redundancy and load balancing. If the GnuGk is overloaded, the endpoints can be redirected to other gatekeepers.
  • Can work as an endpoint (gateway or terminal) by resigtering with a parent gatekeeper. With this feature, building gatekeeper hierarchies is easily.
  • Monitor and control the GnuGk via TCP status port, including registration and call statistics.
  • Output CDR(call detail record) to status port for backend billing system. The CDR contains call identifier, calling and called IP, start and end time and call duration.
  • Most configurations are changeable at runtime. The GnuGk rereads the configurations on receiving reload command via status port, or on receiving HUP signal (Unix platform).

1.5 Téléchargement

La dernière version stable et une version de développement sont disponibles sur la page de téléchargement.

La toute dernière version du code source est sous CVS sur Sourceforge Web-GUI. Attention - il s'agit de la pointe de la technologie.

Vous pouvez aussi télécharger certains exécutables depuis la page de téléchargement.

1.6 Liste de Diffusion

Il y a deux listes de diffusion pour le projet, une pour les développeurs et une pour les utilisateurs.

Les questions d'ordre général doivent être envoyées à la liste de diffusion des utilisateurs. Vous pouvez trouver les archives de la liste ici. Pour vous joindre à cette liste de diffusion, cliquez ici.

Pour signaler des problèmes ou des anomalies/patches, envoyer des mails à la liste de diffusion des développeurs. Les archives de la liste sont ici. Veuillez envoyer les questions utilisateur à la liste de diffusion des utilisateurs et garder cette liste pour le développement! Si vous voulez contribuer au projet, veuillez rejoindre la liste de diffusion.

Note: Merci de ne pas envoyer vos questions par des mails privés aux développeurs. Nous sommes habituellement occupés. Nous ne voulons pas être votre consultant personnel, à moins que vous souhaitiez nous payer. Envoyez vos problèmes à la liste de diffusion appropriée de telle sorte que tout le monde puisse vous aider.

Merci aussi de ne pas envoyer les problèmes spécifiques de GnuGk à la liste de diffusion OpenH323, ou vice versa. Il s'agit de projet distincts, bien que très apparentés.

Avant d'envoyer un mail, assurez-vous d'avoir lu les documents associés méticuleusement. Décrivez votre problème clairement et avec précision. Montrez nous les messages d'erreur ou les logs si il y en a.

1.7 Participants

Le coordinateur actuel du projet est Jan Willamowius <jan@willamowius.de>

Les principales caractéristiques et fonctions de la version 2.0 ont été contribuées par Chih-Wei Huang et Citron Network Inc., incluant l'enregistrement et les tables d'appel thread safe, une nouvelle architecture de mode routé, proxy H.323, authentification H.235 et MySQL backend.

Michal Zygmuntowicz <m.zygmuntowicz@onet.pl> a fait du bon travail sur le support de Radius et d'autres améliorations.

La version initiale de gatekeeper a été développée par Xiang Ping Chen, Joe Metzger et Rajat Todi.


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: 21. Apr 2008
Page maintained by Jan Willamowius