SIP & RTP
La téléphonie sur IP (VoIP) sépare deux responsabilités entre deux protocoles distincts : établir l’appel, et transporter le flux audio/vidéo.
SIP (Session Initiation Protocol)
Section intitulée « SIP (Session Initiation Protocol) »SIP gère la signalisation : établissement, modification et fin d’une session de communication (appel, visioconférence). Il ne transporte aucune donnée audio ou vidéo lui-même.
Fonctionnement inspiré de HTTP (requêtes/réponses textuelles) :
INVITE: initier un appelACK: confirmer l’établissementBYE: raccrocherREGISTER: un terminal (téléphone IP, softphone) s’enregistre auprès d’un serveur (registrar) pour être joignable
Codes de réponse également calqués sur HTTP : 180 Ringing, 200 OK, 486 Busy Here, 404 Not Found…
SIP utilise traditionnellement le port 5060/UDP (ou TCP), et 5061/TLS pour une signalisation chiffrée (SIPS).
RTP (Real-time Transport Protocol)
Section intitulée « RTP (Real-time Transport Protocol) »Une fois l’appel établi par SIP, le flux audio/vidéo circule via RTP, au-dessus d’UDP — la faible latence prime sur la fiabilité (voir TCP vs UDP : un paquet audio perdu produit un micro-artefact, le retransmettre serait déjà trop tard).
RTP transporte les données encodées (codecs voix : G.711, G.729, Opus…) et s’accompagne de RTCP (RTP Control Protocol), qui rapporte des statistiques de qualité (gigue, perte de paquets) permettant d’adapter le flux.
Le point délicat : NAT
Section intitulée « Le point délicat : NAT »SIP embarque dans ses messages les adresses IP et ports à utiliser pour le flux RTP — problématique quand un des terminaux est derrière un NAT (quasiment toujours en pratique), puisque l’adresse privée annoncée n’est pas joignable depuis l’extérieur. Solutions courantes :
- ALG SIP sur le routeur (souvent source de bugs, à désactiver en cas de problème étrange).
- STUN/TURN/ICE pour découvrir l’adressage public et, si besoin, relayer le flux.
- Un SBC (Session Border Controller) en frontal, qui renégocie proprement la signalisation et le média entre l’intérieur et l’extérieur du réseau.