• Aucun résultat trouvé

TP TL53. Téléphonie sur IP. J. MILLET 2015/ tp (Asterisk sur RPI -> pas H323, cisco sur 1 PC)

N/A
N/A
Protected

Academic year: 2022

Partager "TP TL53. Téléphonie sur IP. J. MILLET 2015/ tp (Asterisk sur RPI -> pas H323, cisco sur 1 PC)"

Copied!
65
0
0

Texte intégral

(1)

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)

(2)

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

(3)

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

(4)

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 .

(5)

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 norme

RTC 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.

(6)

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.

(7)

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 ).

(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.

(9)

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

(10)

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

ère

ligne = 07.

Grâce à l'annexe du protocole RFC2684, expliquer le contenu.

(11)

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

(12)

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 )

(13)

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

(14)

J. Millet

Annexe Routeur ADSL 4/6

(15)

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 )

(16)

J. Millet

Annexe Routeur ADSL 6/6

Trame ARP utilisé avec IPv4 pour résolution d'adresse

Trame Ethernet 802.1q

(17)

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

(18)

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.

(19)

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 )

(20)

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 ) ?

(21)

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 ).

(22)

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

(23)

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 ).

(24)

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.

(25)

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

(26)

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 ): exit

Outils 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".

(27)

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.

(28)

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

Références

Documents relatifs

Attention : il faut créer un compte SIP sous le serveur SIP pour l'obox (en donnant le numéro d'entrée de la ligne 0123456786).. En effet le serveur voit l'obox comme un

Créer la clé SD bootable à l'aide de Win32DiskImager : ATTENTION à bien choisir la carte SD pour la création de l'image au risque d'écraser le disque dur du PC !!!2. Installer la

Ensuite, on va utiliser plusieurs série de commande avec apt-get pour mettre à jour les packages et le système, ainsi qu'installer les packages nécessaire au fonctionnement du

Pour pouvoir passer des appels d’un téléphone IP vers la ligne analogique (France Télécom), il faut expliquer à la passerelle quand composer le numéro.

La prise en main et l'installation du PABX en mode virtuel avec des logiciels open source sont une introduction à la mise en place de la téléphonie IP dans l'entreprise, qui

Notons que le serveur indiqué dans la partie domaine d’une adresse SIP peut être un serveur SIP de type proxy ou une passerelle permettant de joindre des utilisateurs

Une société possède différents site et désire migrer son système téléphonique vers une solution Open source. La solution retenue est une solution Asterisk.

Par contre, pour certaines raisons (sécurité, redondance ou s’il s’agit d’une grande multinationale), les serveurs peuvent être dupliqués :.. Dans cet exemple,