Configuration GnuGK
Transcription
Configuration GnuGK
CiRen 33 – Visio-Réunion, 24-26 Septembre 2007 TP avec GnuGK [email protected] 1 Au programme • 1. Installation et utilisation d’un terminal de visioconférence sans GK : configuration, appels point à point et multipoint, partage d’applications T.120 • 2. Installation et configuration du GnuGK • 3. Enregistrement d’un terminal sur GnuGK • 4. Appels intra-zone • 5. Appels inter-zone • 6. Appels nationaux et internationaux (intégration au GDS) Outils mis à disposition : Terminaux logiciels sous Windows XP : PVX (version Trial), Ekiga et NetMeeting Matériel : Webcam Logitech Pro 4000 + microcasque GnuGK sur Debian : VMware Player + GnuGK-VMware (machine virtuelle) Outils de supervision : GnuGK Control Center, Wireshark, TCPView Lien de téléchargement : http://www.rap.prd.fr/ciren33 2 1. Installation et utilisation d’un terminal sans GK Configuration d’un EP PVX Appel point à point Appel multipoint MCU Ekiga Partage d’application T.120 1. NetMeeting choix de l’application à partager 2. Application partagée dans une conférence 3 1. Installation et utilisation d’un terminal sans GK • Installer et configurer les logiciels PVX et Ekiga – attention, les deux logiciels ne peuvent pas être utilisés en même temps (quand vous en démarrez un, vous devez au préalable quitter l’autre) – réglage des paramètres vidéo (Webcam, 30 images/sec) et audio (microcasque, annulation d’écho activée), réglage du partage T.120, réglage des paramètres réseau, réglage des paramètres d’appel (débit d’appel par défaut, débits de transmission), … • Visioconférence point à point – en l’absence de GK, l’appel se fait avec l’adresse IP du correspondant – vérifier la qualité de la vidéo et de l’audio (temps de latence, écho, fluidité de l’image, …) et consulter les statistiques d’appel sur les EP (codecs, débits, perte de paquets, …) – vérifier les appels dans les deux sens : EP1→EP2 puis EP2→EP1 – essayer plusieurs scénarios d’appel : PVX↔PVX, Ekiga↔Ekiga, PVX↔Ekiga – pendant les appels, analyser les ports ouverts avec TCPView, capturer les échanges avec Wireshark et identifier les 4 étapes d’un appel H.323 • utiliser le menu Statistics/VoIP Calls de Wireshark pour grapher les échanges – tester la restriction des ports sur PVX et le H.245-tunneling sur Ekiga • capturer les échanges avec Wireshark et analyser les différences dans les paquets IP • Visioconférence multipoint sur un MCU – se rencontrer à plusieurs en se connectant sur une conférence d’un MCU MCU Codian (Surfnet.nl, Pays-Bas) : @IP=192.87.102.231 • Partage d’application T.120 avec PVX (qui utilise NetMeeting) – partager une application entre deux EP et prendre la main à distance sur une application 4 2. Installation et configuration du GnuGK Utilisation du GnuGK sur Debian (machine virtuelle avec VMware Player) 5 2. Installation et configuration du GnuGK • Lancer la machine virtuelle avec VMware Player – la machine virtuelle est une Debian, pour la lancer : double-cliquer sur le fichier « GnuGK-VMware.vmx » (user=root, password=gnugk) • Configurer le nom et les paramètres réseau de la machine virtuelle – éditer le fichier des paramètres réseau : vi /etc/network/interfaces auto eth0 iface eth0 inet static address 195.83.185.x où x=[15 à 29] netmask 255.255.255.224 network 195.83.185.0 gateway 195.83.185.30 – réinitialiser les paramètres réseau : /etc/init.d/networking restart (tester un ping) • Installer GnuGK – pour installer GnuGK sur Debian : apt-get install gnugk – cela va installer : • le binaire : /usr/sbin/gnugk • le fichier de configuration : /etc/gatekeeper.ini • les fichiers de documentation (man gnugk) : /usr/share/doc/gnugk/* • le fichier de log : /var/log/gnugk • le fichier de démarrage : /etc/init.d/gnugk – après installation, GnuGK est exécuté (ps –edf | grep /var/run/gnugk/gnugk.pid) 6 2. Installation et configuration du GnuGK • Préparer le fichier de configuration du GnuGK – pour en visualiser le contenu : more /etc/gatekeeper.ini – pour en faire une copie de sauvegarde : cp /etc/gatekeeper.ini /etc/gatekeeper.ini.orig – pour le modifier : vi /etc/gatekeeper.ini • Configurer les paramètres globaux du GnuGK – dans la section [Gatekeeper::Main] du fichier de configuration, éditer : • le nom : Name=gkcirenxx, où xx=[15à29] • l’adresse IP : Home=195.83.185.xx, où xx=[15à29] • les paramètres de l’interface Telnet : StatusPort=7000, StatusTraceLevel=2 • Configurer les paramètres d’accès à l’interface Telnet – dans la section [GkStatus::Auth] du fichier de configuration, éditer : • un accès autorisé pour tous : rule=allow et default=allow • Relancer GnuGK et vérifier l’accès à la console Telnet – pour relancer GnuGK après modification du fichier de configuration : /etc/init.d/gnugk restart – pour se connecter à la console d’interface Telnet du GnuGK : telnet <IP du GnuGK> 7000 – essayer quelques commandes sur la console Telnet : • la commande help permet d’avoir la liste des commandes • consulter http://www.gnugk.org/gnugk-manual-13.html#ss13.2 pour plus de détails – installer GnuGK Control Center sur Windows, le configurer pour qu’il se connecte au GnuGK 7 2. Installation et configuration du GnuGK • Commandes sur la console GnuGK – – – – – – – – – – – – – – – – – – Help, h : liste des commandes disponibles Reload : recharge la configuration Version, v : versions et informations sur l’OS du GnuGK Statistics, s : informations statistiques du GnuGK PrintAllRegistrations, r, ? : liste des EP enregistrés PrintAllRegistrationsVerbose, rv, ?? : détail des EP enregistrés UnregisterIP ip | UnregisterAlias alias : force l’annulation de l’enregistrement d’un EP en fonction de son adresse ip ou de son alias UnregisterAllEndpoints : force l’annulation de l’enregistrement de tous les EP enregistrés Find, f alias | prefixe : trouve un EP enregistré par son alias ou son préfixe FindVerbose, fv alias | prefixe : trouve les détails d’un EP enregistré PrintCurrentCalls, c, ! : liste des appels en cours PrintCurrentCallsVerbose, cv, !! : détail des appels en cours DisconnectCall number : déconnecte un appel avec le numéro donné DisconnectIP ip | DisconnectAlias alias : déconnecte tous les appels d’un terminal en fonction de son ip ou de son alias ClearCalls : déconnecte tous les appels Trace 0|1|2 : niveau de trace de sortie sur la console de GnuGK Exit : quitter le console … 8 3. Enregistrement sur GnuGK Zone CiRen xx (préfixe 0110xx) cirengkxx @ip=195.83.185.xx n°E.164=0110xx1001 Adresse IP du GK=195.83.185.xx Enregistrement avec PVX menu Configuration/H.323 Enregistrement avec Ekiga menu Édition/Comptes 9 3. Enregistrement sur GnuGK • Configurer un EP pour qu’il s’enregistre sur GnuGK (utiliser un n°E164) – GnuGK (cirengkxx, @IP=195.83.185.xx) gère la zone CiRen xx, où xx=[15à29] : • préfixe de la zone CiRen xx : 0110xx • n°E.164EP = 0110xx1001 – tester l’enregistrement avec les logiciels PVX et Ekiga • attention, les deux logiciels ne peuvent pas être utilisés en même temps (quand vous en démarrez un, vous devez au préalable quitter l’autre) – vérifier l’enregistrement sur l’EP et sur la console d’interface Telnet du GnuGK (éventuellement aussi sur le GnuGK Control Center) • consulter http://www.gnugk.org/gnugk-manual-13.html#ss13.3 pour plus de détail sur la signification des messages qui apparaissent sur la console d’interface Telnet du GnuGK – capturer et analyser les échanges (H.225-RAS) avec Wireshark – remarque : vous pouvez résilier l’enregistrement sur GnuGK en quittant l’EP 10 4. Appels intra-zone Zone CiRen xx (préfixe 0110xx) cirengkxx @ip=195.83.185.xx 0110xx1001 appelle 0110xx1002 0110xx1002 0110xx1002 appelle 0110xx1001 0110xx1001 11 4. Appels intra-zone • Configurer GnuGK en mode Direct – dans la section [RoutedMode] éditer : GKRouted=0, H245Routed=0 • Configurer deux EP enregistrés sur le même GK – GnuGK (cirengkxx, @IP=195.83.18.xx) gère la zone CiRen xx, où xx=[15à29] : • préfixe de la zone CiRen xx : 0110xx • n°E.164EP1 = 0110xx1001 et n°E.164EP2 = 0110xx1002 • Lancer l’appel entre les deux EP enregistrés sur le même GK en mode Direct – une fois l’EP enregistré sur le GK, l’appel se fait avec le n°E.164 du correspondant – vérifier l’appel dans les deux sens : EP1→EP2 puis EP2→EP1 – vérifier la qualité de la vidéo et de l’audio et consulter les statistiques d’appel sur les EP (codecs, débits, perte de paquets …) – vérifier les appels sur la console d’interface Telnet du GnuGK et capturer les échanges (H.225-RAS, H.225-Q.931, H.245, RTP/RTCP) avec Wireshark • utiliser le menu Statistics/VoIP Calls de Wireshark pour grapher les échanges – analyser les ports ouverts (utiliser TCPView sur l’EP et netstat sur le GK) – tester la restriction des ports sur PVX et le H.245-tunneling sur Ekiga • capturer les échanges avec Wireshark et analyser les différences dans les paquets IP 12 4. Appels intra-zone • Comme précédemment mais en configurant GnuGK en mode Routé – dans la section [RoutedMode] éditer : GKRouted=1, H245Routed=1 – paramétrer le GK pour restreindre les ports TCP • dans la section [RoutedMode] éditer : Q931PortRange et H245PortRange – lancer un appel et vérifier les ports ouverts, analyser les différences avec Wireshark • Comme précédemment mais en configurant GnuGK en mode Proxy – dans la section [RoutedMode] éditer : GKRouted=1, H245Routed=1 – dans la section [Proxy] éditer : Enable=1 – paramétrer le GK pour restreindre les ports TCP et UDP • dans la section [RoutedMode] éditer : Q931PortRange et H245PortRange • dans la section [Proxy] éditer : RTPPortRange et T120PortRange – lancer un appel et vérifier les ports ouverts, analyser les différences avec Wireshark – lancer un partage d’application T.120 avec NetMeeting et vérifier les ports ouverts • Remarque : le port utilisé par défaut pour H.225-Q.931 sur GnuGK est TCP 1721 (au lieu de TCP 1720) – cela est configuré dans la section [RoutedMode] : CallSignalPort=1721 – c’est parce que dans sa configuration par défaut, GnuGK prévoit qu’un EP peut être utilisé sur la même machine et être à l’écoute sur le port TCP 1720 13 4. Appels intra-zone Zone CiRen xx (préfixe 0110xx) cirengkxx @ip=195.83.185.xx 0110xx1=1 1001 appelle 1002 ou 0110xx1002 1002 1002 appelle 1001 ou 0110xx1001 1001 14 4. Appels intra-zone • Configurer GnuGK en mode Direct – dans la section [RoutedMode] éditer : GKRouted=0, H245Routed=0 • Configurer GnuGK pour réécriture les numéros et s’affranchir du préfixe de zone – GnuGK (cirengkxx, @IP=195.83.18.xx) gère la zone CiRen xx, où xx=[15à29] : • préfixe de la zone CiRen xx : 0110xx • dans la section [RasSRV::RewriteE164] éditer : 0110xx1=1 • Configurer deux EP enregistrés sur le même GK avec leurs n°courts – n°E.164EP1= 1001 et n°E.164EP2= 1002 • Lancer l’appel entre les deux EP enregistrés sur le même GK en mode Direct – les EP s’enregistrent avec leur n°court (1001, 1002) et ils s’appellent avec leur n°court (1001, 1002) ou avec leur n°long (0110xx1001, 0110xx1002) • tester les appels avec les n°courts et les n°longs • tester les appels dans les deux sens : EP1→EP2 puis EP2→EP1 – vérifier les appels sur la console du GnuGK 15 5. Appels inter-zone (dans un réseau maillé) cirengk17 Zone CiRen 18 Préfixe 011018 cirengk18 195.83.185.18 0110181=1 préfixe 011017 préfixe 011015 195.83.185.17 0110171=1 préfixe 011018 préfixe 011015 préfixe 011017 préfixe 011018 1001 préfixe 011016 préfixe 011018 préfixe 011015 195.83.185.15 0110151=1 préfixe 011017 cirengk16 195.83.185.16 0110161=1 Zone CiRen 16 Préfixe 011016 Zone CiRen 15 Préfixe 011015 1001 préfixe 011016 préfixe 011016 1001 cirengk15 Zone CiRen 17 Préfixe 011017 1001 16 5. Appels inter-zone (dans un réseau maillé) • Configurer GnuGK (connexion aux autres GnuGK) – configurer GnuGK en mode Direct • section [RoutedMode] éditer : GKRouted=0, H245Routed=0 – déclarer les GKs des zones voisines et les préfixes à router • GKvoisin (cirengkyy, @IP=195.83.18.yy) gère la zone CiRen yy, où yy=[15à29]-xx • préfixe de la zone voisine CiRen yy : 0110yy • dans la section [RasSrv::Neighbors] éditer : cirengkyy=195.83.185.yy;0110yy (le caractère commentaire « ; » devant la section [RasSrv::Neighbors] est à supprimer) – configurer la réécriture des n°0110xx1001 en n°1001 pour les appels venant d’une zone voisine • dans la section [RasSRV::RewriteE164] éditer : 0110xx1=1 • Enregistrer votre EP sur votre GnuGK – n°E.164EP=1001 (n°court) • Appeler les EP enregistrés sur les GK des zones voisines – les appels inter-zone se font avec les n°longs (0110yy1001) – vérifier les appels dans les deux sens et essayer plusieurs scénarios d’appel : • appel zone CiRen 15 ↔ zone CiRen 16 • appel zone CiRen 15 ↔ zone CiRen 17 • … – vérifier les appels sur la console du GnuGK et analyser les échanges entre GK 17 5. Appels inter-zone (dans un réseau maillé) • Configuration GnuGK (cas de gkciren15) – mode direct : [RoutedMode] GKRouted=0 H245Routed=0 – déclaration des GK voisins CiRen xx et des préfixes à router : ; cas de gkciren15 [RasSrv::Neighbors] gkciren16=195.83.185.16;011016 gkciren17=195.83.185.17;011017 gkciren18=195.83.185.18;011018 … – réécriture des numéros pour les appels venant des autres zones : ; cas de gkciren15 [RasSrv::GWPrefixes] 0110151=1 18 5. Appels inter-zone (dans un réseau centralisé) cirengk17 Zone CiRen 18 Préfixe 011018 cirengk18 195.83.185.18 0110181=1 préfixe 0 préfixe 011017 préfixe 0 1001 gk1 préfixe 011015 1001 195.83.185.17 0110171=1 préfixe 011017 193.51.224.66 préfixe 011016 Zone RENATER préfixe 011017 préfixe 0 préfixe 0 cirengk15 cirengk16 195.83.185.16 0110161=1 195.83.185.15 0110151=1 Zone CiRen 16 Préfixe 011016 Zone CiRen 15 Préfixe 011015 1001 Zone CiRen 17 Préfixe 011017 1001 19 5. Appels inter-zone (dans un réseau centralisé) • Configurer GnuGK (connexion à un seul GK) – déclarer le GK voisin et les préfixes à router • GK RENATER (name=gk1, @IP=193.51.224.6) comme unique voisin • routage par défaut (pour tous les préfixes) vers ce GK • dans la section [RasSrv::Neighbors] éditer : gk1=193.51.224.66;0 (la configuration sur le GK RENATER a déjà été programmée) • Enregistrer votre EP sur votre GnuGK – n°E.164EP=1001 (n°court) • Appeler les EP enregistrés sur les GK des zones voisines en passant par le GK RENATER – les appels inter-zone se font avec les n°longs (0110xx1001) – vérifier les appels dans les deux sens et essayer plusieurs scénarios d’appel : • appel zone CiRen 15 ↔ zone CiRen 16 • appel zone CiRen 15 ↔ zone CiRen 17 • … – vérifier les appels sur la console du GnuGK et analyser les échanges entre GK 20 6. Appels vers le National et l’International Zone RAP Préfixe : 0144271 GK International RAP préfixe 0144271 MCU gk1 014427100[0-9] Zone Surfnet préfixe 00 193.51.224.66 Zone RENATER GK NL préfixe 0031 MCU 0031801801 préfixe 0 Cirengkxx 195.83.185.xx 0110xx1=1 Zone CiRen xx Préfixe : 0110xx 1001 21 6. Appels vers le National et l’International • Configurer GnuGK et déclarer le GK voisin RENATER – routage par défaut (pour tous les préfixes) vers le GK RENATER • dans la section [RasSrv::Neighbors] éditer : gk1=193.51.224.66;0 (la configuration sur le GK RENATER a déjà été programmée) • Tester des appels vers le National et l’International – visioconférence sur le MCU de RAP • 0144271000 à 0144271009 : 10 conférences de tests (ayant des paramètres vidéo différents) dont certaines sont incompatibles avec PVX et/ou Ekiga. Essayer de voir les différences qui existent entre les conférences de tests et essayer de déterminer ce qui rend incompatible PVX et/ou Ekiga avec certaines d’entre elles. – visioconférence vers l’International • MCU Codian (Surfnet.nl, Pays-Bas) : 0031801801 • Polycom VS4000 (NJEDge, New Jersey, EP de test) : 0019735965402 • MCU RADVision ViaIp (US) : 0011897901234 – vérifier depuis les EP les statistiques d’appels en temps réel (codecs, bande passante utilisée, nombre de paquets perdus, …) – tracer les échanges avec Wireshark et analyser les échanges de paquets IP 22 6. Appels vers le National et l’International • Au sujet des conférences de tests sur le MCU de RAP : – MCU logiciel (Conference Server de RADVision) – limitation des conférences de tests : 10 participants, 5 minutes – transcoding audio activé : G722 (64K), G722.1 (16K, 24K et 32K), G711 ULaw (64K), G711 ALaw (64K), G723 (5.3/6.4K), G729A (8K) et iLBC (13.3K) sont supportés – pas de transcoding vidéo : H.261, H.263, H.263+, H264 sont supportés – paramètres (codec et résolution vidéo, débit d’appel) des conférences de tests : • 0144271000 : H263.SQCIF(128×96), 2M.max (PVX : NOK, Ekiga : OK) • 0144271001 : H261.QCIF(176×144), 2M.max (PVX et Ekiga : OK) • 0144271002 : H261.CIF(352×288), 2M.max (PVX : OK, Ekiga : NOK) • 0144271003 : H261.CP4(4QCIF), 2M.max (PVX et Ekiga : OK) • 0144271004 : H263.CIF(352×288), 2M.max (PVX : OK, Ekiga : OK) • 0144271005 : H263+.CIF(352×288), 2M.max (PVX : OK, Ekiga: NOK) • 0144271006 : H264L13.CIF(352×288), 768K.max (PVX : OK, Ekiga: NOK) • 0144271007 : H264L22.4CIF(704×576), 4M.max (PVX et Ekiga : NOK) • 0144271008 : H264L31.720pHD (1280×720), 14M.max (PVX et Ekiga : NOK) • 0144271009 : H264L4.1080pHD (1920×1080), 20M.max (PVX et Ekiga : NOK) 23 6. Appels depuis l’International Zone RAP Préfixe : 0144271 GK International RAP préfixe 0144271 MCU gk1 014427100[0-9] 193.51.224.66 Zone RENATER Zone Surfnet préfixe 0033 GK NL préfixe 00 préfixe 0033110xx Cirengkxx 0031zzzzzzzz 195.83.185.xx 0110xx1=1 0033110xx1=1 Zone CiRen xx Préfixe : 0110xx 1001 24 6. Appels depuis l’International • Enregistrer un EP sur le GK de Surfnet – @IPGKSufnet=192.87.102.227 – n°E164EP : 0031zzzzzzzz, où zzzzzzzz n'a pas d'importance • Enregistrer un EP sur le GK CiRen xx – n°E.164EP=1001 (n°court) ou n°E.164EP=0110xx1001 (n°long) • Configurer GnuGK CiRen xx pour réécrire les n° 0033110xx1xxx en 1xxx (ou en 0110xx1xxx si l’EP est enregistré en n°long) pour les appels venant de l’International – le n° en France depuis l’International est de la forme : 0033+les 9 chiffres (sans le 0) – dans la section [RasSrv::RewriteE164] éditer : 0033=0 (si l’EP enregistré en n°long) – dans la section [RasSrv::RewriteE164] éditer : 0033110xx1=1 (si EP enregistré en n°court) • Tester des appels depuis l’International – appeler l’EP enregistré sur le GK CiRen depuis l’EP enregistré sur le GK de Surfnet en composant le n°0033110xx1001 – tracer les échanges avec Wireshark et identifier le mode d’appel du GK de Surfnet (mode d’appel Direct, Routé ou Proxy) 25