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