SIP-Responses sind dreistellige Codes in sechs Klassen, in Anlehnung an HTTP: 1xx provisorisch (Request empfangen, noch in Verarbeitung), 2xx Erfolg, 3xx Umleitung, 4xx Client-/Request-Fehler, 5xx Server-Fehler und 6xx globaler Fehler (der Request scheitert überall). Die erste Ziffer legt die Klasse fest; der vollständige Code identifiziert das konkrete Ergebnis.
Die sechs Response-Klassen
Jede SIP-Response trägt einen Statuscode, dessen führende Ziffer seine Klasse definiert, genau wie in HTTP. Provisorische (1xx) Responses sind vorläufig — der Request schreitet voran, aber es gibt noch kein finales Ergebnis. 2xx ist Erfolg. 3xx leitet den Anrufer anderswohin um. 4xx bedeutet, der Request ist gescheitert und meist am Anrufer oder Request selbst gelegen. 5xx bedeutet, ein Server konnte einen scheinbar gültigen Request nicht erfüllen. 6xx ist ein endgültiger globaler Fehler — der Request scheitert an jedem Ort, sodass Proxies aufhören sollten, Alternativen zu versuchen.
| Klasse | Bedeutung |
|---|---|
| 1xx | Vorläufig – eingegangen, wird noch bearbeitet (noch nicht endgültig) |
| 2xx | Erfolg – die Anfrage wurde erfolgreich abgeschlossen |
| 3xx | Umleitung – anderen Standort versuchen |
| 4xx | Client-/Anfragefehler – kann nicht wie gesendet ausgeführt werden |
| 5xx | Serverfehler – der Server konnte eine gültige Anfrage nicht bearbeiten |
| 6xx | Globaler Fehler – schlägt überall fehl; Forking beenden |
Provisorische und Erfolgs-Codes
Der frühe Anrufablauf wird von 1xx und 2xx bestimmt. 100 Trying teilt dem vorgelagerten Hop mit, dass der Request empfangen wurde, und stoppt Neuübertragungen. 180 Ringing zeigt an, dass das Telefon des Angerufenen klingelt. 183 Session Progress trägt Early Media (Rückrufton oder Ansagen) vor der Annahme des Anrufs. 200 OK ist der endgültige Erfolg — für ein INVITE bedeutet es, der Anruf wurde angenommen, und es trägt die SDP-Answer, und es muss mit ACK bestätigt werden.
| Code | Grund | Bedeutung |
|---|---|---|
| 100 | Trying | Anfrage empfangen; stoppt Neuübertragungen upstream |
| 180 | Ringing | Der Angerufene wird benachrichtigt |
| 181 | Call Is Being Forwarded | Die Anfrage wird umgeleitet |
| 182 | Queued | Angerufener vorübergehend nicht erreichbar; Anruf in der Warteschlange |
| 183 | Session Progress | Early Media (Freiton/Ansage) verfügbar |
| 200 | OK | Erfolg – bei INVITE wurde der Anruf angenommen |
Client-Fehler (4xx) — die, die Sie debuggen werden
4xx-Codes dominieren die praktische Fehlersuche. 401/407 fordern Authentifizierung an (von einem UAS/Registrar bzw. einem Proxy). 403 Forbidden und 404 Not Found sind selbsterklärend. 408 Request Timeout bedeutet keine rechtzeitige Response. 486 Busy Here ist der Angerufene belegt; 480 Temporarily Unavailable ist der Angerufene nicht erreichbar. 487 Request Terminated ist die Response auf ein INVITE, das mit CANCEL abgebrochen wurde. 488 Not Acceptable Here signalisiert meist ein Scheitern der SDP-/Codec-Aushandlung.
| Code | Grund | Typische Ursache |
|---|---|---|
| 400 | Bad Request | Fehlerhafte Nachricht |
| 401 / 407 | Unauthorized / Proxy Auth Required | Authentifizierungs-Challenge (UAS/Proxy) |
| 403 | Forbidden | Authentifiziert, aber nicht zugelassen |
| 404 | Not Found | Unbekannter Benutzer / ungültige Request-URI |
| 408 | Request Timeout | Keine Antwort innerhalb des Timers |
| 480 | Temporarily Unavailable | Registriert, aber derzeit nicht erreichbar |
| 486 | Busy Here | Der Angerufene ist besetzt |
| 487 | Request Terminated | INVITE wurde abgebrochen |
| 488 | Not Acceptable Here | Medien-/Codec-Aushandlung (SDP) fehlgeschlagen |
Server- (5xx) und globale (6xx) Fehler
5xx und 6xx signalisieren Fehler jenseits des Requests selbst. 500 Server Internal Error und 503 Service Unavailable weisen auf ein Server- oder nachgelagertes Problem hin; 504 Server Time-out ist ein Gateway-Timeout. Die 6xx-Klasse ist nachdrücklich: 600 Busy Everywhere, 603 Decline (der Angerufene hat aktiv abgelehnt), 604 Does Not Exist Anywhere und 606 Not Acceptable. Da 6xx bedeutet, dass der Request an jedem möglichen Ort scheitert, hört ein forkender Proxy auf, andere Zweige zu versuchen — anders als bei einem 4xx, das für ein Ziel spezifisch ist.
| Code | Grund | Bedeutung |
|---|---|---|
| 500 | Server Internal Error | Auf dem Server ist ein unerwarteter Fehler aufgetreten |
| 503 | Service Unavailable | Server vorübergehend überlastet/ausgefallen |
| 504 | Server Time-out | Keine zeitnahe Antwort von einem nachgelagerten Server |
| 600 | Busy Everywhere | Angerufener an allen Standorten besetzt |
| 603 | Decline | Der Angerufene hat den Anruf ausdrücklich abgelehnt |
| 604 | Does Not Exist Anywhere | Der Benutzer existiert nirgends |
| 606 | Not Acceptable | Sitzungsparameter überall inakzeptabel |
Häufig gestellte Fragen
Was bedeutet SIP 200 OK?
200 OK ist die Erfolgs-Response. Für ein INVITE bedeutet es, der Anruf wurde angenommen, und es trägt die SDP-Answer, die die Medienaushandlung abschließt; der Anrufer muss es mit einem ACK bestätigen. Für andere Requests bestätigt es schlicht, dass die Operation erfolgreich war.
Was ist der Unterschied zwischen 486 Busy Here und 600 Busy Everywhere?
486 Busy Here bedeutet, der konkret kontaktierte Endpunkt ist belegt, sodass ein forkender Proxy noch andere Orte versuchen kann. 600 Busy Everywhere ist ein globaler (6xx) Fehler und bedeutet, der Angerufene ist an allen Orten belegt, sodass Proxies aufhören sollten zu forken und den Fehler zurückgeben.
Warum erhalte ich SIP 488 Not Acceptable Here?
488 bedeutet fast immer, dass die Medienaushandlung scheiterte — das SDP-Offer und die Answer teilen keinen gemeinsamen Codec, oder ein erforderlicher Medienparameter (zum Beispiel eine SRTP-Crypto-Suite) konnte nicht vereinbart werden. Prüfen Sie, ob beide Seiten einen gemeinsamen Codec und Transport unterstützen.
Was bedeutet 407 Proxy Authentication Required?
Ein Proxy fordert für den Request Zugangsdaten an. Der Client sollte den Request mit einem Proxy-Authorization-Header erneut senden, berechnet aus der Herausforderung. Es ist das Proxy-seitige Gegenstück zu 401 Unauthorized, das vom UAS oder Registrar kommt.
Wofür ist die SIP-Response 100 Trying da?
100 Trying ist eine provisorische Response, die dem vorgelagerten Hop mitteilt, dass der Request empfangen wurde und in Verarbeitung ist, was den Sender davon abhält, den Request neu zu übertragen. Sie ist hop-für-hop und reist nie Ende-zu-Ende wie 180 oder 200.
Quellenspezifikationen
Diese Seite basiert auf den veröffentlichten Standards. (Wird in einem neuen Tab geöffnet.)