BroadNet
SIP / VoIPResponses

SIP-Response-Codes (1xx-6xx)

Aktualisiert am 4 Min. LesezeitStandardsbasiert
Direkte Antwort

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.

§01

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.

SIP-Response-Klassen
KlasseBedeutung
1xxVorläufig – eingegangen, wird noch bearbeitet (noch nicht endgültig)
2xxErfolg – die Anfrage wurde erfolgreich abgeschlossen
3xxUmleitung – anderen Standort versuchen
4xxClient-/Anfragefehler – kann nicht wie gesendet ausgeführt werden
5xxServerfehler – der Server konnte eine gültige Anfrage nicht bearbeiten
6xxGlobaler Fehler – schlägt überall fehl; Forking beenden
§02

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.

Zentrale 1xx- und 2xx-Codes
CodeGrundBedeutung
100TryingAnfrage empfangen; stoppt Neuübertragungen upstream
180RingingDer Angerufene wird benachrichtigt
181Call Is Being ForwardedDie Anfrage wird umgeleitet
182QueuedAngerufener vorübergehend nicht erreichbar; Anruf in der Warteschlange
183Session ProgressEarly Media (Freiton/Ansage) verfügbar
200OKErfolg – bei INVITE wurde der Anruf angenommen
§03

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.

Häufig auftretende 4xx-Codes
CodeGrundTypische Ursache
400Bad RequestFehlerhafte Nachricht
401 / 407Unauthorized / Proxy Auth RequiredAuthentifizierungs-Challenge (UAS/Proxy)
403ForbiddenAuthentifiziert, aber nicht zugelassen
404Not FoundUnbekannter Benutzer / ungültige Request-URI
408Request TimeoutKeine Antwort innerhalb des Timers
480Temporarily UnavailableRegistriert, aber derzeit nicht erreichbar
486Busy HereDer Angerufene ist besetzt
487Request TerminatedINVITE wurde abgebrochen
488Not Acceptable HereMedien-/Codec-Aushandlung (SDP) fehlgeschlagen
§04

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.

Zentrale 5xx- und 6xx-Codes
CodeGrundBedeutung
500Server Internal ErrorAuf dem Server ist ein unerwarteter Fehler aufgetreten
503Service UnavailableServer vorübergehend überlastet/ausgefallen
504Server Time-outKeine zeitnahe Antwort von einem nachgelagerten Server
600Busy EverywhereAngerufener an allen Standorten besetzt
603DeclineDer Angerufene hat den Anruf ausdrücklich abgelehnt
604Does Not Exist AnywhereDer Benutzer existiert nirgends
606Not AcceptableSitzungsparameter überall inakzeptabel
Häufig gestellte Fragen

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.

Referenzen

Quellenspezifikationen

Diese Seite basiert auf den veröffentlichten Standards. (Wird in einem neuen Tab geöffnet.)

BNWird vom BroadNet -Entwicklungsteam betreut.·Messaging in Carrier-Qualität seit 2003
Hänge es an den Draht

Entwicklung mit echtem SMPP Binding und REST-API.

Fordern Sie Testzugriff mit echten Testschlüsseln an: Senden Sie zunächst an Ihre eigene verifizierte Nummer und gehen Sie dann in über 200 Ländern zum Produktivbetrieb über, sobald Ihre Absenderidentität und die Routen genehmigt wurden.