Logo
JcMamiah
Formations · Systèmes & Réseaux
Formateur
FormateurJean Christophe Mamiah
Partie 2 · 2h · Switches réels · Wireshark · QoS

TP — Réseau VOIP
sur équipement réel

3 TPs progressifs : configurez les VLANs voix sur un switch physique, capturez le trafic SIP/RTP avec Wireshark, puis appliquez la QoS DSCP EF=46 sur votre infrastructure FreePBX.

⏱ 2h · 3 TPs · Séance 2 requise
🔀 TP 1

VLAN Voix — Isolation sur switch réel

Configurez un VLAN dédié à la voix sur votre switch physique. Les téléphones IP et les données informatiques circulent sur des VLANs séparés, réduisant les collisions de broadcast et améliorant la sécurité.

1

Connexion et diagnostic initial

Console ou SSH · ~10 min
✓ Fait

Connectez-vous au switch de votre groupe et vérifiez la configuration actuelle avant toute modification.

🔀 Switch Cisco — Diagnostic initial
! Connexion via câble console ou SSH
Switch> enable
Switch# show vlan brief
! Vérifier les VLANs existants

Switch# show interfaces status
! Voir l'état de toutes les interfaces

Switch# show running-config
! Voir la configuration complète
💡
Câble console : Utilisez un câble RJ45→USB (ou DB9) avec le terminal PuTTY (115200 bps, 8 bits, sans parité). Vérifiez le port COM dans le Gestionnaire de périphériques.
Connecté au switch en mode privilégié (#)
VLANs actuels notés (show vlan brief)
2

Création des VLANs voix et données

VLAN 10 Data + VLAN 20 Voix · ~15 min
✓ Fait

Créez deux VLANs distincts : un pour les données informatiques, un pour la voix IP. Cette séparation garantit que les broadcasts voix n'impactent pas le réseau data.

🔀 Création des VLANs
Switch# conf t
Switch(config)#

! Créer VLAN 10 — Données
vlan 10
 name DATA
exit

! Créer VLAN 20 — Voix
vlan 20
 name VOIX
exit

! Vérifier
do show vlan brief
! VLAN 10 DATA et VLAN 20 VOIX doivent apparaître
VLAN 10 (DATA) créé avec le bon nom
VLAN 20 (VOIX) créé avec le bon nom
3

Assignation des ports access et voice

Ports téléphones + VM FreePBX · ~15 min
✓ Fait

Configurez les ports du switch : port de la VM FreePBX en VLAN 10/20 trunk ou access, ports téléphones avec VLAN voix et VLAN données (pour accès PC derrière téléphone).

🔀 Port VM FreePBX (accès aux 2 VLANs via trunk)
! Port Fa0/1 connecté au PC hébergeant la VM FreePBX
Switch(config)# interface fa0/1
 switchport mode access
 switchport access vlan 20    ← VLAN voix pour FreePBX
 no shutdown
exit
🔀 Ports téléphones IP (voice VLAN)
! Port Fa0/2 — Téléphone extension 101
Switch(config)# interface fa0/2
 switchport mode access
 switchport access vlan 10     ← VLAN data pour PC
 switchport voice vlan 20      ← VLAN voix pour téléphone
 spanning-tree portfast          ← Accélère la montée du port
 no shutdown
exit

! Répéter pour Fa0/3 (ext. 102) et Fa0/4 (ext. 103)
Switch(config)# interface range fa0/3-4
 switchport mode access
 switchport access vlan 10
 switchport voice vlan 20
 spanning-tree portfast
 no shutdown
exit

Switch(config)# end
Switch# write memory    ← Sauvegarder !
💡
Commande voice vlan : Cette commande Cisco dit au téléphone IP d'envoyer sa voix en 802.1Q taggé VLAN 20 tout en laissant passer le PC connecté derrière en VLAN 10 non taggé. C'est la configuration professionnelle standard.
⚠️
Switches non-Cisco : Sur HP ProCurve/Aruba, la commande équivalente est vlan 20 voice tagged. Sur Netgear, vérifiez la doc de votre modèle.
Port VM FreePBX assigné au VLAN 20
Ports téléphones configurés avec voice vlan 20
Configuration sauvegardée (write memory)
Téléphones toujours enregistrés sur FreePBX après changement
🔬 TP 2

Capture Wireshark — Analyser SIP et RTP

Capturez un appel téléphonique réel entre les extensions 101 et 102 de votre FreePBX, et analysez les protocoles SIP (signalisation) et RTP (voix) dans Wireshark.

1

Configurer Wireshark pour capturer

Interface réseau + filtres · ~10 min
✓ Fait

Lancez Wireshark sur le PC du groupe. Vous devez capturer sur l'interface réseau connectée au switch (VLAN voix).

1
Lancer Wireshark en tant qu'administrateur
2
Choisir l'interface Ethernet connectée au switch du groupe (celle avec l'IP 192.168.X.xxx)
3
Dans le champ filtre, taper : sip or rtp puis appuyer sur Entrée
4
Cliquer l'icône Requin bleu ▶ pour démarrer la capture
5
Depuis le téléphone 101, appeler le 102 — décrocher, parler quelques secondes, raccrocher
6
Cliquer le carré rouge ■ pour arrêter la capture
💡
Mode promiscuous : Si vous ne voyez pas le trafic SIP, activez le mode promiscuous dans Édition → Préférences → Capture → cocher "Mettre toutes les interfaces en mode promiscuous".
Wireshark lancé sur la bonne interface
Filtre "sip or rtp" appliqué
Appel 101→102 effectué pendant la capture
Des paquets SIP et RTP visibles dans la liste
2

Analyser les messages SIP

INVITE, 100 Trying, 200 OK, BYE · ~15 min
✓ Fait

Dans la liste de paquets capturés, identifiez la séquence complète d'un appel SIP : l'établissement, la conversation et la libération.

🔬 Séquence d'appel SIP typique à identifier
No. Time Source Dest Protocol Info 1 0.000000 192.168.20.101 192.168.20.10 SIP REGISTER sip:192.168.20.10 2 0.012000 192.168.20.10 192.168.20.101 SIP 200 OK 3 2.000000 192.168.20.101 192.168.20.10 SIP INVITE sip:102@192.168.20.10 4 2.005000 192.168.20.10 192.168.20.101 SIP 100 Trying 5 2.010000 192.168.20.10 192.168.20.102 SIP INVITE sip:102@... 6 2.020000 192.168.20.10 192.168.20.101 SIP 180 Ringing 7 4.500000 192.168.20.10 192.168.20.101 SIP 200 OK (décroché) 8 4.510000 192.168.20.101 192.168.20.10 SIP ACK 9-N 4.520000 192.168.20.101 192.168.20.102 RTP G.711 20ms payload N+1 15.000000 192.168.20.101 192.168.20.10 SIP BYE N+2 15.005000 192.168.20.10 192.168.20.101 SIP 200 OK
1
Dans Wireshark, filtrer uniquement sip — repérer le premier INVITE (début d'appel)
2
Clic droit sur l'INVITE → Follow → UDP Stream pour voir le dialogue complet
3
Aller dans Telephony → SIP Flows — Wireshark affiche un diagramme de séquence automatique
4
Cliquer sur un paquet INVITE → dérouler Session Initiation Protocol dans le panneau du bas
5
Repérer et noter : From:, To:, Call-ID:, Contact:, Content-Type: application/sdp
🔬
SDP dans l'INVITE : Le corps du message INVITE contient du SDP (Session Description Protocol) qui négocie les codecs audio. Cherchez m=audio XXXX RTP/AVP 0 — le 0 correspond au codec G.711 µ-law (PCMU).
Message INVITE identifié et examiné
Séquence 100 Trying → 180 Ringing → 200 OK vue
BYE de fin d'appel identifié
SDP avec codec G.711 repéré dans l'INVITE
3

Analyser les flux RTP et rejouer l'audio

Telephony → RTP · ~20 min
✓ Fait

Les paquets RTP transportent la voix numérisée. Wireshark peut reconstituer et rejouer l'audio capturé — fonctionnalité très utile pour le diagnostic.

1
Filtrer rtp — observer les petits paquets de 20ms avec payload G.711
2
Aller dans Telephony → RTP → RTP Streams
3
Deux flux apparaissent (101→102 et 102→101). Sélectionner un flux → cliquer Analyze
4
Dans la fenêtre d'analyse : noter le Jitter max et les paquets perdus (%).
5
Cliquer Play Streams → sélectionner le flux → ▶ Play — vous entendez l'audio capturé !
🎧
Indicateurs de qualité : Jitter < 30 ms = excellent · Perte < 1% = acceptable · Au-delà, la qualité vocale se dégrade. Ces métriques seront utilisées au TP 3 pour justifier la QoS.
Flux RTP identifiés (2 flux bidirectionnels)
Valeur jitter notée : _____ ms
BONUS : Audio rejoué avec succès dans Wireshark
⚡ TP 3

QoS DSCP — Prioriser la voix

Configurez la QoS (Quality of Service) sur votre switch Cisco pour marquer le trafic voix RTP avec DSCP EF=46 et lui donner la priorité sur le réseau.

📌
Pourquoi la QoS est indispensable : La voix IP est sensible au délai (max 150ms), à la gigue (jitter, max 30ms) et aux pertes de paquets. Sans QoS, un gros téléchargement peut dégrader un appel téléphonique. DSCP EF=46 garantit la priorité au trafic voix.

Valeurs DSCP de référence

Classe de traficNom DSCPValeur décimaleValeur binaire
🎵 Voix (RTP)Expedited Forwarding (EF)46101110
📞 Signalisation (SIP)CS3 / AF3124–26011000
💻 Données normalesBest Effort (BE)0000000
1

Activer le trust DSCP sur les ports

mls qos trust · ~15 min
✓ Fait

Par défaut, le switch Cisco ignore les marquages DSCP. Activez le "trust DSCP" pour que le switch respecte les marquages appliqués par FreePBX et les téléphones IP.

🔀 Activation QoS globale + trust DSCP
Switch# conf t

! Activer QoS globalement
Switch(config)# mls qos

! Sur les ports connectés aux téléphones IP
Switch(config)# interface range fa0/2-4
 mls qos trust dscp     ← Respecter le DSCP des téléphones
exit

! Sur le port de la VM FreePBX
Switch(config)# interface fa0/1
 mls qos trust dscp
exit

Switch(config)# end
Switch# write memory
⚠️
Cisco Catalyst uniquement : La commande mls qos est spécifique aux Cisco Catalyst 2960/3560. Sur d'autres marques, la configuration QoS diffère (HPE ProCurve, Netgear GS-xxx).
mls qos activé globalement
trust dscp configuré sur les ports téléphones
2

Vérifier le marquage DSCP dans Wireshark

Pendant un appel · ~20 min
✓ Fait

Après activation de la QoS, relancez une capture Wireshark pendant un appel et vérifiez que les paquets RTP sont bien marqués DSCP EF=46.

1
Relancer Wireshark avec filtre rtp → démarrer la capture
2
Effectuer un appel 101 → 102 de quelques secondes
3
Cliquer sur un paquet RTP → dans le panneau du bas, dérouler Internet Protocol Version 4
4
Repérer le champ "Differentiated Services Field: 0xb8 (DSCP: EF PHB)"
🔬 En-tête IP d'un paquet RTP avec DSCP EF=46
Internet Protocol Version 4 Version: 4 Header Length: 20 bytes Differentiated Services Field: 0xb8 (DSCP: EF PHB (46), ECN: Not-ECT) 1011 10.. = Differentiated Services Codepoint: Expedited Forwarding (46) .... ..00 = Explicit Congestion Notification: Not ECN-Capable (0) Total Length: 200 Protocol: UDP (17) Source: 192.168.20.101 Destination: 192.168.20.102
DSCP EF=46 visible = QoS opérationnelle ! Vos paquets RTP seront traités en priorité sur tout switch/routeur respectant les recommandations ITU-T G.1010. C'est exactement ce qu'on trouve en entreprise.
Paquets RTP capturés avec DSCP EF=46 visible
Valeur hexadécimale 0xb8 identifiée dans l'en-tête IP
Jitter mesuré après QoS (comparer avec TP2)