JcMamiah
Formations · Systèmes & Réseaux

Chapitre 4 — Protocole SIP

Session Initiation Protocol

Photo du formateur
Formateur
Jean Christophe Mamiah
📞Chapitre 4 · Signalisation

Le protocole SIP : la signalisation de la VOIP

SIP (Session Initiation Protocol) est le protocole principal utilisé en VOIP pour établir les appels, gérer les communications et terminer les sessions. Important : SIP ne transporte pas la voix — il organise la communication, négocie les paramètres, gère les utilisateurs. La voix, elle, est transportée par RTP.

📝 REGISTER 📞 INVITE 👋 BYE 🔢 Codes 1xx → 5xx 🔌 Ports 5060 / 5061

Introduction À quoi sert SIP ?

SIP est le chef d'orchestre de la VOIP. Il ne transporte pas la voix lui-même : il s'occupe de tout ce qui entoure l'appel.

Établir

  • Initier une communication
  • Négocier les paramètres

Gérer

  • Transfert d'appel
  • Mise en attente

Terminer

  • Raccrochage
  • Libération des ressources
📌 À retenir : SIP est à la VOIP ce que HTTP est au web : un protocole de signalisation, textuel, fonctionnant en requêtes/réponses. La voix, elle, transite ensuite via RTP.

Fonctionnement Le cycle de vie d'un téléphone IP

Quand un téléphone IP démarre, il enchaîne automatiquement trois étapes :

🔌
Étape 1
Enregistrement
Le téléphone s'enregistre auprès du serveur SIP (REGISTER). Il indique son extension, son IP et s'authentifie.
📞
Étape 2
Appels
Une fois enregistré, il peut appeler d'autres utilisateurs et recevoir des appels.
🎼
Étape 3
Coordination
Le serveur SIP coordonne chaque communication : routage, sonnerie, fin d'appel.

Architecture Architecture SIP simplifiée

Trois rôles principaux interviennent dans toute infrastructure SIP :

📞
Téléphone IP
Client SIP
User Agent — émet et reçoit les requêtes SIP. Téléphone matériel ou softphone (Zoiper, Linphone).
🖥️
IPBX / Serveur SIP
Gestion des appels
Authentifie, route, enregistre les utilisateurs. C'est le cœur du système (Asterisk, FreePBX…).
☁️
Fournisseur SIP Trunk
Connexion opérateur
Connecte l'IPBX au RTC public, permettant d'appeler/recevoir vers l'extérieur.

Détail Les 3 messages SIP fondamentaux

REGISTER

Enregistrement du téléphone

Rôle

Permet au téléphone IP de signaler sa présence et d'indiquer son adresse IP au serveur SIP.

Exemple simplifié

# Téléphone IP  →  Serveur SIP
REGISTER sip:entreprise.local

Fonctionnement

Le serveur :

  • Authentifie l'utilisateur (login / mot de passe ou challenge MD5)
  • Mémorise son adresse IP pour pouvoir le joindre
  • Autorise les appels sortants depuis ce compte
🔁 Refresh périodique : le REGISTER est régulièrement renouvelé (souvent toutes les 30 à 3600 secondes) pour signaler que le poste est toujours en ligne.
INVITE

Lancement d'un appel

Rôle

Permet de lancer un appel. Quand un utilisateur appelle un correspondant, un message INVITE est envoyé au serveur SIP, qui contacte ensuite le correspondant.

Exemple simplifié

# Téléphone A → Serveur SIP → Téléphone B
INVITE sip:102@entreprise.local

Informations contenues

Le message INVITE contient :

  • Le numéro appelé (URI SIP du destinataire)
  • Les codecs proposés (G.711, G.729, Opus…)
  • L'adresse IP de l'appelant
  • Les ports RTP sur lesquels recevoir l'audio
📦 SDP : ces informations média sont décrites dans un bloc SDP (Session Description Protocol) inclus dans l'INVITE.
BYE

Fin de communication

Rôle

Met fin à la communication. Quand un utilisateur raccroche, un message BYE est envoyé et la session est fermée.

Exemple simplifié

# Téléphone A → Serveur SIP
BYE
✅ Fermeture propre : sans BYE, la session reste "zombie" côté IPBX, consommant des ressources jusqu'à un timeout. C'est pourquoi un raccrochage clean est important.

Animation Séquence complète d'un appel SIP

Reproduction fidèle du diagramme du cours, animé étape par étape. Lancez l'animation ou avancez manuellement.

📞 Téléphone A 🖥️ Serveur SIP 📞 Téléphone B REGISTER 200 OK INVITE INVITE 100 Trying 180 Ringing 180 Ringing 200 OK 200 OK ACK ACK 🔊 Communication audio RTP (bidirectionnelle) BYE BYE 200 OK
0 Cliquez sur ▶️ Lancer pour démarrer l'animation, ou utilisez Suivant / Précédent.

Réponses SIP Les codes de réponse

Comme HTTP, SIP utilise des codes numériques à 3 chiffres regroupés en familles. Filtrez par famille :

Tout 1xx · Provisoire 2xx · Succès 3xx · Redirection 4xx · Erreur client 5xx · Erreur serveur

Réseau Ports utilisés par SIP

5060
SIP UDP / TCP
Signalisation en clair, port par défaut, exposé en LAN. Cible privilégiée des scanners.
5061
SIP sécurisé TLS
Signalisation chiffrée (TLS). À privilégier dès qu'on traverse Internet ou des zones non maîtrisées.
⚠️ RTP, lui, n'utilise pas ces ports : les paquets audio circulent sur une plage UDP dynamique (souvent 10000-20000), négociée dans le bloc SDP de l'INVITE. Le firewall doit laisser passer les deux.

Distinction clé SIP & RTP : deux rôles complémentaires

📨 SIP — la signalisation

  • Gère l'appel
  • Établit la session
  • Protocole textuel (proche HTTP)
  • Ports 5060 / 5061
  • UDP ou TCP/TLS

🔊 RTP — la voix

  • Transporte la voix
  • Flux temps réel
  • Paquets binaires horodatés
  • Plage UDP dynamique
  • SRTP pour la version chiffrée
🎯 Important : SIP ouvre et ferme la conversation. RTP fait passer la voix entre les deux. Sans SIP, pas d'appel. Sans RTP, pas d'audio.

Cas concret Le poste 101 appelle le poste 102

📞
101
En veille
SIP
📞
102
En veille
▶️ Étape 0 Cliquez sur « Lancer la démo » pour suivre l'enchaînement complet de l'appel SIP entre les deux postes.

Activité pratique TSSR TP Packet Tracer — Observer la signalisation

🎯 Objectif

Reproduire le diagramme de séquence du chapitre dans Cisco Packet Tracer : passer un appel entre deux IP Phones, observer en mode Simulation les paquets de signalisation et faire le parallèle entre SCCP (Cisco) et les messages SIP étudiés.

🖥️ Packet Tracer 8.x 📡 Routeur 2811 (CME) 🔀 Switch 2960 📞 IP Phone 7960 (×2)
🧠 Pourquoi SCCP et pas SIP ? Packet Tracer simule les téléphones Cisco qui utilisent par défaut SCCP / Skinny (protocole propriétaire Cisco, port UDP 2000) à la place de SIP. Le rôle est identique : signalisation d'appel. Chaque message SCCP a un équivalent SIP — c'est cette correspondance que vous allez identifier dans ce TP.
1

Réutiliser ou reconstruire la maquette du Chapitre 1

Si vous avez sauvegardé le .pkt du TP du Chapitre 1, ouvrez-le. Sinon, reconstruisez rapidement :

  • 1 routeur 2811 (Call Manager Express), interface Fa0/0 en 192.168.10.1/24
  • 1 switch 2960-24TT
  • 2 IP Phones 7960 branchés sur Fa0/2 et Fa0/3 du switch (alim secteur branchée)
  • DHCP avec option 150, telephony-service, deux ephone-dn (101 et 102)
  • switchport voice vlan 1 sur les ports utilisés par les téléphones
📌 Astuce : attendez que les deux téléphones affichent leur numéro (101 / 102) avant de continuer. Cela prouve que l'enregistrement côté CME a réussi — c'est l'équivalent du REGISTER + 200 OK du diagramme de séquence SIP.
2

Activer le mode Simulation et filtrer les protocoles

Passez en mode Simulation (icône horloge en bas à droite). Cliquez sur Edit Filters puis :

  • Décochez Show All / None pour tout désactiver.
  • Réactivez uniquement : SCCP, RTP.

Vous ne verrez ainsi que les paquets pertinents pour la signalisation et l'audio.

3

Capturer un appel complet 101 → 102

Cliquez sur le téléphone 101 → onglet GUI → décrochez puis composez 102. Utilisez le bouton Capture / Forward de la fenêtre Simulation pour faire avancer les paquets un à un. Côté 102, décrochez (clic sur le combiné). Patientez quelques secondes pour observer le flux RTP, puis raccrochez les deux côtés.

Vous devez avoir capturé un cycle complet : établissement → audio RTP → libération.

4

Mapper les paquets SCCP avec les messages SIP du cours

Pour chaque paquet SCCP dans la liste d'événements, ouvrez le PDU Inspector (clic sur l'enveloppe), allez dans Inbound PDU Details → couche 7. Notez le Message ID SCCP et faites le rapprochement avec le message SIP équivalent :

# Tableau de correspondance SCCP ↔ SIP
StationRegisterREGISTER
StationRegisterAck200 OK   (réponse au REGISTER)
StationOffHook(décroché — déclenche INVITE côté CME)
StationCallInfo / StartINVITE
StationStartTone180 Ringing  (sonnerie distante)
StationOpenReceive...200 OK   (décroché côté appelé)
StationStartMedia...ACK + démarrage RTP
StationOnHookBYE
StationCloseReceive...200 OK   (fin propre)

Reportez ces correspondances dans le tableau de votre compte-rendu en notant pour chacun le numéro de paquet dans la liste d'événements.

5

Inspecter un paquet RTP

Cliquez sur n'importe quel paquet RTP dans la liste : ouvrez Inbound PDU Details.

  • Couche 4 (UDP) : repérez les ports source et destination. Ils sont dynamiques (souvent plage 16384-32767 chez Cisco) — confirmation que RTP n'utilise pas un port fixe contrairement à SCCP/SIP.
  • Couche 7 (RTP) : notez le Sequence Number et le Timestamp. Comparez avec un paquet RTP suivant : le numéro de séquence s'incrémente, prouvant l'ordre des paquets audio.
🎯 Lien avec le cours : ces paquets RTP sont la voix. Ils n'auraient pas pu démarrer sans la signalisation SCCP / SIP qui les a précédés. C'est la séparation signalisation / média.
6

Compte-rendu

📦 Livrables à remettre au formateur :
  • Le fichier .pkt de votre maquette avec un appel capturé.
  • Capture d'écran de la liste d'événements en mode Simulation montrant le cycle complet.
  • Capture d'écran du PDU Inspector pour au moins un paquet SCCP et un paquet RTP.
  • Le tableau de correspondance SCCP ↔ SIP de l'étape 4 complété avec les numéros de paquet observés.

Évaluation Quiz Protocole SIP

10 questions pour valider vos acquis sur le protocole SIP.

Score : 0 / 10