Référence3 min de lecture · Mis à jour le 29 sept. 2026

Flux d'appel SIP et SDP — référence

Décrypter un établissement d'appel SIP (INVITE, 100/180/200, ACK, BYE), le SDP et les causes classiques d'audio unidirectionnel.

  • #sip
  • #rtp
  • #troubleshooting

Établissement d'un appel

Alice                 Proxy/IPBX                 Bob
  | INVITE (SDP offer)  |                          |
  |-------------------->| INVITE                   |
  | 100 Trying          |------------------------->|
  |<--------------------| 180 Ringing              |
  | 180 Ringing         |<-------------------------|
  |<--------------------| 200 OK (SDP answer)      |
  | 200 OK              |<-------------------------|
  |<--------------------|                          |
  | ACK                 | ACK                      |
  |==================== RTP (média) ==============>|
  | BYE / 200 OK                                    |

SIP signale l'appel ; l'audio circule en RTP, directement entre les terminaux ou via l'IPBX selon direct_media.

Le SDP

c=IN IP4 192.168.10.21        ← adresse où envoyer le média
m=audio 18000 RTP/AVP 0 8 101 ← port RTP et codecs proposés
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=sendrecv

La réponse choisit un codec commun. Aucun codec commun → 488 Not Acceptable Here.

Codes de réponse à connaître

CodeSignificationPiste
401/407Authentification requiseidentifiants, realm
403InterditACL, contexte, compte bloqué
404Destinataire inconnudialplan, extension absente
408Timeoutréseau, NAT, terminal éteint
486Occupé—
488Média non acceptablecodecs
503Service indisponibletrunk, surcharge

Audio unidirectionnel : causes classiques

  1. NAT : l'adresse c= contient une IP privée injoignable. Côté Asterisk : rtp_symmetric=yes, force_rport=yes, rewrite_contact=yes, external_media_address.
  2. Ports RTP filtrés : ouvrir la plage rtpstart–rtpend (ex. 10000–20000/UDP).
  3. ALG SIP du routeur qui réécrit mal les paquets : à désactiver.
  4. Codec différent sans transcodage disponible.

Outils

sngrep                              # échelle SIP en direct
asterisk -rx "pjsip set logger on"
tcpdump -ni any udp portrange 10000-20000 -w rtp.pcap

Autres labs de cette technologie