TP TL53
Téléphonie sur IP
J. MILLET 2015/2016
jocelyn.millet@univ-fcomte.fr 6 tp (Asterisk sur RPI -> pas H323, cisco sur 1 PC)
TP TL53
J. Millet
ADSL: Ligne, Protocoles
TP ADSL
Matériel:
1 PC Win7 avec vmplayer et image vmware d'un serveur 2k ( mdp Admin = tpvoip ) avec logiciels VLC, serveur RAS, http et ftp ( IIS ) et PPPoE ( rasppoe ), avec usager tpadsl ( mdp adsl ) autorisé à l'accès RAS.1 PC sous Win7 avec OpenOffice ou Office pour faire le compte rendu.
1 routeur ADSL/VDSL Cisco 887 VA, Testeur Aurora en ATU-C.
NB: La solution d'image vmware du serveur W2K ne fonctionnera pour PPPoE qu'avec une connexion Ethernet fixe. En sans fil, les messages PADO sont bloqués sur certaines cartes sans fil.
= PC 194.0.0.8
hébergeant le PC virtuel serveur
Objectifs:
- Etudier les paramètres d'une ligne ADSL.
- Etudier les protocoles liés à ADSL.
Serveur ( vmware ) 194.0.0.9 - RAS - PPPoE - HTTP - FTP - Streaming Ethernet
câble droit
Boucle locale
= 2 fils
Ethernet câble croisé
Testeur Aurora Presto en DSLAM = ATU-C
Bridge routeur ADSL
Cisco 887 VA
J. Millet
Routeur ADSL 1/8 ADSL: Ligne, Protocoles
Bridged ( dérivé ) , Routed ( routé ) , Ethernet sur ATM, PPPoE
Le FAI ( fournisseur d'accès à Internet ) envoie par son DSLAM plusieurs flux via xDSL qui utilise AAL5 d'ATM.
La Box fait le tri et récupère l'information ( voix, données ou image )
- en reconnaissant les flux grâce au couple VP, VC ( Virtual Path, Virtual Circuit ) des entêtes ATM.
VP, VC = identifiant de communication ATM ( = Virtual Path, Virtual Circuit ).
Par cette valeur VP, VC envoyée par le DSLAM, l'opérateur indique au modem quel protocole utiliser = Le modem sait comment il doit traiter les données et former les trames.
- en utilisant la même méthode de multiplexage que du côté opérateur ( encapsulation LLC ou VCmux ).
- LLC = ajout d'entête pour distinguer et gérer les protocoles, le même VP, VC est utilisé.
- VCmux = Chaque protocole a son VP,VC =>Pas d'ajout d'entête pour distinguer et gérer les flux.
On réalise la liaison par ADSL suivante:
PC "serveur" = avec
PC client machine virtuelle serveur PPPoE
Ethernet Série
Ethernet
ADSL Routeur Cisco 887 VA
DSLAM
I) Prise en main du Cisco 887
Caractéristiques du routeur
-> Démarrer un logiciel série en 9600-8-n-1 sur le PC Client côté routeur.
Taper via le port console la commande router>show version
Q1) Indiquer - La version d'IOS
- La RAM = faire le total à la ligne commençant par " Cisco 887VA (MPC8300) processor"
Ex: 45056K/4096K bytes of memory. indique une RAM de 48 Mo (45056kB + 4096kB = 49152kB) - Les interfaces présentes
- La NVRAM et Flash RAM disponibles
-> Effacer la configuration actuelle: Taper Router#write erase ou erase startup-config ou erase nvram Router#reload
J. Millet
Routeur ADSL 2/8
-> Taper en console router#sh ip int brief
Q2) Relever les interfaces présentes pour la configuration.
-> Taper router#sh run
Q3) Déterminer le nom du contrôleur DSL ( ADSL et VDSL ) en trouvant la ligne "controller xDSL x".
Caractéristiques de la liaison ADSL
-> Etablir la liaison xDSL en activant le DSLAM = Menu qui donne sous F3 "ADSL " ( voir annexe )
=> message sur le port console " controllers nom_controleur_xDSL , change state to up"
=> Diode CD en face avant du routeur qui s'allume = Synchro ADSL.
Illustrations de l'initialisation: Avec un oscilloscope on verrait les échanges de fréquences
Le client demande une connexion Le DSLAM répond ( Handshake = dialogues préalables, La connexion est établie après tests et donne son protocole ( fréquences ) Apprentissage = training avec analyse des canaux des porteuses et configuration.
puis Echanges = Showtime ).
-> Taper router#show controllers nom_controleur_xDSL (nom_controleur_xDSL remplacé par le nom trouvé avant)
Q4) En déduire le matériel utilisé = le chipset xDSL du routeur ( modem xTU-R ), celui du DSLAM ( xTU-C )
Q5) En déduire les normes ADSL utilisées = la norme xDSL utilisée ( ligne Trained Mode )
= l'interface de niveau 2 OSI utilisée ( ligne TC mode )
Q6) En déduire les caractéristiques de ligne et les réglages de gestion de puissance = l'atténuation dans les 2 sens
= la marge de bruit ( ligne Noise Margin )
= les puissances d'émission ligne Actual Power ) Q7) En déduire les débits pour notre abonnement:
= le débit descendant ( téléchargement, Download ) = ligne Speed colonne DS non nulle
= le débit montant ( téléversement, Upload ) = ligne Speed colonne US non nulle Q8) En déduire la qualité de la ligne avec le nombre d'erreurs:
= les FEC ( correction d'erreur directe sans retransmission = ligne Reed-Solomon EC )
= les HEC ( erreurs d'entête ATM = ligne Header Errors ) Q9) En déduire le mode Rapide (Fast) ou Entrelacé ( Interleaved ):
= Ligne Interleave retard du à l'entrelacement < 1 ms = Mode rapide retard du à l'entrelacement > 1 ms = Mode entrelacé
II) Caractéristiques de la ligne
Aspects théoriques
La liaison ADSL utilise la modulation DMT = juxtaposition de sous porteuses ( largeur réservée 4,3125 kHz avec 4 kHz utilisé ).
Chaque sous porteuse a une modulation selon sa qualité: Rapidité de modulation de 4 kbaud, valence entre 0 et 215 .
J. Millet
Routeur ADSL 3/8
SP 1 = RTC,
SP 2 à 6 = Bande de transition, SP 7 à 32 = 26 kHz à 138 kHz Montant,
SP 33 à 256 = 138 à 1104 MHz Descendant
moins SP 64 = 271,6875 à 276 kHz Synchronisation.
Q10) Quelle est le débit maximum selon ces données théoriques pour une sous porteuse ( rappel : D = R × log
2[ V ] ) ?
Affectation des bits par porteuses : Analyse côté DSLAM ( menu « analyse porteuses » ) Sur le DSLAM: - Régler le mode Entrelacé = Auto Intlv dans le menu "Config Emul" ( voir en annexe ).
- Régler les débits de ce mode ( Dans "Config Emul" Paramètres Montant et Descendant ) à 32 kbit/s pour le sens montant ( de Interleaved ! => ligne IBR Intl Bit Rate ), à 32 kbit/s pour le sens descendant ( idem ).
Attention à ne pas mettre un débit mini supérieur au maxi, cela bloque l’Aurora.
( pour mettre une valeur de débit, taper 0, cela revient à gauche puis les chiffres désirés puis ↵ : 32 = 00032 ) -> Couper la ligne et relancer pour prendre en compte les nouveaux paramètres.
Q11) Par "Analyse porteuses" d'Aurora, notez les porteuses utilisées et le nombre de bits affectés à ces porteuses en sens descendant.
Calculer le débit.
Q12) Pourquoi y a-t-il une différence entre débit calculé ( 0 et 1 en ligne adsl ) et débit affiché par le traceur de 32 kbit/s ( 0 et 1 pour utilisateur = ATM ) ?
Affectation des bits par porteuses : Analyse côté routeur
On veut voir la répartition des bits par sous-porteuse ( "DMT Bits Per Bin" selon la terminologie Cisco ).
-> Taper router#show controllers nom_controleur_xDSL ? pour voir les options à ajouter
Q13) En déduire ce qu'il faut ajouter à la commande pour voir l'allocation des bits aux sous-porteuses ( show bit alloc … )
On rappelle les affectations des porteuses selon la normeRTC Bande de Transition (porteuses non utilisées)
sens montant téléversement
Sens descendant téléchargement ADSL G992.1 annexe A 256 porteuses 1 2 à 6 7 à 32 ( =0x20 ) 33 ( =0x21 ) à 256 ADSL2+ G992.5 annexe A 512 porteuses 1 2 à 6 7 à 32 ( =0x20 ) 33 ( =0x21 ) à 512
( cisco commence à 0 la numérotation, 0=RTC, 1 à 5 non utilisées,… ) -> Taper la commande précédente avec l'option en plus.
Q14) Expliquer ce que l'on voit à l'écran ( colonne de gauche = ? Downstream subcarrier est ce vraiment Downstream seulement ? )
Comparer avec les mesures côté DSLAM.
J. Millet
Routeur ADSL 4/8 III) Protocoles: Routeur en mode bridge
Le DSLAM ( Aurora en ATU-C ) utilise * VP,VC 8,35 ( menu Config ATM )
* en mode Bridge ( pont = transparent )
* avec encapsulation LLC ( menu Config IP / Encaps IP ).
Configuration du routeur en mode bridge
-> Réaliser la configuration en bridge ( pont ) par le port console selon les indications suivantes:
Configurer le xdsl (fait par défaut en auto )
Enable, conf t
Router(config)# controller vdsl 0
Router(config-controller)# operating mode auto Router(config-controller)# end
Configurer le côté LAN Les interfaces LAN Fast Ethernet sont automatiquement configurées comme éléments du VLAN par défault.
On ne peut les configurer avec des adresses individuelles. L'accès est fourni par le VLAN. ( On pourrait aussi les assigner à d'autres VLAN ).
Enable, conf t
Router(config)#int FastEthernet 0
Router(config-if)# switchport access vlan 1 Router(config-if)# exit
Router(config)# int vlan 1
Router(config-if)# bridge-group 1
Router(config-if)# no autostate -> sans cela "sh ip int brief" montrait que le VLAN Router(config-if)# no shutdown passait down et "no sh" ne le remonte pas Router(config-if)# exit
Config du lien Vlan – ATM PVC
Router(config)# no ip routing A NE PAS OUBLIER !!
Router(config)# bridge 1 protocol ieee CTRL Z
Config de l'interface WAN ADSL
conf t
Router(config)# interface atm 0 Router(config-if)# no shutdown Router(config-if)# bridge-group 1 Router(config-if)# no ip address
Router(config-if)# pvc X/Y remplacer X par le VP trouvé dans la config du port du DSLAM Y par le VC
Router(config-if-atm-vc)# encapsulation Z Z par l'encapsulation "aal5snap" pour LLC, "aal5mux ip" pour VCmux CTRL Z, wr
-> Mettre l'adresse ip 194.0.0.3 au pc client, vérifier que le PC serveur est en 194.0.0.8.
Vérifier que les ping passent entre les 2 PC.
Q15) Pourquoi met-on 2 fois bridge-group1 dans la configuration ?
Pourquoi ce mode Bridge marche-t-il sans que l'on mette une adresse IP à une interface du routeur ? Q16) Avec le résultat de la commande "sh bridge", indiquer ce que l'on voit s'afficher ? qui parle à qui ? Pourquoi verra-t-on du spanning tree dans l'analyse ultérieure des échanges ?
ADSL utilise le niveau 2 ATM = AAL5 ( ATM Adaptation Layer 2 ). Il peut fonctionner selon différents modes:
CBR ( Constant Bit Rate )
Débit constant garanti à l'usager = Téléphonie non compressée
Le débit est défini par le PCR ( Peak Cell Rate ) = Débit des cellules ATM ( paquets de taille fixe de 53 octets = 424 bits ): PCR = débit en bit/s / 424
VBR-rt ( Variable Bit Rate
Real Time )
flux qui change de débit ET ne peut pas attendre = Téléphonie compressée et vidéo
Il a un débit de cellules/s normal SCR Sustained Rate et un débit maxi PCR mais qui n'est pas garanti. Il passe après les flux CBR
VBR-nrt ( Variable Bit Rate
NON Real Time )
Idem VBR-rt mais il peut être mis en attente.
Il passe après les flux précédents UBR
( Unspecified Bit Rate )
Débit non garanti, on utilise ce qui est disponible = Internet Passe après les autres flux.
J. Millet
Routeur ADSL 5/8 Q17) Avec le résultat de la commande "sh atm vc", indiquer les caractéristiques du PVC atm utilisé pour la liaison adsl ?
Colonne SC = Mode ( UBR non spécifié, VBR variable, CBR Constant = débit garanti ) Colonne Peak kbps = Débit crête
Q18) Calculer le débit auquel cela correspond avec la formule PCR = débit en kbit/s / 424 Conclusion sur le débit que le vc ATM peut acheminer si on se limite à cet aspect ?
Q19) Aller à la configuration du PVC ( interface puis PVC ) et taper Router(config-if-atm-vc)#ubr ubr ubr ubr ? ? ? ? Que peut-on dire du débit maxi de cellules par seconde PCR que l'on a avec ce routeur ? Conclusion sur la valeur fixée par défaut ?
Source: http://www.cisco.com/en/US/tech/tk39/tk51/technologies_tech_note09186a00800a4837.shtml
Analyse des échanges = Mode Debug
On s'intéresse cette fois aux messages sur la ligne ADSL. Pour cela on va utiliser la commande debug des routeurs Cisco.
-> Débrancher l'ethernet des 2 PC = On n'a que le trafic interne à ADSL ( pas de mise à jour de PC ou netbios ou … ) -> Préparation pour le debug = Par la config routeur via port console, activer les timestamps en ms
router(config)#service timestamps debug datetime msec router(config)#service timestamps log datetime msec -> Lancer le debug sur le routeur en tapant via console router# debug atm packet Capturer les messages dans un fichier texte
( sous hyperterminal Menu Transfert > Capturer le texte
sous putty: Clic droit sur barre du haut de fenêtre, Change settings, Logging, Printable output, mettre un nom.txt ) Attendre 1 minute, les paquets ATM défilent.
-> Terminer la capture du fichier dans hyperterminal.
Arrêter le debug du routeur en tapant en aveugle router# undebug all -> Ouvrir le fichier créé.
Q20) Dire ce que détermine les valeurs des champs LLC et OUI ( utiliser l'arbre des protocoles donné en cours sachant que l'on est en bridge c'est à dire avec le protocole RFC2684 = ex RFC1483 ).
En analysant la valeur de TYPE, indiquer quel est le trafic que l'on observe
Remarque: Le debug ne montre pas le trafic du bridge, on ne verrait pas de ping entre les 2 PC. On verrait un ping partant du PC mais on ne le fait pas ici, on n'a pas mis ici d'adresse IP au routeur. On ne verrait que les messages en broadcast ethernet ( exemple: requêtes ARP si on rebranche un PC ou netbios ).
IV) Mode de fonctionnement ADSL: Rapide ( Fast ) / Entrelacé ( Interleaved )
ADSL dispose de 2 modes de fonctionnement :
Rapide ( Fast, Low ping ) : Les données sont mises en trames, on ajoute une petite correction d’erreur FEC et une entête.
Entrelacé ( Interleaved ): On mémorise plusieurs trames. On ajoute les corrections d’erreur On éparpille ces trames en les mélangeant = Entrelacement.
A la réception on fait l’opération inverse = Désentrelacement.
Intérêt de l’entrelacement: Meilleure protection contre les erreurs en les éparpillant ( codage de canal ).
-> Configurer la ligne du DSLAM (Voir arborescences des menus en annexe: F4 Config / Emulation / ... ) Mode: Entrelacé = Interleaved
Paramètres Montants -> débit ( Bit Rate de Interleaved ! => IBR): 512 kbit/s montant, Paramètres Descendants -> débit ( Bit Rate de Interleaved ! => IBR): 4096 kbit/s descendant.
-> Activer la ligne ADSL, rebrancher les liens Ethernet, vérifier qu’ils se voient ( ping entre 194.0.0.3 et 194.0.0.8 ).
J. Millet
Routeur ADSL 6/8 Q21) Noter le débit théorique en mode Entrelacé ( sur le routeur, commande sh controllers … ).
Relever la valeur d’un ping sur le serveur ( temps en ms ).
Recommencer avec un échange plus long : ping <adr> -l 512
- Désactiver la ligne ( flèche ).- Modifier la configuration de l'Aurora pour passer en mode FAST ( Mode dans Menu Config Emul ).
- Activer la ligne ( prise en compte des nouvelles valeurs ).
Q22) Noter le débit théorique en mode rapide.
Relever la valeur d’un ping sur le serveur ( temps en ms ).
Recommencer avec un échange plus long : ping <adr> -l 512
Q23) Conclusion sur le temps de propagation ( sachant que vue notre distance, seule la mise en trame intervient, pas le temps de propagation ) ?
Conclusion sur le débit ? Q24) Intérêt de l'entrelacement ?
Quel est le mode par défaut du DSLAM sachant que l'opérateur veut la ligne la mieux protégée ?
Quel est le mode que devrait avoir une personne jouant en réseau qui veut une grande réactivité du système ?
V) Protocoles: Routeur en mode PPPoE
Au lieu de configurer l'adresse IP côté client, on va utiliser le protocole PPPoE qui va dialoguer avec un serveur PPPoE pour donner automatiquement la configuration IP.
Analyse des échanges PPPoE sans ADSL
-> Mettre le PC client en DHCP, puis créer une connexion d'accès distant PPPoE:
Sous Win7 = Centre réseau et partage, Configurer nouvelle connexion, Se connecter à Internet, Haut débit ( PPPoE ) Identifiant: tpadsl mot de passe: adsl
-> Faire ipconfig sur le pc avant connexion, regarder les interfaces affichées.
-> Sur le PC serveur démarrer la machine virtuelle W2000 ( raccourci sur le bureau du PC serveur ).
( login Administrateur, mot de passe tpvoip )
-> Démarrer wireshark sur le PC client pour faire une capture sur la carte Ethernet.
Activer la connexion que vous avez créée si la machine virtuelle a eu 2 mn pour démarrer les services.
-> Ouvrir un navigateur web et se connecter à la page du serveur pour avoir du trafic http.
-> Terminer la capture wireshark. Mettre un filtre ( Case Filter ) PPPoED || PPP ( | = ALT GR et 6 )
Q25) Refaire ipconfig, quelle est la nouveauté ? Avec quelle @IP ?
Q26) Dans la capture wireshark, relever les étapes de PPPoED = PPPoE discovery avant les échanges PPP: PADI, … Quelle est l'adresse MAC destinataire de la première trame PPPoED ?
Q27) Lors de la phase de découverte ( Discovery ), quel est le niveau du modèle OSI utilisé ?
Entre le PC et le serveur, pour faire du point à point, comment fonctionnent les autres appareils ( modem, DSLAM ) ?
Q28) S'il y a plusieurs serveurs PPPoE visibles, à quelle étape le client ne communique-t-il plus qu'avec le serveur qu'il choisit ?
-> Enlever le filtre de wireshark et cliquer sur une trame HTTP.J. Millet
Routeur ADSL 7/8 Q29) Avec la trame http de requête du serveur web ( http GET ) dans Wireshark, indiquer la liste des protocoles entre http et ethernet ( on regroupera ici PPPoE et PPP ensemble ).
PC Client Modem DSLAM
Bridge
->Déconnecter la liaison PPPoE, supprimer la connexion créée.
-> Mettre le PC client en 10.0.0.3, laisser le PC serveur en 194.0.0.8.
Configuration du routeur en PPPoE On commence par effacer la configuration du routeur:
- Taper Router#write erase ou erase startup-config ou erase nvram Router#reload
La documentation cisco du routeur ne correspond pas aux commandes du routeur ( commande vpdn non acceptée ) donc on utilise une configuration trouvée sur Internet.
(Source: partie 887 de http://www.internode.on.net/support/guides/internet_access/broadband_adsl/cisco_routers/) conf t
no ip source-route interface ATM0 no ip address no shutdown
no atm ilmi-keepalive pvc 2/16
encapsulation aal5snap
pppoe-client dial-pool-number 1 int FastEthernet 0
switchport access vlan 1 interface Vlan1
ip address 172.20.160.1 255.255.0.0 ip nat inside
interface Dialer 0 ip address negotiated ip nat outside encapsulation ppp dialer pool 1 dialer-group 1
ppp chap hostname login ppp chap password mdp
ip nat inside source list NAT interface Dialer 0 overload ip route 0.0.0.0 0.0.0.0 Dialer 0
ip access-list extended NAT
permit ip 172.20.0.0 0.0.255.255 any CTRL Z
wr
ATM AAL5 RFC1483 Ether/ATM
ADSL a été conçu pour utiliser ATM car le coeur était en ATM
J. Millet
Routeur ADSL 8/8
-> Faire la configuration qui est indiquée mais avec
* le VP/VC du DSLAM
* le login, mot de passe du paragraphe précédent
Q30) Quel est le port fastethernet du routeur qui est configuré ? Vérifier que votre PC client est bien sur ce port.
PC "serveur" = avec
PC client machine virtuelle serveur PPPoE
LAN
WAN avec PPPoE
Ethernet Série
Ethernet
ADSL
Routeur Cisco 887 VA
DSLAM
-> Configurer l'IP de la carte réseau du PC client = Choisir une IP dans le réseau LAN de la configuration effectuée.
et mettre la passerelle = @IP du routeur.
-> Vérifier avec la diode PPP en face avant que la session PPPoE est active sur le routeur.
-> Taper en console router#sh ip int brief
Relever l'IP que le serveur PPPoE a donné à l'interface WAN du routeur
Q31) Indiquer à quoi on voit que la session est active
-> Vérifier que le ping passe entre PC client 172.20.x.y et serveur 194.0.0.9 ( interface PPP du serveur ) Analyse des échanges = Mode Debug
-> Lancer le debug sur le routeur en tapant via console router# debug atm packet
Capturer les messages dans un fichier texte ( sous hyperterminal Menu Transfert > Capturer le texte
sous putty: Session / logging, Printable output, mettre un nom.txt ) Attendre 1 minute, les paquets ATM défilent.
-> Faire un ping du routeur ( via console pour le voir dans le debug ) vers le serveur PPPoE.
-> Terminer la capture du fichier dans hyperterminal.
Arrêter le debug du routeur en tapant en aveugle router# undebug all -> Ouvrir le fichier créé.
Q32) Utiliser l'arbre des protocoles donné en cours et dire ce que signifie les valeurs des champs LLC et OUI.
Quel est le champ TYPE de RFC1483 ( ou RFC2684 ) ?
La trame Ethernet qui suit est-elle avec son champ FCS ou non ? Q33) Chercher un paquet de TYPE de RFC1483 en 1
èreligne = 07.
Grâce à l'annexe du protocole RFC2684, expliquer le contenu.
J. Millet
Annexe Routeur ADSL 1/6
Configuration de l'Aurora Presto: ( Pour information !! ne pas modifier ou appeler l'enseignant ) - Le testeur est en ATU-C ( DSLAM ) en mode bridge ( Pont ATM/Ethernet = transparent au dessus ).
- On a activé le VP, VC 8,35: Vérifier en allant dans le menu ATM ( F4 Config / ATM/... ) - Reste de la configuration:
Confg puis Config IP: Src: son adr, Dest: adr modem, DGW: Son adr, Spécifier Config Trame IP => DIX, LLC Snap, Bridge Type 7, Pas compress entete
Config Protocole: Bridged
J. Millet
Annexe Routeur ADSL 2/6
Annexes Trames RFC2684 ( RFC1483 ) Ethernet, IP RFC 2684 ( remplace RFC 1483 )
RFC 2684 ( qui remplace RFC 1483 ) définit 2 méthodes d'encapsulation pour interconnecter des réseaux sur AAL5 ( Couche d'adaptation 5 ) d' ATM en mode non connecté routé ou ponté.
-> LLC = Multiplexer plusieurs protocoles sur un unique circuit virtuel ATM.
Le type de protocole de chaque PDU est identifié par un entête LLC ( Lien Logique de Contrôle ) = préfixe IEEE 802.2.
-> VCmux = Multiplexer plusieurs protocoles en affectant chaque protocole sur un circuit virtuel ATM séparé.
( chaque circuit virtuel ATM transporte les PDUs d'un seul type de protocole ).
Le choix d'utiliser l'encapsulation LLC ou VCmux dépend de l'implémentation et des contraintes du système = Choix du FAI.
( LLC = moins de circuits virtuels ATM utilisés, VCmux = meilleur rendement de protocole avec moins d'entête ) En pratique le choix est fait par configuration des entités qui veulent communiquer ( pas de champ ATM permettant d'indiquer le choix ) pour un PVC ( Permanent VC utilisé en ADSL = sans négociation ).
Charge utile ( PDU d'AAL5 ) avec l'encapsulation LLC
LLC obligatoire si plus d'un protocole doit être transporté sur un même circuit virtuel.
* LLC Mode Routé
LLC ( 3 octets )
NLPID ( 1 octet )
PDU
( jusqu'à 216 – 4 octets ) DSAP
0xFE
SSAP 0xFE
Contrôle 0x03
Identificateur couche protocole
PDU
Dans le cas d'IP, on remplace NLPID par un entête SNAP: OUI et PID La valeur de LLC indique cette modification.
LLC ( 3 octets )
OUI Organism Unique
Identifier ( 3 octets )
PID Protocol Identifier ( 2 octets )
PDU
DSAP 0xAA
SSAP 0xAA
Contrôle 0x03
Si OUI = 0x00-00-00 => PID est un "EtherType" ( 0x800 = IPv4 0x806 = ARP,... ) * LLC Mode Ponté avec Ethernet 802.3 ( indiqué par OUI, le PID indiquant si on transmet le FCS Ethernet ou pas )
LLC ( 3 octets )
OUI Organism Unique
Identifier ( 3 octets )
PID Protocol Identifier ( 2 octets )
PAD ( 2 octets )
Adr Dest MAC ( 6 octets )
suite trame MAC avec FCS si PID=0x00 01 sans FCS si PID=0x00 07 DSAP
0xAA
SSAP 0xAA
Contrôle
0x03 0x00 0x80 0xC2
0x00 0x01 ou 0x00 0x07
0x00 0x00
si PID=0x000E => trame de gestion de spanning-tree "hello packets"
( toutes les 2 s par défaut ) Charge utile ( PDU d'AAL5 ) avec l'encapsulation VCmux
* VCmux mode routés
PDU AAL5 = PDU du protocole routé * VCmux mode pontés: On ajoute un champ PAD
Si c'est Ethernet PAD ( 2 octets ) 0x00 0x00
Adr MAC Dest ( 6 octets )
Suite Trame Ethernet FCS d'Ethernet en option ( selon le circuit virtuel et choix de configuration )
J. Millet
Annexe Routeur ADSL 3/6
PPPoE ( RFC 2516 )
Le contenu ( payload ) de la trame Ethernet qui contient du PPPoE a un champ en plus de 8 octets = 32 bits après le type Ethernet.
VER TYPE CODE SESSION_ID LENGTH PAYLOAD PPPoE
4 bits 4 bits 8 bits 16 bits 16 bits ~
8 octets Champ VER = 4 bits = 0x1 pour cette version de PPPoE ( rfc2516 ).
Champ TYPE = 4 bits = 0x1 pour cette version de PPPoE ( rfc2516 ).
Champ CODE = 8 bits voir schéma dans le cours ou tableau suivant.
SESSION_ID field = 16 bits choisi lors de la phase de découverte pour identifier les échanges de la session.
LENGTH = 16 bits = Longueur du payload PPPoE ( n'inclut pas les entêtes ).
PAYLOAD PPPoE = La charge utile dépend de la phase de communication (voir ensuite) - soit des TAG ( format TLV Type-Longueur–Valeur ) en PPPoED,
- Soit une trame PPP simplifiée ( seulement champ Protocole + Payload PPP ) en session PPP.
Il y a 3 phases dans la connexion PPPoE:
1) Phase de découverte PPPoE = PPPoED => Dans la trame Ethernet TYPE = 0x8863 La partie découverte PPPoE sert à définir une session.
A la fin de la découverte les appareils ont - défini un numéro de session PPPoE SESSION_ID - échangé leur adresses Ethernet.
Etapes successives de la découverte PPPoE:
PADI ( PPPoE Active Discovery Initiation ): CODE = 0x09 et SESSION_ID = 0x0000
= Envoi en broadcast ethernet ( adr mac ff:ff:ff:ff:ff:ff ) d'une requête demandant aux serveurs PPPoE à l'écoute des offres de services.
PADO (PPPoE Active Discovery Offer ): CODE = 0x07 et SESSION_ID = 0x0000
= Envoi à l'adresse ethernet du demandeur d'une offre de service avec en particulier le nom du serveur ( AC-name: Access Concentrator Name ).
PADR (PPPoE Active Discovery Request ): CODE = 0x19 et SESSION_ID = 0x0000
= Choix d'un serveur parmi les offres reçues
= envoi à l'adresse du serveur choisi de PADR = Requête de connexion.
PADS ( PPPoE Active Discovery Session-confirmation ): CODE = 0x65
= Le serveur accepte de gérer la connexion et fournit un SESSION_ID.
2) Session PPP => Dans la trame Ethernet TYPE = 0x8864 CODE de l'entête PPPoE = 0x00.
SESSION_ID de la session défini à la phase de découverte.
3) Fermeture de connexion = PPPoED => Dans la trame Ethernet TYPE = 0x8863 PADT (PPPoE Active Discovery Terminate): CODE = 0xa7 et SESSION_ID de la session.
= Fin de connexion
Remarque: Lors de la phase découverte les systèmes échangent des informations = TAG.
Un TAG a la structure TLV = Type – Length - Value Type = 16 bits indiquant l'information
Length = 16 bits indiquant la longueur de la valeur Value = Valeur de l'information
Exemple: Type du TAG PPPoE dans un paquet PADO = 0x0102 => AC-Name
=> Le serveur envoie son nom
J. Millet
Annexe Routeur ADSL 4/6
J. Millet
Annexe Routeur ADSL 5/6
TRAME ETHERNET 802.3
Préambule Sof adr
desti
adr source
Longueur / Type
DSAP SSAP Ctrl Org Code
Type Données FCS
7 oct 1 6 6 2 1 1 1 3 3 38 à 1492 4
802.3 MAC 802.2 LLC 802.2 SNAP
Le LSB est transmis en premier.
SOF = Start of Frame delimiter.
Longueur = Nombre d’octets dans la trame sans le contrôle d’erreur
Si Longueur/Type >1536 ( 0600H), ce champ est type et on n’a pas les champs au dessus mais le niveau 3.
Si le type est: 0800H: Données = Datagramme IP
0806H: Données = 28 octets ARP + 10 octets PAD de bourrage pour avoir au moins 38 octets ( recherche ADR MAC pour une IP ) 0835H: Données = 28 octets RARP + 10 octets PAD de bourrage pour avoir au moins 38 octets
8863H: Données = PPPoE Discovery 8864H: Données = PPPoE en session PPP
PAQUET Ipv4
version long entête
TOS type of service
longueur totale
identification flags fragment offset
TTL durée de vie
Protocole Somme de contrôle d’entête
adr IP source
adr IP derstinataire
options données
4 bits 4 bits 8 bits 16 bits 16 bits 3 bits 13 bits 8 bits 8 bits 16 bits 32 bits 32 bits paquet 1
MSB=bit0 LSB=bit31
paquet 2
MSB LSB
paquet 3 MSB LSB
paquet 4 MSB LSB
paquet 5 MSB LSB
Entête IP
Pour l’entête la transmission se fait en format grand indien : D’abord bit 0 à 7 puis 8 à15, puis 16 à 23,...
longueur entête = nombre de mots de 32 bits composant l’entête = 5 + options
TOS en Ipv4 = 3 bits de priorité du datagramme, bit D (délai), bit T (débit), bit R (fiabilité), bit C (coût), 3 bits non utilisés.
TTL ( time to live ): Nombre de sauts ( passage de routeurs ) avant élimination du paquet
Si le protocole est: 6: Données du paquet IP = segment TCP ( telnet, ftp, smtp,... )
17: Données du paquet IP = segment UDP ( dns, snmp, netbios=0x89... ) 1: Données = ICMP ( ping )
J. Millet
Annexe Routeur ADSL 6/6
Trame ARP utilisé avec IPv4 pour résolution d'adresse
Trame Ethernet 802.1q
TP TL53
J. Millet
Logiciels SIP
TP SIP
Matériel:
HUB
Même machine physique ( serveur en vmware )
Objectifs:
- Comparer différents logiciels clients et serveurs SIP ( pas forcément les solutions les plus performantes = TP Asterisk ) => En dégager une vision des éléments principaux à configurer, ceux que l'on retrouvera d'une solution à une autre.
- Analyse du protocole SIP de signalisation et RTP/RTCP de transport multimédia.
- Connecter un serveur à un opérateur public SIP ( simulé ).
- Tester les capacités d'un serveur.
Client ( Win7 64 ) adr IP:
192.168.1.3 - xlite 2 - xlite 3 - Express talk - Open Office
ET serveur SIP Axon NCH sur port 5060
- extensions 0951222222 mdp 1234 - extensions 0951333333 mdp 1234
- modif de son Dial Plan:
Pas de règle pour 0
Serveurs ( image vmware ) adr IP:
192.168.1.23
Client ( Win 7 64 ) adr IP:
192.168.1.13 - xlite 2 - xlite 3 - Express talk - vmplayer ET image vmware de W2000_SIP de Asterisknow de Trixbox
TP TL53
J. Millet
Logiciels SIP 1/6
Logiciels SIP
Notions de base: - Le serveur SIP est en écoute sur le port SIP 5060.
- Le terminal s'enregistre en appelant ce port 5060 et en indiquant son port SIP ( par défaut aussi 5060 ).
Le serveur accepte et appelera avec ce port indiqué pour la signalisation SIP.
- Le terminal est en écoute sur son port SIP.
I) Les clients SIP = UA User Agent
Nous utiliserons des clients logiciels ( Softphones ) ou matériel ( Siemens C450 IP ).
Dans un premier temps le serveur sera Asteriskwin avec les éléments préconfigurés.
- Démarrer l'image W2000 en cliquant sur le fichier vmx ( cela lance vmplayer ).
Se connecter au serveur W2000: Administrateur, tpvoip Relever l'adresse IP ( cmd / ipconfig ).
- Noter l'adresse IP du client Win7 qui héberge le PC virtuel du serveur.
- Noter l'adresse IP de l'autre client.
- Démarrer le logiciel Asteriskwin sur le PC ( virtuel ) serveur = Icone PBX Manager & Console.
Il émule "modestement" un serveur asterisk sous windows:
=> Cygroot/asterisk ( pour avoir plus de fonctionnalités, il faut payer ).
On trouve les fichiers .conf de Asteriskwin dans Cygroot/asterisk/etc
- Utiliser l'interface d'administration: Admin/ Pbx Manager, mot de passe "admin", Dial Plan
Q1) Noter les postes définis par défaut dans Asteriskwin ( colonne Extension ) ?
- Sortir du manager ( en haut puis Quit ).
- Lancer le serveur SIP: Tools/ Pbx Start.
Pour chacun des logiciels clients, en s'aidant de la présentation page suivante, répondre aux questions:
Q2) Relever les éléments qui définissent un usager ( cases à remplir quand on définit un compte usager SIP ) ? Q3) En allant dans les pages de configuration réseau, lesquels autorisent de paramétrer le port SIP ?
Quel est le port SIP par défaut ? Peut-on utiliser le logiciel sur le PC du serveur si le serveur est en 5060 ? Q4) Liste des codecs en G... utilisables
Certains logiciels permettent de faire d'autres types d'échanges que la voix ( Chat = Dialogue textuel, tableau blanc, vidéo ).
Q5) Applications autres que la voix pour communiquer ( regarder les menus et s'il y a des codecs vidéo ) ? Q6) Quels logiciels donnent des informations ? ( fichiers de log, messages d'état,... )
- Configurer 2 Xlite2. Faire une communication entre ces 2 logiciels.
- Remplacer un Xlite2 par un Xlite3, configurer, faire une communication.
NB: Fermer complètement le logiciel sinon il garde le port SIP => regarder en bas à droite de l'écran - Remplacer Xlite3 par Xpress Talk, configurer, faire une communication.
- Remplacer Xpress Talk par le téléphone Gigaset C450 IP, configurer:
- Sur le téléphone, enlever le DHCP ( Menu/ / réglages / base / réseau local [PIN 0000] /DHCP ), définir une adresse IP - Relier la base au réseau IP.
- Depuis un PC, avec le navigateur web, se connecter à l'interface de configuration du téléphone, mot de passe = code PIN 1111.
- Paramètres/Téléphonie/Connexions ( on y est par défaut ): Désactiver le compte Gigaset.net ( décocher Actif )
Editer l'autre compte: Connexion IP, remplir les infos de l'usager.
Tester la communication.
- Fermer l'image vmware w2000 qui intégre Asteriskwin.
TP TL53
J. Millet
Logiciels SIP 2/6
Xlite 2 Xlite 3 Express Talk Gigaset C450 IP
Pour la config d'un compte:
- Clic gauche sur icône menu ( droite de clear ) / System Settings / Sip Proxy / entrer dans une ligne = 1 compte pour 1 proxy
( Domain et Sip Proxy = IP serveur )
Pour la config d'un compte:
- Clic droit/ SIP Account settings une ligne = 1 compte pour 1 proxy
Pour la config d'un compte:
- Settings / Lines
Pour la config d'un compte:
* Sur le combiné: Adr IP de la base
Menu / réglages / base / réseau local [PIN 1111] / adresse IP
* Depuis un navigteur web: http://adr_IP mot de passe = code PIN 1111 (0000 par défaut changé car 2e TP Asrterisk) Pour la configuration réseau:
- menu / System Settings / Network - autres éléments réseaux = ceux du PC
Pour la configuration réseau:
- clic droit / Options / Advanced ( en bas à gauche ) / Network
- autres éléments réseaux = ceux du PC
Pour la configuration réseau:
- Settings / Network
Pour la configuration réseau:
- navigateur web ou combiné, voir avnt.
Pour les codecs:
Menu/ Advanced System Settings / Codec Settings
Pour les codecs:
Clic droit/Options/ Advanced / Audio Codecs
Pour les codecs:
- Pas de config,
utilise G711 A, G711 µ, GSM
Pour les codecs:
- Paramètres/Téléphonie/Connexions puis en bas de la page du compte SIP Pour relancer l'inscription:
Fermer le logiciel, rouvrir.
Pour relancer l'inscription:
Désactiver SIP Account Settings et fermer la fenêtre ( Close ), activer SIP Account Settings et fermer, il essaie de se connecter.
Pour relancer l'inscription:
- Ouvrir Settings/Lines, refermer.
Pour relancer l'inscription:
- bouton "Définir" du compte SIP
Pour infos de log:
Clic droit / Diagnostic log
Pour infos de log:
- Clic droit/Options/ Advanced / Diagnostics - Clic droit / Open Diagnostic log
Pour infos de log:
Bas de l'affichage
Pour infos de log:
Statut du compte
( page Paramètres/Connexions )
TP TL53
J. Millet
Logiciels SIP 3/6
II) Serveurs SIP
Nous utiliserons des clients logiciels ( Softphones ): Les plus fiables et ergonomiques Xlite3 ou Express Talk.
Notre serveur pour ce TP ne comprend pas de carte TDM => IP PBX ou PBX IP Only.
Il existe différents serveurs SIP plus ou moins performants:
Peu performants: - SIP Server de la société Brekeke est un serveur SIP utilisant Java avec serveur Apache Tomcat.
- Axon NCH SIP Server
- Asteriskwin ( émulation sous windows de Asterisk )
Performants: - Distributions implémentant Asterisk: Asterisknow de Digium, Trixbox de Fonality, Elastix - SER ( SIP Express Router ) ou OpenSER ( sur Renater réseau de recherche français )
Asterisknow sous VMWARE
Asterisknow était une distribution basée sur rPath Linux développée par Digium. Trixbox étant bien plus performante ( étudiée ensuite ), Asterisknow a repris l'interface de configuration Freepbx et la distribution CentOs.
Asterisknow permet de mettre simplement en oeuvre Asterisk à condition de ne pas avoir de cartes TDM ou d'avoir des Digium ( pour les autres cartes, pas de réponse sur leur forum... ) => Logiciel libre avec tendance à bloquer l'utilisation ! NB: Express Talk peut s'enregistrer avec Asterisknow sous vmware mais ensuite il y a des problèmes de communications du fait des interfaces réseaux de vmware ( NIC interfaces: Le logiciel mélange des adresses IP, voir les messages ).
=> On utilisera 2 terminaux Xlite pour tester les serveurs.
- Lancer la machine virtuelle contenant Asterisknow : Cliquer sur Asterisknow.wmx.
* Relever l'adresse IP une fois Asterisknow lancé: root, tpvoip, ifconfig
* Vérifier depuis un autre PC que l'on peut joindre cette machine virtuelle = ping.
- Accès distant par GUI
* Lancer Firefox sur une autre machine à l'adresse de l'Asterisk.
* Se connecter avec freepbx / fpbx
- Onglet "Admin" en haut, on voit sur la gauche 2 onglets Setup et Tools.
Les différentes fonctions ( modules ) ont été installées via "Module Admin"
NB: Il n'y a pas d'éditeur de fichier pour éviter de créer des incohérences entre des modifications dans le fichier en texte et dans l'interface http. On peut en ajouter en chargeant un module "Configuration Editor" pour freepbx.
- Créer un usager SIP 100(Extensions, Generic SIP Device, Submit, remplir les cases utiles, Submit en bas, OK pour pas de mot de passe ) - Cliquer en haut "Apply Configuration Changes", recommencer pour un téléphone 101.
- Menu "Tools/Asterisk CLI", taper la commande CLI "sip show peers" pour vérifier les enregistrements réalisés.
- Se connecter en ssh ( logiciel externe ou module "Tools/Java ssh" ) car on n'a pas ajouté de module "File Editor".
Q7) Recopier dans votre compte-rendu la définition de l'usager 100 qui est faite dans le fichier /etc/asterisk/sip_additionnal.conf Q8) Quel est le contexte associé ( traitement des numéros demandés ) ?
- Accès local par Terminal.
* Toujours en ssh, fermer le fichier édité.
* Se connecter à Asterisk: asterisk –rvvvvvv
* Réaliser un appel
Q9) Que voit-on en début de première ligne après executing ? Qu'est ce qui est affiché en bleu sur les lignes apparues ? Q10) Recopier dans votre compte-rendu les contextes et macros utilisées pour un appel ( après executing et @ ) ? Q11) Relever le code d'écho dans "Setup/Feature Codes".
- Tester en appelant *43.
- Relever la section utilisée ( après executing et @ )
Q12) Quelles sont les 3 fonctions utilisées ( en bleu après la section ) ?
TP TL53
J. Millet
Logiciels SIP 4/6
En fait il y a aussi des fonctions qui n'apparaissent pas directement, pour toutes les voir il faut aller dans le fichier:
- Quitter la CLI avec "quit", dans le répertoire /etc/asterisk, faire grep *43 extensions_additionnal.conf
Q13) Recopier ces lignes qui réalisent la fonction d'écho dans votre compte-rendu.
- Fermer l'image Asterisknow.
Trixbox sous VMWARE
Trixbox est une distribution basée sur CentOS Linux qui intègre Asterisk et les logiciels liés. Son ancien nom est Asterisk@home. Elle est développée par Fonality.
Ce serveur sera utilisé de manière approfondie dans le TP Asterisk. On se contentera ici de créer et utiliser 2 postes.
- Lancer la machine virtuelle contenant Trixbox.
* Cliquer sur Trixbox.wmx, cela lance wmplayer en virtualisant Trixbox.
* Relever l'adresse IP une fois Trixbox lancé ( se connecter: root, tpvoip et ifconfig eth0 ).
* Vérifier depuis un autre PC que l'on peut joindre cette machine virtuelle = ping.
- Accès distant par GUI en http:
* Lancer Firefox sur une autre machine à l'adresse de l'Asterisk.
* Se connecter en cliquant en haut à droite sur "switch"puis maint / password.
- Créer 2 usagers SIP 100 et 101, penser à activer les changements.
( onglet PBX, PBX Settings, module à gauche "extensions", Device = Generic SIP, cliquer submit, indiquer les valeurs nécessaires = user extension, Display name, SIP Alias,
en bas cliquer sur "submit" puis en haut Apply Configuration Changes ) - Revenir sur les usagers ( à droite, cliquer sur un des 2 usagers ).
Q14) Quel est le contexte associé à un usager créé ?
- Lancer Xlite et Express Talk sur le PC Win7 192.168.1.13, configurer ces postes en 100 et 101.
- Onglet Tools, menu "Asterisk CLI", taper la commande CLI "sip show peers" pour vérifier les enregistrements.
- Onglet PBX / Config Files Editor, répondre question suivante.
NB: Si ces menus n'apparaissent pas, vous êtes mal connecté en http, recommencer ( "switch"puis maint / password ).
Q15) Où sont placés les usagers SIP créés, sip.conf ou sip_xxxx.conf ?
- Onglet PBX / Config Files Editor, extensions.conf, cliquer le nom du contexte de l'usager dans la colonne de gauche.
Q16) Que voit-on alors dans la fenêtre ?
- Accès local par Terminal ( Console ).
* Ouvrir un terminal dans Trixbox ( clic dans la fenêtre vmplayer puis root/tpvoip )
* Se connecter à Asterisk: asterisk –rvvvvvv
* Réaliser un appel
Q17) Conclusion par rapport à Asterisknow ?
- Accès distant à Trixbox par SSH.
* Lancer ssh, se connecter à Trixbox avec root / tpvoip
* Lancer la connexion distante avec messages d'états: asterisk -rvvvvvv
* Taper la commande CLI: dialplan show nom_context ( nom_context = celui de Q14 ).
III) Protocole SIP
- Lancer une capture wireshark sur un PC client.
- Réaliser un appel, parler un peu !
- Telephony/VoIP Calls. Parfois Wireshark découpe l'appel => Mettre en surbrillance tous les éléments ( cliquer ).
TP TL53
J. Millet
Logiciels SIP 5/6
Q18) Incorporer à votre compte-rendu la fenêtre Flow ( faire Save As dans un fichier txt pour la rendre lisible ).
Commenter les éléments importants ( machines intervenant, contenu message INVITE, flux RTP ).
- Cliquer sur une trame RTP puis Telephony/RTP/Stream Analysis.
Q19) Quelle est l'ordre de grandeur du débit une fois l'appel stabilisé ? Quel codec ?
- Faire VoIP Calls, choisir la communication, faire Player / Decode => On voit le son en temporel.
- Sélectionner en cochant en dessous un sens ou les 2 de conversation et écouter: Play.
IV) Connexion du serveur à un réseau SIP ( SIP Trunk )
On veut réaliser l'installation suivante:
Le réseau public SIP sera réalisé par le serveur Axon NCH SIP Server .
- Fermer tout logiciel SIP ( libérer le port 5060 ) sur le PC en 192.168.1.3, lancer le serveur Axon sur ce PC sur l'autre PC
( celui en 192.168.1.3 qui n'a pas l'image vmware de Trixbox ) En cas de problème: interface d'administration: Bouton "Web Control",
identifiant : Admin ( respecter majuscule minuscules !!! ), mot de passe: admin ou rien selon la version extensions pour définir un téléphone ( il lui faut un mot de passe ).
- Lancer Express Talk sur le même PC ( Le serveur utilise le port SIP 5060, ce client par défaut utilise 5070 ) ( ou un poste externe si un hub est disponible sur la table )
Définir les paramètres du compte utilisé si ce n'est fait: 0951333333 avec mot de passe 1234 serveur en 192.168.1.3
Le serveur est configuré pour définir 2 extensions: 09 51 33 33 33 et 09 51 22 22 22
- Vérifier que le poste 09 51 33 33 33 s'enregistre sur le serveur ( messages en bas de la fenêtre du logiciel en bleu ).
On va configurer le serveur Trixbox pour qu'il ait le numéro public 09 51 22 22 22 => Définition d'un accès externe SIP. On définit un faisceau ou trunk puis un acheminement ou route.
- Se connecter au serveur Trixbox par http, onglet PBX / Pbx Settings.
- Définir le faisceau ( Trunk ): Menu Setup puis à gauche "Trunk"
=> Add SIP Trunk
Outbound Caller ID ( CID Sortant ) : 0951222222 Outgoing Settings / Trunk Name: Abo_ext_SIP Outgoing Settings / Peer Details
host=192.168.1.3 ( IP du serveur, pas celle de Trixbox !! ) username=0951222222 (votre numéro de téléphone )
secret=1234 ( mot de passe pour notre compte sur le serveur public )
type=peer ( liaison vers un autre serveur, rappel: type = friend pour connexion d'un téléphone local ) insecure=very
TP TL53
J. Millet
Logiciels SIP 6/6
Effacer le contenu de USER Details dans les Incoming Settings
=> Enregistrement sur le serveur public: Descendre à Register String
Mettre l'instruction dont le format est: numéro:mot de passe @ IP du serveur/numéro
sachant - que le numéro est 0951222222 avec le mot de passe donné dans Peer Details avant.
- que le serveur public est sur le PC 192.168.1.3.
Remarque: Il faut absolument le "/numéro" après le "@IP_serveur" car sinon l'enregistrement se fait mal ( on a s = numéro inconnu ce qui fera que les appels entrants seront traités sans le bon n° appelé = DID )
- Après les Submit, Apply, Reload... Vérifier sur le serveur public que le téléphone 0951333333 et le serveur Trixbox sont enregistrés: Web admin, Admin, admin ou rien selon version ( voir dans option, onglet "Web Access" )
Extensions => on doit voir leurs IP et leurs numéros de téléphone
- Vérifier sur Trixbox les bons enregistrements ( adresses IP cohérentes ): En CLI, sip show peers ( si vous avez fait une erreur avant, même en l'ayant corrigée, le serveur peut garder des mauvaises valeurs => reboot )
Outbound route: On peut alors définir dans Trixbox l'acheminement de sortie ( lien entre numéro extérieur appelé et faisceau ) Un téléphone local utilisera un préfixe pour indiquer qu'il veut appeler l'extérieur
PBX / PBX Settings / Setup / Outbond routes Route name: Op_ext_SIP_sortant
Dial Patterns: 0|. Masque de numérotation: On compose le préfixe 0 sur le téléphone local qui sera éliminé et Trixbox appelle sur le réseau public le reste du n° qui est de format quelconque ( . )
Trunk Sequence: Mettre le faisceau défini avant: Abo_ext_SIP
- Tester un appel depuis un poste local 100 ou 101 vers le 0951333333 en mettant le préfixe pour sortir.
Inbound route: On peut enfin définir l'acheminement en entrée ( lien entre numéro interne appelé et poste local )
Un appel extérieur ira vers un téléphone local par la SDA ( sélection directe à l'arrivée = lien n° public <–> n° privé ) PBX / PBX Settings / Setup / Inbound routes
Description: Op_ext_SIP_entrant DID number: 0951222222
( Caller ID number = n° appelant doit rester vide pour recevoir tous les appels )
Set Destination: Cocher Extensions et mettre 100 => Les appels au 0951222222 iront au poste local 100
Notre serveur public gèrant Trixbox comme une extension ( type=friend ) plutôt que comme un peer, Trixbox ne peut traiter correctement les trames SIP d'un appel entrant => numéro appelé inconnu ( DID ).
( message en CLI: "Received incoming SIP connection from unknown peer to ... " )
On a le numéro appelé sur notre réseau "public" dans les trames SIP ( voir le champ From du message SIP Invite ) mais Trixbox ne le traite pas en tant que tel => n° inconnu. Il ne peut associer la route entrante au numéro appelé.
- Ajouter à la définition du trunk, partie "outgoing settings" ( ! ) pour traiter ces appels entrants la ligne
"context=from-trunk"
( Autre solution: Accepter les appels SIP anonymes pour les téléphones locaux => Enorme faille de sécurité General settings / Security Settings et mettre "Allow Anonymous Inbound SIP Calls" à yes. )
- Tester un appel depuis le 0951333333 vers le 0951222222 qui doit aller au poste local 100.
Q20) Recopier dans votre compte-rendu la ligne qui contient la commande Dial ( en CLI: ssh puis asterisk –rvvvvvv ).
Remarque: On ne fera pas les tests de capacités du serveur pour raison de temps. On aurait utilisé des logiciels type SIPP ou ASTERTEST qui "stresse" le serveur ( envoi de multiples.requêtes pour simuler des appels nombreux et analyse du comportement du serveur ).
TP TL53
J. Millet
Asterisk
TP ASTERISK
Matériel:
Client et Config = 1 PC Win7 avec logiciels Xlite, Ekiga, SSH, Firefox, Thunderbird, OpenOffice, client Hudlite.Serveur = 1 PC avec Asterisk et les cartes Dialogic Diva server 4Z et 4 BRI avec une disquette Ghost, 1 Hub,
1 téléphone IP SIP Granstream,
1 Siemens gigaset C450 IP ( SIP et RTC ), 1 PABX Matra avec 2 S0, 1 Z, 1 I.
Copie de capi.conf et musiques d'attente sur le bureau du PC de configuration.
Objectifs:
- Analyse de l'organisation d'un serveur Asterisk
- Configuration installation locale Asterisk ( usager, plan de numérotation, groupes d'usagers, renvois,... ).
- Configuration d'accès externe par cartes TDM ( Canaux ZAP, accueil, discrimination ).
- Fonctionnalités avancées: Conférences, SVI Serveur Vocal Interactif.
TP TL53
J. Millet
Asterisk 1/9
3030 3031 3032 4000
4002
Serveur Asterisk ( Trixbox )
L'enseignant a préparé le PC serveur Asterisk
- en faisant un ghost ( 2nde partition sur 2nd disque dur, Depuis image TRIXAVE.gho comme source puis OK pour partition source puis destinataire disque 2 ( 6 Go ), partition 2.
( Disque 1: 9 Go XP, 21 Go Stockage FAT32 avec images ghost, 8 Go Asterisknow, Disque 2: 100 Mo inconnue, 6 Go Trixbox ) - intégration des cartes: en console ( root, tpvoip ) modification de /etc/asterisk/modules.conf
dans section [modules]: load => chan_capi.so
dans la section [global]: chan_capi.so=yes avec une ligne vide à la fin de module.conf - en donnant l'adresse IP 192.168.1.2 au PC au PC qui est en DHCP
- en mettant un numéro public à la carte FXO pour les appels entrants avec config via http ( Inbound route ) On dispose alors d'un PC serveur avec 2 cartes PCI DIALOGIC ( ex EICON ) DIVA Server
( Analog 4P = 4 FXO, 4 BRI = 4 T0 ou SO ).
Asterisk peut désormais dialoguer avec les cartes par le module chan_capi basé sur le standard CAPI.
Voir http://uv.utbm.free.fr/TL53/Install Diva sous Linux.htm
I) Définition des éléments de l'installation
Gigaset C 450 IP
Téléphone DECT à sorties SIP et RTC
Z
4001
WAN IP RTC
IP non utilisé ici
102 Z I Matra
RNIS
IP LAN IP + propriétaire Matra
S0
IP FXO
IP
T0
Softphone = Xlite Navigateur web OpenOffice
poste 100 Asterisk avec
carte ethernet = IP
carte Diva Server 4 Z = FXO carte Diva Server 4 BRI = T0
On rappelle les possibilités de connexions côté privé et public:
Côté privé du PABX: Les abonnés ( User ) = Terminaux locaux
- Abonnés IP ( logiciels Softphones ou matériels ) => Connexion ethernet / IP avec port ToIP ouverts ( Signalisation, RTP ) - Abonnés analogiques FXS => Interface téléphonique Z ou FXS = PABX ( interface maitre )
- Abonnés RNIS ( ISDN ) = TE ( Terminal Equipment ) => Interface S0 = PABX ( interface maitre ) Téléphone IP
SIP sans PoE poste 101
- un PABX simule RTC et RNIS ( d'où un téléphone numérique Matra I = RNIS amélioré mais pas compatible, d'où des numéros à 2 chiffres ) - Pour simplifier, il n'y a qu'un LAN et pas de WAN ( pas de routeur pour les séparer ).
Privé
PUBLIC
TP TL53
J. Millet
Asterisk 2/9
Côté public: Les canaux ( Channel ) = moyen d'acheminer les communications Le type de canal est un faisceau ( Trunk )
- Canaux IP: Faisceau ( Trunk ) SIP ou H323 ou IAX,... => Connexion ethernet / IP avec port ToIP ouverts ( Signalisation, RTP ) - Canaux analogiques FXO: Faisceau ZAP ou CAPI => Accès réseau = ligne réseau LR = FXO ( interface esclave )
- Canaux RNIS ( ISDN ) = NT ( Network Termination ): Faisceau CAPI ou mISDN ou ISDN4Linux
=> Accès réseau RNIS sur interface T0 ( BRI ) du PABX ( interface esclave ) ou sur interface T2 ( PRI ).
Pour la téléphonie en commutation de circuit ( analogique ou RNIS ), on parle de technique TDM ( Time Division Multiplex ).
( carte TDM analogique = RTC, carte TDM numérique = RNIS ).
Q1) Quels sont les abonnements dont dispose l'entreprise pour communiquer avec l'extérieur selon le schéma ? Q2) Avec les équipements mis dans le serveur Asterisk et les abonnements, par où pourra-t-on téléphoner à l'extérieur ? Avantages et inconvénients des différentes technologies ?
II) Interfaces de dialogue
Outil de dialogue local : Console
- Se connecter sur le PC Trixbox redémarré: Identifiant root et mot de passe tpvoip
Q3) Faire ifconfig et relever l'adresse IP du serveur.
- Passer dans le répertoire asterisk: cd /etc/asterisk
- Asterisk est déjà lancé ( voir Démarrage et arrêt d'Asterisk en annexe ), on va s'y connecter: asterisk -rvvvvvv ( r pour remote, v niveau de verbose = précision des messages d'état )
Asterisk étant lancé, on est en commande CLI ( Prompt finissant par >CLI: ). Taper "help".
Q4) Relever les commandes "SIP show ..." ( help sip show ) ? Y a-t-il une commande commençant par capi ... ( faire help capi ) ?
- Quitter la console ( sinon en root, cela peut perturber l'interface web ensuite ): exitOutils de dialogue distant ssh
Au lieu de se connecter via terminal en local, on utilise le PC client distant:
- Sur le PC client, lancer une connexion SSH vers le serveur Asterisk identifiant: root, mot de passe: tpvoip ( sous Asterisknow, le login est admin, il faut passer root en pour pouvoir de se connecter au serveur Asterisk: sudo su puis mot de passe ) - Passer dans le répertoire asterisk: cd /etc/asterisk
- Créer un fichier capi.conf: nano capi.conf
puis copier le contenu du fichier qui est sur le bureau ( CTRL A puis CTRL C sous windows et Edit/Paste en SSH ) puis CTRL O puis puis CTRL X
- Lui donner les droits maximum: chmod 777 capi.conf
- Lancer la connexion distante: "asterisk –rvvvvvv", stopper le logiciel: "stop now", redémarrer "asterisk –cvvvvvv"
Q5) En CLI, voit-on après création de capi.conf des commandes capi ... ? Quelle information donne-t-elle pour l'instant ?
Outil de dialogue distant graphique: GUI ( Graphical User Interface )
- Sur le PC client, lancer le navigateur Firefox pour visiter l'adresse IP du PC Asterisk.
- Passer en mode admin: En haut à droite après User Mode => Switch -Identifiant: "maint" et mot de passe: "password".
TP TL53
J. Millet
Asterisk 3/9
Remarque: Si Asterisk est démarré en console avec l'identifiant root, certaines pages risquent de ne pas s'afficher.
( on peut faire "amportal restart" puis asterisk –r )
Nous allons utiliser le menu Asterisk/FreePBX ou PBX ( selon la langue ).
III) Configuration locale minimale du serveur Asterisk par GUI
Trixbox est très utilisée car elle se programme facilement et efficacement par l'interface graphique comme Asterisknow mais est plus ouverte ( pas focalisée sur les cartes Digium ).
Découverte de l'interface, menu Asterisk = PBX - FreePBX ou PBX Settings Configuration par interface du logiciel
- Edition Configuration ou Config Edit = Faire la configuration par édition des fichiers de conf - Information d'Asterisk ou Asterisk Info = Eléments définis dans le serveur actuellement.
- Manager de périphériques ou Endpoint Manager = Utilisation de configurations prédéfinies pour certaines marques de terminaux.
- CDR Report (Call Detail Records) = Historique des appels.
Définir des usagers par FreePBX = PBX Settings
a) Etapes préalables déjà faites: Installer les modules utilisés ( infos pour ceux qui veulent utiliser le logiciel ) La première étape est d'installer les modules que l'on veut utiliser selon les fonctions nécessaires à notre installation:
Asterisk / PBX / PBX Settings / Tools ou Setup / Module Admin / Check for update on line
Il faut être online donc cela a déjà été fait pour le TP et inclus à l'image Ghost chargée ( Phone book = Répertoire, Backup & Restore = Sauvegarde et restitution, Asterisk CLI = Console Asterisk, IVR = Digital Receptionnist = Standard automatique ou SVI, ... ).
Principe: On clique sur le nom du module à gauche, on a des infos de description de sa fonction, on clique sur action "Download",
puis en bas de page sur "Process" puis on active les changements.
TP TL53
J. Millet
Asterisk 4/9
b) Création automatique du contenu des fichiers sip.conf
- Définir un usager SIP dans PBX = Setup / Extensions / Generic SIP puis submit.
- Références 100 ( n° = user extension, Display name, SIP Alias ) puis "submit" en bas pour prendre en compte un usager . OK même s'il dit qu'il vaudrait mieux lettre un mot de passe: secret
- Activer les changements ( "activate changes" en barre orange en haut d'écran ) puis reload.
- Revenir sur l'usager ( "100 <100>" à droite ), une ligne context s'affiche cette fois. Modifier en mettant tp_sip.
- sauvegarder et recharger.
- recommencer pour un usager 101 ( idem pour context aussi ) => "Add Extension" à droite, submit,...
On a créé des usagers pour Asterisk sauf qu'au lieu de copier des lignes de définitions, le logiciel l'a fait pour nous.
c) Edition de extensions.conf pour communication locales = Plan de numérotation Un usager est défini par - ses caractéristiques téléphoniques,
- son plan de numérotation = context
L'usager qui utilise un contexte verra les numéros qu'il compose sur son téléphone traités selon les règles d'appel définies pour son context défini dans extensions.conf ( ou dérivés inclus ).
Le fichier extensions.conf est fait d'une section générale [Global] puis de sections [nom_de_context] avec des inclusions d'autres fichiers contenant des contextes: commande "include => nom" ou "#include nom".
Les sections sont faites de commandes: exten => extension,priority,Command(parameters) extension est un numéro ou un ensemble de numéros ( pattern ): voir annexe
priority définit l'ordre de traitement ( Asterisk traite les règles de priorité 1, puis 2, puis 3,... ) Commandes: Dial, Wait, Answer, Playback, Voicemail, Hangup, Echo ...
http://www.voip-info.org/wiki/index.php?page=Asterisk+-+documentation+of+application+commands Pour cette configuration minimale, on va créer les règles d'appels:
- Dans PBX/Config Edit, choisir /etc/asterisk puis extensions.conf - Ajouter une section [tp_sip]
exten => _1XX,1,Dial(SIP/${EXTEN}) ; règle pour un téléphone de tp_sip: s'il appelle un n°
; en 1xx, lancer l'appel par SIP vers ce n° composé
; = variable ${EXTEN }
- Sauvegarder avec update en bas en étant sûr d'avoir caractère pour caractère les lignes indiquées ( dont le _ ).
- Recharger avec reload en CLI ( via ssh ou console ou Trixbox/PBX/tools/CLI )
Xlite sur le PC client et le téléphone IP sont configurés comme indiqué première page ( En cas de problème sur le téléphone IP: touche menu puis réseau... => Adr IP. On se connecte en http, login admin, mot de passe IP110 pour inovaphone ou admin pour grandstream ).
A ce stade on a 2 usagers reliés au PABX
- Tester s'ils peuvent s'appeler.
- Vérifier que l'appel *43 n'aboutit pas.
[tp_sip] ne dit pas ce qu'il faut faire pour cet appel 100 101
- Dans extensions.conf, de la même manière, ajouter dans [tp_sip] une fonction d'écho ( sans les commentaires ):
exten => *43,1,Answer() ; décrocher
exten => *43,2,Playback(demo-echotest) ; le serveur envoie l'annonce du début d'écho exten => *43,3,Echo() ; écho de la voix
exten => *43,4,Hangup() ; raccroche - Reload et test.
PABX