📄 monitoring.sgml
字号:
<!-- French translation from monitoring.sgml v1.3 --><sect>Surveillance du Gatekeeper<label id="monitor"><p><sect1>Port d'état<p>Le port d'état est l'interface externe pour surveiller et contrôler legatekeeper.Via cette interface, le gatekeeper enverra des messages à propos des appels encours de tous les clients connectés et recevra des commandes.<p>Les messages envoyés par le gatekeeper au port d'état sont regroupésen trois <bf/niveaux de trace de sortie/:<itemize><item>Niveau 0 <quote> Notifications de rechargement et réponses directes aux commandes saisies. </quote><item>Niveau 1 <quote> Notifications de rechargement, réponses directes aux commandes saisies, CDRs et Requêtes de Routage. </quote><item>Niveau 2 <quote> Trace tout (notification des rechargement, réponses directes aux commandes saisies, CDRs, Requêtes de Routage, RAS, ...). Il s'agit du niveau de trace par <bf/défaut/. </quote></itemize>Le client connecté au port d'état peut choisir le niveau de trace par lequelil est intéressé.<p>L'interface est un simple port TCP (par défaut: 7000), vous pouvez vous connecteravec telnet ou un autre client. Une exemple d'autre client est l'IHM Java, connue sousle nom de GnuGk ACD.<sect2>Domaines d'Application<p>Ce que vous faîtes avec les pouvoirs de l'Interface d'Etat dépend de vous,mais voici quelques idées:<itemize><item>Surveillance d'Appel<item>Surveillande des terminaux enregistrés<item>Interface Utilisateur Graphique<quote>Voir GkGUI.</quote><item>Routage d'Appel<quote>Voir GnuGk ACD.</quote><item>Applications de Facturation<quote>Analyser les messages CDR et les transmettre à l'application de facturation.</quote><item>Interfacer des extensions externes<quote>Si vous ne voulez pas publier le code source de ces fonctions supplémentaires,publiez juste le noyau de la fonction et interfacez vous avec au travers del'interface d'état et conservez les parties externes privées.</quote></itemize><p><sect2>Exemples<p>Supposons que vous êtes juste intéressés par les CDRs (enregistrementdes détails des appels) et vous voulez les traiter en lot à intervallesréguliers.Voici un script Perl simple (<tt/gnugk_cdr.pl/) qui lance le gatekeeper et un clienttrès simple pour l'Interface d'Etat et écrit juste les CDRs dans un fichierde log. Vous aurez besoin de le modifier un peu pour qu'il corresponde à vosbesoins.<verb>#!/usr/bin/perl# sample program that demonstrates how to write the CDRs to a log fileuse strict;use IO::Socket;use IO::Handle;my $logfile = "/home/jan/cdr.log"; # CHANGE THISmy $gk_host = "localhost";my $gk_port = 7000;my $gk_pid;if ($gk_pid = fork()) { # parent will listen to gatekeeper status sleep(1); # wait for gk to start my $sock = IO::Socket::INET->new(PeerAddr => $gk_host, PeerPort => $gk_port, Proto => 'tcp'); if (!defined $sock) { die "Can't connect to gatekeeper at $gk_host:$gk_port"; } $SIG{HUP} = sub { kill 1, $gk_pid; }; # pass HUP to gatekeeper $SIG{INT} = sub { close (CDRFILE); kill 2, $gk_pid; }; # close file when terminated open (CDRFILE, ">>$logfile"); CDRFILE->autoflush(1); # don't buffer output while (!$sock->eof()) { my $msg = $sock->getline(); $msg = (split(/;/, $msg))[0]; # remove junk at end of line my $msgtype = (split(/\|/, $msg))[0]; if ($msgtype eq "CDR") { print CDRFILE "$msg\n"; } } close (CDRFILE);} else { # child starts gatekeeper exec("gnugk");}</verb><p>Rappelez-vous qu'il ne s'agit que d'un exemple pour montrer l'utilisation du portd'état.Vous pouvez utiliser le module FileAcct pour tracer les CDRs dans un systèmede production.<sect2>IHM pour le Gatekeeper<p>Il y a plusieurs Interfaces Home Machine (IHM - GUI) pour le gatekeeper.<itemize><item>Java GUI<p>Développé par Jan Willamowius.Vous pouvez surveiller les enregistrements et les appels qui passent par le gatekeeper.Un clic droit sur un bouton vous donne un menu déroulant pour ce terminal.Cette IHM fonctionne avec Java 1.0 présent dans la plupart des navigateurs web.Pour des raisons de sécurité l'IHM doit fonctionner comme une applicationautonome ou être mise à disposition par un serveur web sur le mêmenuméro IP que le gatekeeper (vous ne pouvez pas le lancer en tant qu'appletdepuis un fichier local).Le programme est disponible à<url url="http://www.gnugk.org/h323gui.html" name="GnuGk Java GUI"><item>GkGUI<p>Un nouveau programme Java autonome développé par<url url="http://www.citron.com.tw/" name="Citron Network Inc.">Il nécessite Java 1.4. Les nouvelles fonctions comprennent:<itemize><item>Surveillance de plusieurs gatekeeper simultanément.<item>Deux modes d'affichage: Liste de Boutons ou Arbre.<item>Enregistrement des Détails d'Appel (CDR) et statistiques.<item>GK Status Log.<item>Couleurs différentes pour différents types de terminaux.<item>Modification de la configuration du gatekeeper.<item>Désenregistrement forcé de terminaux.<item>Sauvegarde et imprime le log d'état et CDR.</itemize>Le GkGUI est distribué sous GNU General Public License, disponible à<url url="http://www.gnugk.org/h323develop.html#java" name="GnuGk Development"></itemize><sect1>Commandes (Référence)<p>Cette section liste toutes les commandes que vous pouvez émettre sur le portd'état (manuellement ou avec une application externe). Les commandes ne tiennentpas compte de la casse (majuscules / minuscules). Mais certains paramètrespeuvent en tenir compte.<p>La commande <tt/help/ ou <tt/h/ affichera la liste de toutes les commandes disponibles.<p><itemize><item><tt/Reload/<p>Recharge la configuration.<item><tt/Version/, <tt/v/<p>Afficher la version et des informations sur l'OS du gatekeeper.<item><tt/Statistics/, <tt/s/<p>Affiche des informations statistiques du gatekeeper.<descrip><tag/Exemple:/<tscreen><verb>Statistics-- Endpoint Statistics --Total Endpoints: 21 Terminals: 17 Gateways: 4 NATed: 2Cached Endpoints: 1 Terminals: 1 Gateways: 0-- Call Statistics --Current Calls: 1 Active: 1 From Neighbor: 0 From Parent: 0Total Calls: 1539 Successful: 1076 From Neighbor: 60 From Parent: 5Startup: Fri, 21 Jun 2002 10:50:22 +0800 Running: 11 days 04:22:59;</verb></tscreen></descrip><item><tt/PrintAllRegistrations/, <tt/r/, <tt/?/<p>Affiche tous les terminaux enregistrés.<descrip><tag/Format:/<tscreen><verb>AllRegistrationsRCF|IP:Port|Aliases|Terminal_Type|EndpointID...Number of Endpoints: n;</verb></tscreen><tag/Exemple:/<tscreen><verb>AllRegistrationsRCF|10.1.1.10:1720|800:dialedDigits=Wei:h323_ID|terminal|1289_endpRCF|10.0.1.43:1720|613:dialedDigits=Jacky Tsai:h323_ID|terminal|1328_endpRCF|10.0.1.55:1720|705:dialedDigits=Sherry Liu:h323_ID|terminal|1333_endpNumber of Endpoints: 3;</verb></tscreen></descrip><item><tt/PrintAllRegistrationsVerbose/, <tt/rv/, <tt/??/<p>Affiche des détails sur tous les terminaux enregistrés.<descrip><tag/Format:/<tscreen><verb>AllRegistrationsRCF|IP:Port|Aliases|Terminal_Type|EndpointIDRegistration_Time C(Active_Call/Connected_Call/Total_Call) <r>[Prefixes: ##] (gateway only)...Number of Endpoints: n;</verb></tscreen><tag/Exemple:/<tscreen><verb>AllRegistrationsRCF|10.0.1.8:1720|Accel-GW2:h323_ID|gateway|1322_endpWed, 26 Jun 2002 16:40:03 +0800 C(1/5/33) <1>Prefixes: 09,002RCF|10.1.1.10:1720|800:dialedDigits=Wei:h323_ID|terminal|1289_endpWed, 26 Jun 2002 16:40:55 +0800 C(0/32/39) <1>RCF|10.0.1.66:1720|716:dialedDigits=Vicky:h323_ID|terminal|1425_endpWed, 26 Jun 2002 16:40:58 +0800 C(1/47/53) <1>Number of Endpoints: 2;</verb></tscreen></descrip><item><tt/PrintCurrentCalls/, <tt/c/, <tt/!/<p>Affiche tous les appels en cours en utilisant la même syntaxe ACF que lors del'établissement de l'appel.<descrip><tag/Format:/<tscreen><verb>CurrentCallsCall No. # | CallID | Call_Duration | Left_TimeDialed_NumberACF|Caller_IP:Port|Caller_EPID|CRV|DestinationInfo|SrcInfo|IsAnswered;ACF|Callee_IP:Port|Callee_EPID|CRV|DestinationInfo|SrcInfo|IsAnswered;...Number of Calls: Current_Call Active: Active_Call From Neighbor: Call_From_Neighbor \From Parent: Call_From_Parent;</verb></tscreen><tag/Exemple:/<tscreen><verb>CurrentCallsCall No. 29 | CallID bd c6 17 ff aa ea 18 10 85 95 44 45 53 54 77 77 | 109 | 491Dial 0953378875:dialedDigitsACF|10.0.1.49:1720|4048_CGK1|25263|frank:h323_ID|gunter:h323_ID|false;ACF|10.1.1.1:1720|4037_CGK1|25263|gunter:h323_ID|frank:h323_ID|true;Call No. 30 | CallID 70 0e dd c0 9a cf 11 5e 00 01 00 05 5d f9 28 4d | 37 | 563Dial 0938736860:dialedDigitsACF|10.0.1.48:1032|4041_CGK1|11896|sue:h323_ID|peter:h323_ID|false;ACF|10.1.1.1:1720|4037_CGK1|11896|peter:h323_ID|sue:h323_ID|true;Number of Calls: 2 Active: 2 From Neighbor: 0 From Parent: 0;</verb></tscreen></descrip><item><tt/PrintCurrentCallsVerbose/, <tt/cv/, <tt/!!/<p>Affiche des détails sur tous les appels en cours.<descrip><tag/Format:/<tscreen><verb>CurrentCallsCall No. # | CallID | Call_Duration | Left_TimeDialed_NumberACF|Caller_IP:Port|Caller_EPID|CRV|DestinationInfo|SrcInfo|IsAnswered;ACF|Callee_IP:Port|Callee_EPID|CRV|DestinationInfo|SrcInfo|IsAnswered;# Caller_Aliases|Callee_Aliases|Bandwidth|Connected_Time <r>...Number of Calls: Current_Call Active: Active_Call From NB: Call_From_Neighbor;</verb></tscreen><tag/Exemple:/<tscreen><verb>CurrentCallsCall No. 48 | CallID 7d 5a f1 0a ad ea 18 10 89 16 00 50 fc 3f 0c f5 | 30 | 570Dial 0225067272:dialedDigitsACF|10.0.1.200:1720|1448_endp|19618|frank:h323_ID|gunter:h323_ID|false;ACF|10.0.1.7:1720|1325_endp|19618|gunter:h323_ID|frank:h323_ID|true;# Sherry:h323_ID|Accel-GW1:h323_ID|200000|Wed, 26 Jun 2002 17:29:55 +0800 <2>Number of Calls: 1 Active: 1 From NB: 0;</verb></tscreen></descrip><item><tt/Find/, <tt/f/<p>Trouve un terminal enregistré par un alias ou un préfixe.<descrip><tag/Format:/<tscreen><verb>Find AliasRCF|IP:Port|Aliases|Terminal_Type|EndpointID;</verb></tscreen><tag/Exemple:/<tscreen><verb>f 800RCF|10.1.1.10:1720|800:dialedDigits=Wei:h323_ID|terminal|1289_endp;f 801
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -