Six familles, un chiffre.
Le SIP emprunte sa grammaire de réponse à HTTP. Le premier chiffre dit la famille, le reste affine. Apprenez les familles, devinez le reste.
1xx — Provisoires.
Le serveur dit : j'ai vu, ça travaille, attendez encore. Une 1xx n'est jamais finale. Elle peut être répétée, ignorée, suivie d'autres 1xx avant la réponse définitive.
- 100Tryingle proxy a reçu, il s'occupe de la suite
- 180Ringingl'autre poste sonne
- 181Call Is Being Forwardedl'appel est en cours de renvoi
- 182Queuedmis en file d'attente (centre d'appels)
- 183Session Progressutilisé pour faire passer le ton de retour en RTP avant décroché
2xx — Succès.
La requête a fait ce qu'elle devait. Une 2xx clôt la transaction. Si c'est en réponse à un INVITE, il faut envoyer un ACK ; pour toute autre méthode, la transaction est simplement terminée.
- 200OKdécroché, ou requête acceptée
- 202Acceptedla requête est prise en compte, traitement asynchrone
- 204No Notificationrequête acceptée, aucun NOTIFY ne suivra
3xx — Redirection.
L'utilisateur est ailleurs. Le serveur renvoie une nouvelle URI à contacter via l'en-tête Contact. Le client doit alors recomposer son INVITE vers cette nouvelle cible.
- 300Multiple Choicesplusieurs URI possibles, à vous de choisir
- 301Moved Permanentlyl'utilisateur est ailleurs, définitivement
- 302Moved Temporarilyl'utilisateur est ailleurs, pour un moment
- 305Use Proxypassez par tel proxy
4xx — Erreur côté requête.
Quelque chose ne va pas dans la requête, ou pas chez ce serveur précis. Un 4xx n'est jamais global — un autre serveur pourrait répondre différemment.
- 400Bad Requestsyntaxe SIP invalide
- 401Unauthorizedil faut s'authentifier auprès du UAS
- 403Forbiddenmauvais mot de passe, ou interdit ici
- 404Not Foundcet utilisateur n'existe pas ici
- 405Method Not Allowedméthode non supportée pour cette ressource
- 407Proxy Auth. Requiredle proxy demande des identifiants
- 408Request Timeoutpas de réponse en temps imparti
- 415Unsupported Media TypeSDP incompatible (codec impossible)
- 480Temporarily Unavailablele UA est enregistré mais ne répond pas
- 481Call/Transaction Does Not Existle dialogue ou la transaction n'existe plus
- 483Too Many HopsMax-Forwards est tombé à zéro
- 486Busy Herel'utilisateur est déjà en ligne
- 487Request Terminatedréponse à un CANCEL réussi
- 488Not Acceptable Hereoffre SDP rejetée par ce serveur
5xx — Erreur serveur.
Le serveur est cassé, surchargé, ou ne sait pas répondre. La même requête pourrait réussir ailleurs ou plus tard.
- 500Server Internal Errorle serveur a flanché
- 501Not Implementedméthode SIP non supportée
- 502Bad Gatewayle proxy a reçu une mauvaise réponse en amont
- 503Service Unavailablesurcharge, maintenance — peut inclure un Retry-After
- 504Server Timeoutle proxy n'a pas reçu de réponse amont à temps
6xx — Échec global.
L'utilisateur refuse, n'existe nulle part, ou n'est plus joignable de manière définitive. Différent d'un 4xx, qui dit « pas ici » — un 6xx dit « nulle part ».
- 600Busy Everywheretous les terminaux sont occupés
- 603Declinele destinataire refuse, où qu'il soit
- 604Does Not Exist Anywherecet utilisateur n'existe nulle part
- 606Not Acceptablemédia définitivement incompatible
« Apprendre les six familles. Le reste se devine au contexte. » — mnémotechnique
Suivant : Les en-têtes essentiels →