CiRen 33 Visio-Réunion, 24-26 Septembre 2007 TP avec GnuGK Nicolas.Meneceur@rap.prd.fr 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 PVX Configuration d un EP Ekiga Appel point à point Partage d application T.120 Appel multipoint 1. NetMeeting choix de l application à partager MCU 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 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 ( 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] : de la zone CiRen xx : 0110xx n E.164 EP = 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 ( 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] : de la zone CiRen xx : 0110xx n E.164 EP1 = 0110xx1001 et n E.164 EP2 = 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 ( 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 de zone GnuGK (cirengkxx, @IP=195.83.18.xx) gère la zone CiRen xx, où xx=[15à29] : 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.164 EP1 = 1001 et n E.164 EP2 = 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é) Zone CiRen 18 Préfixe 011018 1001 011015 cirengk18 011016 195.83.185.18 0110181=1 011017 cirengk17 195.83.185.17 0110171=1 011018 011015 011016 Zone CiRen 17 Préfixe 011017 1001 cirengk15 195.83.185.15 0110151=1 011017 011018 011016 Zone CiRen 15 Préfixe 011015 011015 011018 011017 cirengk16 195.83.185.16 0110161=1 Zone CiRen 16 Préfixe 011016 1001 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 s à router GK voisin (cirengkyy, @IP=195.83.18.yy) gère la zone CiRen yy, où yy=[15à29]-xx 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.164 EP =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 s à 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é) cirengk15 Zone CiRen 18 Préfixe 011018 1001 195.83.185.15 0110151=1 0 cirengk18 195.83.185.18 0110181=1 0 011015 Zone CiRen 15 Préfixe 011015 011017 cirengk17 195.83.185.17 0110171=1 011017 gk1 Zone RENATER 0 Zone CiRen 17 Préfixe 011017 0 1001 193.51.224.66 011016 011017 cirengk16 195.83.185.16 0110161=1 Zone CiRen 16 Préfixe 011016 1001 1001 19
5. Appels inter-zone (dans un réseau centralisé) Configurer GnuGK (connexion à un seul GK) déclarer le GK voisin et les s à router GK RENATER (name=gk1, @IP=193.51.224.6) comme unique voisin routage par défaut (pour tous les s) 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.164 EP =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 RAP MCU 014427100[0-9] 0144271 Zone RENATER 00 gk1 193.51.224.66 0 Cirengkxx 195.83.185.xx 0110xx1=1 Zone CiRen xx Préfixe : 0110xx GK International 0031 Zone Surfnet GK NL MCU 0031801801 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 s) 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 RAP MCU 014427100[0-9] 0144271 Zone RENATER 0033 gk1 193.51.224.66 0033110xx Zone CiRen xx Préfixe : 0110xx GK International Cirengkxx 195.83.185.xx 0110xx1=1 0033110xx1=1 00 Zone Surfnet GK NL 0031zzzzzzzz 1001 24
6. Appels depuis l International Enregistrer un EP sur le GK de Surfnet @IP GKSufnet =192.87.102.227 n E164 EP : 0031zzzzzzzz, où zzzzzzzz n'a pas d'importance Enregistrer un EP sur le GK CiRen xx n E.164 EP =1001 (n court) ou n E.164 EP =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