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
| Code | Signification | Piste |
|---|---|---|
| 401/407 | Authentification requise | identifiants, realm |
| 403 | Interdit | ACL, contexte, compte bloqué |
| 404 | Destinataire inconnu | dialplan, extension absente |
| 408 | Timeout | réseau, NAT, terminal éteint |
| 486 | Occupé | — |
| 488 | Média non acceptable | codecs |
| 503 | Service indisponible | trunk, surcharge |
Audio unidirectionnel : causes classiques
- 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. - Ports RTP filtrés : ouvrir la plage
rtpstart–rtpend(ex. 10000–20000/UDP). - ALG SIP du routeur qui réécrit mal les paquets : à désactiver.
- 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