Professional Documents
Culture Documents
CASADO Isabelle
DEHLINGER Pierre
RIBEYRON Lilian
Introduction
H323 est un ensemble de normes UIT-T qui définissent les protocoles permettant d’établir
une communication audio ou vidéo sur un réseau informatique. Dans le cadre de ce TP, nous
allons mettre en œuvre ce type de communication à travers le logiciel Netmeeting, en
modélisant deux clients Windows qui communiquent à travers un gatekeeper (Linux)
Environnement technique
[Gatekeeper::Main]
;; 'config is present' indicator. Has to be 42.
Fortytwo=42
; Includes in some RAS-Msgs
Name=gatekeeper2
; overwritten from command line parameter
Home=10.0.0.2
On vérifie si un gatekeeper n'est pas déjà présent, si c'est le cas il faut l'arrêter puis le
relancer afin que les paramètres présents dans le fichier d'initialisation soient bien pris en
compte.
Pour l'instant on n'observe aucune trace, car il n'y a aucun client enregistré donc pas de
trafic.
a)non traité
b)Le nom du Gatekeeper est celui paramétré dans le fichier d'initialisation: gatekeeper2
Gatekeeper(GNU) Version(2.2.7)
Ext(pthreads=1,radius=1,mysql=1,pgsql=1,firebird=1,large_fdset=0,crypto/ssl=1)
Build(Oct 3 2008, 14:06:19) Sys(Linux i686 2.6.26-2-686)
Listen on 10.0.0.2
c)
|Time | 10.0.0.21 | 10.0.0.2 |
|0,000 | RAS: admissionReque |H.225.0: RAS: admissionRequest
| |(1061) ------------------> (1719) |
|0,013 | RAS: admissionConfi |H.225.0: RAS: admissionConfirm
| |(1061) <------------------ (1719) |
Terminal Gatekeeper
d) Les messages enregistrés lors de l'établissement d'appel entre deux terminaux connectés
au même gatekeeper sont les suivants:
|107,359 | openLogicalChannelR | |
| | | |
|H.245: openLogicalChannelReject
| |(1175) <----------------------------------------------------------------------------
------------------------------------------ (1108) | |
|107,359 | openLogicalChannelA | |
| | | | |H.245:
openLogicalChannelAck
| |(1175) -----------------------------------------------------------------------------
-----------------------------------------> (1108) |107,555 |
openLogicalChannelC | | |
| | | |H.245: openLogicalChannelConfirm
| |(1175) <----------------------------------------------------------------------------
------------------------------------------ (1108)
Une session d'appel du terminal 1 vers le terminal 2 est représentée sous la forme suivante
:
e) Il est possible de partager un tableau blanc entre les deux utilisateurs, le protocole utilisé
est T120 mais n'est pas visible lors de l'analyse des différents procoles utilisés.
|957,085 | terminalCapabilityS | | | | |
| | | |H.245: terminalCapabilitySet
| |(1085) -----------------------------------------------------------------------------------------------------------------------
-------------------> (1297) | | |
|957,086 | terminalCapabilityS | | | | |
| | | |H.245: terminalCapabilitySet
| |(1085) <---------------------------------------------------------------------------------------------------------------------
--------------------- (1297) | | |
|957,087 | [TCP segment of a r | | | | |
| | | |TCP: [TCP segment of a reassembled PDU]
| |(1085) -----------------------------------------------------------------------------------------------------------------------
-------------------> (1297) | | |
|957,088 | terminalCapabilityS | | | | |
| | | |H.245: terminalCapabilitySetAck masterSlaveDeterminationAck
| |(1085) <---------------------------------------------------------------------------------------------------------------------
--------------------- (1297) | | |
|957,088 | terminalCapabilityS | | | | |
| | | |H.245: terminalCapabilitySetAck
| |(1085) -----------------------------------------------------------------------------------------------------------------------
-------------------> (1297) | | |
|957,103 | openLogicalChannel | | | | |
| | | |H.245: openLogicalChannel (t120)
| |(1085) <---------------------------------------------------------------------------------------------------------------------
--------------------- (1297) | | |
|957,103 | openLogicalChannel | | | | |
| | | |H.245: openLogicalChannel (t120)
| |(1085) -----------------------------------------------------------------------------------------------------------------------
-------------------> (1297) | | |
|957,299 | ansoft-lm-2 > h323h | | | | |
| | | |TCP: ansoft-lm-2 > h323hostcall [ACK] Seq=246 Ack=170 Win=64071 Len=0
| |(1084) -----------------------------------------------------------------------------------------------------------------------
-------------------> (1720) | | |
|957,307 | sdproxy > webobject | | | | |
| | | |TCP: sdproxy > webobjects [ACK] Seq=376 Ack=364 Win=63877 Len=0
| |(1085) <---------------------------------------------------------------------------------------------------------------------
--------------------- (1297) | | |
|957,336 | openLogicalChannelR | | | | |
| | | |H.245: openLogicalChannelReject
| |(1085) <---------------------------------------------------------------------------------------------------------------------
--------------------- (1297) | | |
|957,336 | openLogicalChannelA | | | | |
| | | |H.245: openLogicalChannelAck
| |(1085) -----------------------------------------------------------------------------------------------------------------------
-------------------> (1297) | | |
|957,337 | cplscrambler-lg > i | | | | |
| | | |TCP: cplscrambler-lg > imtc-mcs [SYN] Seq=0 Win=64240 Len=0 MSS=1460
| |(1086) -----------------------------------------------------------------------------------------------------------------------
-------------------> (1503) | | |
|957,337 | imtc-mcs > cplscram | | | | |
| | | |TCP: imtc-mcs > cplscrambler-lg [SYN, ACK] Seq=0 Ack=1 Win=64240 Len=0
MSS=1460
| |(1086) <---------------------------------------------------------------------------------------------------------------------
--------------------- (1503) | | |
|957,337 | cplscrambler-lg > i | | | | |
| | | |TCP: cplscrambler-lg > imtc-mcs [ACK] Seq=1 Ack=1 Win=64240 Len=0
| |(1086) -----------------------------------------------------------------------------------------------------------------------
-------------------> (1503) | |
|957,527 | webobjects > sdprox | | | | |
| | | |TCP: webobjects > sdproxy [ACK] Seq=406 Ack=416 Win=63825 Len=0
| |(1085) -----------------------------------------------------------------------------------------------------------------------
-------------------> (1297) | | |
|957,528 | openLogicalChannelC | | | | |
| | | |H.245: openLogicalChannelConfirm
| |(1085) <---------------------------------------------------------------------------------------------------------------------
--------------------- (1297) | | |
|957,736 | webobjects > sdprox | | | | |
| | | |TCP: webobjects > sdproxy [ACK] Seq=406 Ack=420 Win=63821 Len=0
| |(1085) -----------------------------------------------------------------------------------------------------------------------
-------------------> (1297) | | |
|957,739 | cplscrambler-lg > i | | | | |
| | | |TCP: cplscrambler-lg > imtc-mcs [PSH, ACK] Seq=26 Ack=22 Win=64219
Len=181
| |(1086) -----------------------------------------------------------------------------------------------------------------------
-------------------> (1503) | | |
|957,741 | imtc-mcs > cplscram | | | | |
| | | |TCP: imtc-mcs > cplscrambler-lg [PSH, ACK] Seq=22 Ack=207 Win=64034
Len=113
| |(1086) <---------------------------------------------------------------------------------------------------------------------
--------------------- (1503) | | |
|957,741 | imtc-mcs > cplscram | | | | |
| | | |TCP: imtc-mcs > cplscrambler-lg [FIN, ACK] Seq=135 Ack=207 Win=64034
Len=0
| |(1086) <---------------------------------------------------------------------------------------------------------------------
--------------------- (1503) | | |
|957,743 | cplscrambler-lg > i | | | | |
| | | |TCP: cplscrambler-lg > imtc-mcs [ACK] Seq=207 Ack=136 Win=64106 Len=0
| |(1086) -----------------------------------------------------------------------------------------------------------------------
-------------------> (1503) | | |
|957,746 | cplscrambler-lg > i | | | | |
| | | |TCP: cplscrambler-lg > imtc-mcs [FIN, ACK] Seq=207 Ack=136 Win=64106
Len=0
| |(1086) -----------------------------------------------------------------------------------------------------------------------
-------------------> (1503) | | |
|957,746 | imtc-mcs > cplscram | | | | |
| | | |TCP: imtc-mcs > cplscrambler-lg [ACK] Seq=136 Ack=208 Win=64034 Len=0
| |(1086) <---------------------------------------------------------------------------------------------------------------------
--------------------- (1503) | | |
|
|959,058 | imtc-mcs > cplscram | | | | |
| | | |TCP: imtc-mcs > cplscrambler-in [ACK] Seq=324 Ack=501 Win=63740 Len=0
| |(1087) <---------------------------------------------------------------------------------------------------------------------
--------------------- (1503) | | |
|960,083 | Receiver Report S | | | | |
| | | |RTCP: Receiver Report Source description
| |(49607) ----------------------------------------------------------------------------------------------------------------------
--------------------> (49607) | | |
|960,085 | Receiver Report S | | | | |
| | | |RTCP: Receiver Report Source description
| |(49607) <--------------------------------------------------------------------------------------------------------------------
---------------------- (49607) | | |
|962,336 | imtc-mcs > cplscram | | | | |
| | | |TCP: imtc-mcs > cplscrambler-in [PSH, ACK] Seq=324 Ack=501 Win=63740
Len=9
| |(1087) <---------------------------------------------------------------------------------------------------------------------
--------------------- (1503) | | |
| |(1089) <---------------------------------------------------------------------------------------------------------------------
--------------------- (1503) | | |
|962,455 | [TCP segment of a r | | | | |
| | | |TCP: [TCP segment of a reassembled PDU]
| |(1085) <---------------------------------------------------------------------------------------------------------------------
--------------------- (1297) | | |
|962,455 | endSessionCommand | | | | |
| | | |H.245: endSessionCommand
| |(1085) <---------------------------------------------------------------------------------------------------------------------
--------------------- (1297) | | |
|962,456 | webobjects > sdprox | | | | |
| | | |TCP: webobjects > sdproxy [ACK] Seq=406 Ack=427 Win=63815 Len=0
| |(1085) -----------------------------------------------------------------------------------------------------------------------
-------------------> (1297) | | |
|962,456 | [TCP segment of a r | | | | |
| | | |TCP: [TCP segment of a reassembled PDU]
| |(1084) <---------------------------------------------------------------------------------------------------------------------
--------------------- (1720) | | |
|962,456 | CS: releaseComplete | | | | |
| | | |H.225.0: CS: releaseComplete
| |(1084) <---------------------------------------------------------------------------------------------------------------------
--------------------- (1720) | | |
|962,456 | ansoft-lm-2 > h323h | | | | |
| | | |TCP: ansoft-lm-2 > h323hostcall [ACK] Seq=246 Ack=218 Win=64024 Len=0
| |(1084) -----------------------------------------------------------------------------------------------------------------------
-------------------> (1720) | | |
|962,457 | [TCP segment of a r | | | | |
| | | |TCP: [TCP segment of a reassembled PDU]
| |(1084) -----------------------------------------------------------------------------------------------------------------------
-------------------> (1720) | | |
|962,457 | CS: releaseComplete | | | | |
| | | |H.225.0: CS: releaseComplete
| |(1084) -----------------------------------------------------------------------------------------------------------------------
-------------------> (1720) | | |
|962,457 | h323hostcall > anso | | | | |
| | | |TCP: h323hostcall > ansoft-lm-2 [RST, ACK] Seq=218 Ack=250 Win=0 Len=0
| |(1084) <---------------------------------------------------------------------------------------------------------------------
--------------------- (1720) | | |
|962,458 | h323hostcall > anso | | | | |
| | | |TCP: h323hostcall > ansoft-lm-2 [RST] Seq=218 Win=0 Len=0
| |(1084) <---------------------------------------------------------------------------------------------------------------------
--------------------- (1720) | | |
|962,459 | RAS: disengageReque | | | | |
| | | |H.225.0: RAS: disengageRequest
| |(1076) ------------------> (1719) | | | | |
| | | |
|962,461 | RAS: disengageConfi | | | | |
| | | |H.225.0: RAS: disengageConfirm
| |(1076) <------------------ (1719) | | | | |
| | | |
|962,618 | [TCP segment of a r | | | | |
| | | |TCP: [TCP segment of a reassembled PDU]
| |(1085) -----------------------------------------------------------------------------------------------------------------------
-------------------> (1297) | | |
|962,618 | endSessionCommand | | | | |
| | | |H.245: endSessionCommand
| |(1085) -----------------------------------------------------------------------------------------------------------------------
-------------------> (1297) | | |
Le protocole utilisé est "t120" (Pour l'échange de données). On relève, également, lors de
cet échange le protocole de transport, ici le protocole TCP. Le port utilisé est le 1503.
RCF|10.0.0.21:1720|2101:dialedDigits|terminal|3512_endp;
RCF|10.0.0.22:1720|2201:dialedDigits|terminal|3513_endp;
Routage de la signalisation d'appel: on observe ces traces lors d'appel d'un client à l'autre.
ACF|10.0.0.21:1720|3512_endp|17454|2201:dialedDigits|2101:dialedDigits=2101:dialedDi
gits|false|dd-0f-6a-19-1c-f7-82-4d-9f-21-4a-91-62-0e-8b-6f;
ACF|10.0.0.22:1720|3513_endp|17500|2201:dialedDigits=2201:dialedDigits||true|dd-0f-
6a-19-1c-f7-82-4d-9f-21-4a-91-62-0e-8b-6f; //dialed digits correspond au numéro de
téléphone composé
DCF|10.0.0.22|3513_endp|17501|normalDrop|90-e9-79-00-84-ac-a1-4f-81-d3-6c-85-a4-
a6-76-55;
DCF|10.0.0.21|3512_endp|17456|normalDrop|90-e9-79-00-84-ac-a1-4f-81-d3-6c-85-a4-
a6-76-55;
ACF|10.0.0.21:1720|3512_endp|17457|2201:dialedDigits|2101:dialedDigits=2101:dialedDi
gits|false|78-13-90-52-bc-17-77-46-96-63-de-13-5f-d1-e9-ff;
DCF|10.0.0.21|3512_endp|17457|normalDrop|78-13-90-52-bc-17-77-46-96-63-de-13-5f-
d1-e9-ff;
h) Comme vu lors de la question d), les messages utilisés sont "setup", "alerting" et
"connect" lors de l'appel. Lors de la fin d'appel les messages "endSessionCommand" et
"ReleaseComplete" sont envoyés.
i) On remarque que les deux clients doivent utiliser le même codec audio pour pouvoir
communiquer
On met alors les différents bancs en réseau à travers des switchs. Le but est alors de
communiquer avec des clients d'autres banc avec Netmeeting. Tous les utilisateurs sont
dans le même sous réseau et ont des numéros de téléphones attribués. Pour pouvoir joindre
les autres utilisateurs, le gatekeeper doit connaître les gatekeeper voisins afin de pouvoir
router les appels. On déclare alors dans le fichier d'initialisation (gatekeeper.ini) les voisins,
on rajoute ce texte sans modifier le reste du fichier.
[RasSrv::Neighbors]
GK1=10.0.0.1 // ne pas mettre le nom du gatekeeper mais bien son @IP
GK3=10.0.0.3
GK4=10.0.0.4
[RoutedMode]
[Neighbor::GK1]
GatekeeperIdentifier=GK1
Host=10.0.0.1
SendPrefixes=* // on envoie les appels de tous les bancs
AcceptPrefixes=2* //on envoie des appels venant du banc 2
ForwardLRQ=always
[Neighbor::GK3]
GatekeeperIdentifier=GK3
Host=10.0.0.3
SendPrefixes=*
AcceptPrefixes=*
ForwardHopCount=2
ForwardLRQ=always
[Neighbor::GK4]
GatekeeperIdentifier=GK4
Host=10.0.0.4
SendPrefixes=*
AcceptPrefixes=*
ForwardHopCount=2
ForwardLRQ=always
On peut également restreindre les accès en autorisant que certains numéros à passer des
appels ou en refusant de communiquer avec certains utilisateurs.
a) Pour interconnecter nos deux zones H.323, il nous suffira de les connecter par un switch
si nos éléments se trouvent dans le même sous-réseau. Si les réseaux utilisés sont
différents, nous pouvons passer par le biais d'un routeur.
c)
Communication interzone :
d) Par défaut, H323 utilise à la fois des ports statiques de dynamiques. Généralement, sauf
modification et règles personnalisées, cela se passe comme suit:
Remarque: il va sans dire que pour opérer sans problèmes au sein d'une structure sécurisée
telle qu'une entreprise, il faudra créer des règles appropriées sur le pare-feu afin de
permettre le trafic sur ces ports (notamment si plusieurs sites géographiques par exemple).
Il existe cependant des solutions dites "intelligentes" qui permettent l'ouverture dynamique
des ports lors d'une tentative d'ouverture de session H323. Cela évite par exemple de devoir
ouvrir toute la plage 1024 à 65535...
e) Nous n'avons malheureusement pas eu le temps de tester cette partie. Mais le protocole
H.323 permet l'autonégociation des codecs. Les terminaux d'eux-même choisiront les codecs
optimaux pour communiquer de façon parfaitement transparente pour l'utilisateur, à
condition bien entendu qu'ils disposent d'au moins un codec en commun.
Conclusion
Ce TP nous a permis de mettre en oeuvre des communications voix et vidéo sur réseau IP
basées sur un système H323 (nous verrons également le protocole SIP lors qu'un prochain
TP). Nous avons eu l'occasion de réaliser une analyse de protocole détaillée en situation de
fonctionnement. Enfin, dans un second temps, nous avons pu appréhender la notion
d'interopérabilité entre systèmes et réseaux par l'intermédiaire de passerelles, en analysant
une nouvelle fois le fonctionnement protocolaire de ce type de structure.