# Flux d'appel SIP : de l'INVITE au BYE

> Un appel SIP de base est un établissement en trois temps INVITE/200/ACK suivi des médias puis d'un BYE. L'appelant envoie INVITE (avec une offre SDP) ; l'appelé répond 100 Trying, 180 Ringing, puis 200 OK (avec la réponse SDP) ; l'appelant envoie ACK ; les médias RTP circulent ; et l'une des parties termine l'appel par BYE, auquel répond un 200 OK.

- URL canonique: https://www.broadnet.me/fr/reference/sip-call-flow
- Langue: fr
- Dernière mise à jour: 2026-07-18
- Éditeur: BroadNet (https://www.broadnet.me)

Un appel SIP complet décrit étape par étape : INVITE avec offre SDP, 100 Trying, 180 Ringing, 200 OK avec réponse SDP, l'ACK en trois temps, les médias RTP, et le démontage BYE/200 OK — plus comment CANCEL avorte un appel qui sonne.

## Établir l'appel

L'appel commence par l'envoi, par le UAC de l'appelant, d'un INVITE vers l'appelé, portant une offre SDP décrivant les médias souhaités. À mesure que la requête traverse les proxies, chacun peut renvoyer 100 Trying pour arrêter les retransmissions. Lorsque le téléphone de l'appelé se met à sonner, un 180 Ringing remonte — c'est ce qui produit le retour d'appel. Si du early media est nécessaire (annonces réseau, retour d'appel du réseau distant), un 183 Session Progress avec SDP peut ouvrir le chemin média avant le décroché.

## Décroché et l'établissement en trois temps

Lorsque l'appelé décroche, son UAS renvoie un 200 OK portant la réponse SDP qui finalise la négociation des médias. L'appelant confirme par un ACK — le troisième volet de l'établissement de l'INVITE — et le dialogue est désormais pleinement établi, identifié par le Call-ID plus les deux tags. L'échange en trois temps INVITE/200/ACK, plutôt qu'une simple requête/réponse, est ce qui rend l'établissement d'appel SIP fiable même sur de l'UDP avec pertes.

*Un appel SIP complet*

```text
Alice (UAC)                         Bob (UAS)
   │  INVITE (SDP offer)   ─────────▶ │
   │ ◀───────── 100 Trying           │
   │ ◀───────── 180 Ringing          │   (Bob's phone rings)
   │ ◀───────── 200 OK (SDP answer)  │   (Bob answers)
   │  ACK                  ─────────▶ │
   │ ◀═══════ RTP media (both ways) ═▶ │   (the conversation)
   │  BYE                  ─────────▶ │   (Alice hangs up)
   │ ◀───────── 200 OK               │
```

## Médias et changements en cours d'appel

Une fois l'ACK complétant l'établissement, les médias RTP circulent directement entre les points d'extrémité (ou via un relais média) sur les ports négociés par le SDP, indépendamment du chemin de signalisation. Les changements en cours d'appel se font avec un re-INVITE ou un UPDATE portant un nouveau SDP — c'est ainsi que la mise en attente (a=sendonly), la reprise (a=sendrecv), la renégociation de codec et l'ajout de vidéo sont réalisés, tout cela dans le dialogue existant sans abandonner l'appel.

## Terminer l'appel — BYE

L'une ou l'autre partie termine un appel établi en envoyant BYE, que l'autre confirme par un 200 OK ; le dialogue est alors clos et les médias s'arrêtent. BYE est une requête dans le dialogue, il porte donc le Call-ID, le tag From, le tag To établis et le CSeq suivant. Comme c'est une transaction ordinaire, un BYE perdu est retransmis jusqu'à acquittement, de sorte que les deux côtés convergent vers la fin de l'appel.

## Avorter un appel en cours — CANCEL

Si l'appelant renonce avant que l'appelé décroche — l'appel sonne encore — le UAC envoie CANCEL, et non BYE, car aucune réponse finale n'est encore arrivée. L'appelé cesse de sonner et renvoie 487 Request Terminated pour l'INVITE d'origine, que l'appelant acquitte par un ACK. CANCEL n'est valide que dans cette fenêtre pré-décroché ; une fois un 200 OK reçu, l'appel est établi et BYE est la façon de le terminer.

*Terminer vs avorter un appel*

| Situation | Méthode | Résultat |
|---|---|---|
| Appel pris, raccrochez | BYE | 200 OK ; dialogue fermé |
| Sonne encore, l'appelant abandonne | CANCEL | 487 Requête terminée sur l'INVITE |
| L'appelé rejette pendant la sonnerie | (réponse) 486/603 | Busy Here / Decline ; l'appelant envoie ACK |

## Questions fréquentes

### Quel est le flux d'appel SIP de base ?

INVITE (avec offre SDP) → 100 Trying → 180 Ringing → 200 OK (avec réponse SDP) → ACK, puis les médias RTP circulent, et l'appel se termine par BYE → 200 OK. L'établissement en trois temps INVITE/200/ACK crée le dialogue ; BYE le démonte.

### Pourquoi le SIP utilise-t-il un établissement en trois temps pour l'INVITE ?

L'ACK confirme que l'appelant a reçu le 200 OK final, rendant l'établissement d'appel fiable même sur de l'UDP avec pertes. Comme un 200 OK à un INVITE est retransmis jusqu'à l'ACK, l'échange en trois temps garantit que les deux côtés s'accordent sur l'établissement avant que les médias soient fiables.

### Comment mettre un appel SIP en attente ?

Envoyez un re-INVITE (ou UPDATE) dans le dialogue établi portant un nouveau SDP qui fixe la direction média à a=sendonly (et a=sendrecv pour reprendre). Le dialogue et l'appel restent actifs ; seule la direction média change, ce qui sert aussi à diffuser la musique d'attente.

### Quand envoyer CANCEL plutôt que BYE ?

Envoyez CANCEL quand l'appel sonne encore et qu'aucune réponse finale n'est arrivée — il avorte l'INVITE en attente et produit un 487. N'envoyez BYE qu'après l'établissement de l'appel (un 200 OK reçu). Se tromper laisse les deux côtés désynchronisés.

### Les médias suivent-ils le même chemin que les messages SIP ?

Généralement non. La signalisation SIP peut traverser plusieurs proxies, mais les médias RTP circulent sur des ports négociés séparément, généralement directement entre les points d'extrémité ou via un relais média dédié ou un SBC — c'est pourquoi la signalisation peut réussir tandis que les médias (audio) échouent indépendamment.

## Sources

- [IETF RFC 3261 — SIP (call flows)](https://datatracker.ietf.org/doc/html/rfc3261)
- [IETF RFC 3665 — SIP Basic Call Flow Examples](https://datatracker.ietf.org/doc/html/rfc3665)

## Voir aussi

- [Méthodes et requêtes SIP](https://www.broadnet.me/fr/reference/sip-methods-and-requests)
- [Codes de réponse SIP](https://www.broadnet.me/fr/reference/sip-response-codes)
- [SDP : Session Description Protocol](https://www.broadnet.me/fr/reference/sdp-session-description-protocol)
- [Médias RTP et SRTP](https://www.broadnet.me/fr/reference/rtp-and-srtp-media)
- [Voix programmable (produit)](https://www.broadnet.me/fr/products/voice)
