SIP-Status-Codes

Aus besserwiki.de

Das Session Initiation Protocol (SIP) ist ein Signalisierungsprotokoll, das zur Steuerung von Kommunikationssitzungen wie Voice-over-IP-Telefongesprächen verwendet wird. SIP basiert auf Anfrage/Antwort-Transaktionen, ähnlich wie das Hypertext Transfer Protocol (HTTP). Jede Transaktion besteht aus einer SIP-Anfrage (die eine von mehreren Anfragemethoden ist) und mindestens einer Antwort.

SIP-Anfragen und -Antworten können von jedem SIP-Benutzeragenten erzeugt werden; Benutzeragenten werden in Clients (UACs), die Anfragen initiieren, und Server (UASes), die darauf antworten, unterteilt. Ein und derselbe User-Agent kann für verschiedene Transaktionen sowohl als UAC als auch als UAS fungieren: Ein SIP-Telefon ist beispielsweise ein User-Agent, der als UAC fungiert, wenn er einen Anruf tätigt, und als UAS, wenn er einen Anruf empfängt. Darüber hinaus gibt es Geräte, die bei einer einzigen Transaktion sowohl als UAC als auch als UAS fungieren; diese werden als Back-to-Back User Agents (B2BUAs) bezeichnet.

SIP-Antworten geben einen dreistelligen ganzzahligen Antwortcode an, der zu einer Reihe von definierten Codes gehört, die den Status der Anfrage beschreiben. Diese Codes werden entsprechend ihrer ersten Ziffer als "provisorische", "Erfolg", "Umleitung", "Client-Fehler", "Server-Fehler" oder "globales Versagen" gruppiert, was einer ersten Ziffer von 1-6 entspricht; diese werden z. B. als "1xx" für provisorische Antworten mit einem Code von 100-199 ausgedrückt. Die SIP-Antwortcodes stimmen mit den HTTP-Antwortcodes überein, obwohl nicht alle HTTP-Antwortcodes in SIP gültig sind.

SIP-Antworten geben auch eine "Reason Phrase" an, und für jeden Antwortcode ist eine Standard-Reason Phrase definiert. Diese Reason Phrases können jedoch variiert werden, z. B. um zusätzliche Informationen zu liefern oder den Text in einer anderen Sprache bereitzustellen.

Die SIP-Antwortcodes und die entsprechenden Begründungssätze wurden ursprünglich in RFC 3261 definiert. Dieser RFC definiert auch ein SIP-Parameter-Register der Internet Assigned Numbers Authority (IANA), damit andere RFC weitere Antwortcodes bereitstellen können.

Diese Liste enthält alle SIP-Antwortcodes, die in IETF-RFCs definiert und in der SIP-Parameter-IANA-Registrierung (Stand: 14. Juli 2017) registriert sind. Diese Liste enthält auch SIP-Antwortcodes, die in veralteten SIP-RFCs (insbesondere RFC 2543) definiert und daher nicht bei der IANA registriert sind; diese sind ausdrücklich als solche gekennzeichnet.

1xx-Provisorische Antworten

100 Versuche
Eine erweiterte Suche kann viel Zeit in Anspruch nehmen, so dass ein Forking-Proxy eine 100-Trying-Antwort senden muss.
180 Klingeln
Der Ziel-User-Agent hat INVITE erhalten und benachrichtigt den Benutzer über den Anruf.
181 Der Anruf wird weitergeleitet
Server können diese Antwort optional senden, um anzuzeigen, dass ein Anruf weitergeleitet wird.
182 In Warteschlange
Zeigt an, dass das Ziel vorübergehend nicht erreichbar war, so dass der Server den Anruf in die Warteschlange gestellt hat, bis das Ziel wieder verfügbar ist. Ein Server kann mehrere 182 Antworten senden, um den Fortschritt der Warteschlange zu aktualisieren.
183 Sitzungsverlauf
Diese Antwort kann verwendet werden, um zusätzliche Informationen für einen Anruf zu senden, der noch im Aufbau begriffen ist.
199 Frühzeitiges Beenden des Dialogs
Kann vom User Agent Server verwendet werden, um den vorgelagerten SIP-Einheiten (einschließlich dem User Agent Client (UAC)) anzuzeigen, dass ein früher Dialog beendet wurde.

2xx-Erfolgreiche Antworten

200 OK
Zeigt an, dass die Anfrage erfolgreich war.
202 Angenommen
Zeigt an, dass die Anfrage zur Verarbeitung angenommen wurde, die Verarbeitung aber noch nicht abgeschlossen ist. Veraltet.
204 Keine Benachrichtigung
Zeigt an, dass die Anfrage erfolgreich war, aber die entsprechende Antwort nicht empfangen wird.

3xx-Redirection-Antworten

300 Mehrere Auswahlmöglichkeiten
Die Adresse wurde in eine von mehreren Optionen aufgelöst, zwischen denen der Benutzer oder Client wählen kann und die im Nachrichtentext oder in den Kontaktfeldern der Nachricht aufgeführt sind.
301 Dauerhaft verschoben
Die ursprüngliche Request-URI ist nicht mehr gültig, die neue Adresse ist im Kontakt-Headerfeld angegeben, und der Client sollte alle Datensätze der ursprünglichen Request-URI mit dem neuen Wert aktualisieren.
302 Vorübergehend verschoben
Der Client sollte es mit der Adresse im Feld Contact versuchen. Wenn ein Expires-Feld vorhanden ist, kann der Client das Ergebnis für diesen Zeitraum zwischenspeichern.
305 Proxy verwenden
Im Feld Contact wird ein Proxy angegeben, der für den Zugriff auf das angeforderte Ziel verwendet werden muss.
380 Alternativer Dienst
Der Aufruf ist fehlgeschlagen, aber Alternativen sind im Nachrichtentext angegeben.

Diese Nachrichten informieren über eine neue Kontaktadresse des Angerufenen oder über andere Dienste, die es ermöglichen die Verbindung erfolgreich aufzubauen.

Code Nachricht Bedeutung
300 Multiple Choices Für die Gegenstelle gibt es keine eindeutige Zieladresse.
301 Moved Permanently Der Angerufene ist dauerhaft woanders erreichbar.
302 Moved Temporarily Der Angerufene ist vorübergehend woanders erreichbar.
305 Use Proxy Es muss der angegebene Proxy verwendet werden.
380 Alternative Service Der Anruf war nicht erfolgreich, es sind aber alternative Dienste verfügbar.

4xx-Client Failure Antworten

400 Schlechte Anfrage
Die Anfrage konnte aufgrund einer fehlerhaften Syntax nicht verstanden werden.
401 Unautorisiert
Für die Anfrage ist eine Benutzerauthentifizierung erforderlich. Diese Antwort wird von FHs und Registrierstellen ausgegeben.
402 Zahlung erforderlich
Reserviert für zukünftige Verwendung.
403 Verboten
Der Server hat die Anfrage verstanden, weigert sich aber, sie zu erfüllen. Manchmal (aber nicht immer) bedeutet dies, dass der Anruf vom Empfänger abgelehnt wurde.
404 Nicht gefunden
Der Server hat endgültige Informationen, dass der Benutzer in der in der Request-URI angegebenen Domäne nicht existiert. Dieser Status wird auch zurückgegeben, wenn die Domäne in der Request-URI mit keiner der Domänen übereinstimmt, die der Empfänger der Anfrage bearbeitet.
405 Methode nicht erlaubt
Die in der Request-Line angegebene Methode wird verstanden, ist aber für die in der Request-URI angegebene Adresse nicht zulässig.
406 Nicht akzeptabel
Die durch die Anfrage identifizierte Ressource ist nur in der Lage, Antwort-Entitäten zu generieren, die inhaltliche Merkmale aufweisen, aber gemäß dem in der Anfrage gesendeten Accept-Header-Feld nicht zulässig sind.
407 Proxy-Authentifizierung erforderlich
Die Anfrage erfordert eine Benutzerauthentifizierung. Diese Antwort wird von Proxies ausgegeben.
408 Zeitüberschreitung der Anfrage
Der Benutzer konnte nicht rechtzeitig gefunden werden. Der Server konnte nicht innerhalb einer angemessenen Zeitspanne eine Antwort liefern, z. B. wenn er den Standort des Benutzers nicht rechtzeitig ermitteln konnte. Der Client darf die Anfrage zu einem beliebigen späteren Zeitpunkt ohne Änderungen wiederholen.
409 Konflikt
Benutzer bereits registriert. Veraltet durch Auslassung in späteren RFCs und durch Nichtregistrierung bei der IANA.
410 Vorbei
Der Benutzer existierte einmal, ist aber hier nicht mehr verfügbar.
411 Länge erforderlich
Der Server akzeptiert die Anfrage nicht ohne eine gültige Content-Length. Veraltet durch Wegfall in späteren RFCs und durch Nichtregistrierung bei der IANA.
412 Bedingte Anfrage fehlgeschlagen
Die angegebene Vorbedingung wurde nicht erfüllt.
413 Request Entity zu groß
Anfragekörper zu groß.
414 Anfrage-URI zu lang
Der Server weigert sich, die Anfrage zu bearbeiten, da die Request-URI länger ist, als der Server zu interpretieren bereit ist.
415 Nicht unterstützter Medientyp
Request-Body in einem nicht unterstützten Format.
416 Nicht unterstütztes URI-Schema
Die Request-URI ist dem Server unbekannt.
417 Unbekannte Ressourcenpriorität
Es gab ein Resource-Priority Option Tag, aber keinen Resource-Priority Header.
420 Schlechte Erweiterung
Falsche SIP-Protokoll-Erweiterung verwendet, die der Server nicht versteht.
421 Erweiterung erforderlich
Der Server benötigt eine bestimmte Erweiterung, die nicht im Supported-Header aufgeführt ist.
422 Sitzungsintervall zu klein
Die empfangene Anfrage enthält ein Session-Expires-Kopffeld mit einer Dauer, die unter dem minimalen Timer liegt.
423 Intervall zu kurz
Die Verfallszeit der Ressource ist zu kurz.
424 Schlechte Standortinformationen
Der Inhalt der Ortsangabe der Anfrage war fehlerhaft oder anderweitig unzureichend.
425 Schlechte Warnmeldung
Der Server hat einen nicht-interaktiven Notruf abgelehnt, was darauf hinweist, dass die Anfrage so fehlerhaft war, dass keine angemessene Reaktion auf den Notruf ermittelt werden kann.
428 Identity-Header verwenden
Die Serverrichtlinie erfordert einen Identity-Header, der nicht bereitgestellt wurde.
429 Referrer-Identität bereitstellen
Der Server hat kein gültiges Referred-By-Token für die Anfrage erhalten.
430 Fluss fehlgeschlagen
Ein bestimmter Datenfluss zu einem Benutzeragenten ist fehlgeschlagen, obwohl andere Datenflüsse erfolgreich sein können. Diese Antwort ist für die Verwendung zwischen Proxy-Geräten gedacht und sollte nicht von einem Endpunkt gesehen werden (und wenn sie von einem gesehen wird, sollte sie als 400 Bad Request Antwort behandelt werden).
433 Anonymität nicht erlaubt
Die Anfrage wurde abgelehnt, weil sie anonym war.
436 Schlechte Identitäts-Info
Die Anfrage hat einen Identity-Info-Header, und das URI-Schema in diesem Header kann nicht dereferenziert werden.
437 Nicht unterstütztes Zertifikat
Der Server war nicht in der Lage, ein Zertifikat für die Domain zu validieren, die die Anfrage signiert hat.
438 Ungültiger Identitäts-Header
Der Server hat ein gültiges Zertifikat erhalten, das laut der Anforderung zum Signieren der Anforderung verwendet wurde, konnte diese Signatur jedoch nicht überprüfen.
439 First Hop Lacks Outbound Support
Der erste ausgehende Proxy, über den der Benutzer versucht, sich zu registrieren, unterstützt die "Outbound"-Funktion von RFC 5626 nicht, der Registrar jedoch schon.
440 Max-Breadth Überschritten
Wenn ein SIP-Proxy feststellt, dass ein Antwortkontext nicht genügend Incoming Max-Breadth hat, um einen gewünschten parallelen Fork auszuführen, und der Proxy nicht willens oder in der Lage ist, dies durch einen seriellen Fork oder eine Weiterleitung zu kompensieren, MUSS dieser Proxy eine 440-Antwort zurückgeben. Ein Client, der eine 440-Antwort erhält, kann daraus schließen, dass seine Anfrage nicht alle möglichen Ziele erreicht hat.
469 Schlechtes Infopaket
Wenn eine SIP-UA eine INFO-Anfrage erhält, die mit einem Infopaket verbunden ist, für das die UA keine Empfangsbereitschaft angegeben hat, MUSS die UA eine 469-Antwort senden, die ein Recv-Info-Header-Feld mit Infopaketen enthält, für die die UA bereit ist, INFO-Anfragen zu empfangen.
470 Erforderliche Zustimmung
Die Quelle der Anfrage hatte nicht die Erlaubnis des Empfängers, eine solche Anfrage zu stellen.
480 Vorübergehend nicht verfügbar
Callee derzeit nicht verfügbar.
481 Call/Transaction Does Not Exist
Der Server hat eine Anfrage erhalten, die mit keinem Dialog oder keiner Transaktion übereinstimmt.
482 Schleife erkannt
Der Server hat eine Schleife entdeckt.
483 Zu viele Hops
Max-Forwards-Header hat den Wert '0' erreicht.
484 Adresse unvollständig
Anfrage-URI unvollständig.
485 Zweideutig
Request-URI ist mehrdeutig.
486 Besetzt hier
Der Anrufer ist beschäftigt.
487 Anfrage beendet
Die Anfrage wurde durch 'bye' oder 'cancel' beendet.
488 Hier nicht akzeptabel
Ein Aspekt der Sitzungsbeschreibung oder der Request-URI ist nicht akzeptabel.
489 Schlechtes Ereignis
Der Server hat ein in einem Event-Header-Feld angegebenes Ereignispaket nicht verstanden.
491 Ausstehende Anfrage
Der Server hat eine ausstehende Anforderung aus demselben Dialog.
493 Nicht entzifferbar
Die Anfrage enthält einen verschlüsselten MIME-Body, den der Empfänger nicht entschlüsseln kann.
494 Sicherheitsvereinbarung erforderlich
Der Server hat eine Anfrage erhalten, die einen ausgehandelten Sicherheitsmechanismus erfordert, und die Antwort enthält eine Liste geeigneter Sicherheitsmechanismen, zwischen denen der Anfragende wählen kann, oder eine Digest-Authentifizierungsanfrage.

Request Failures sind negative Rückmeldungen. Die vorangegangene Nachricht konnte nicht bearbeitet werden.

5xx-Server-Fehlerantworten

500 Interner Serverfehler
Der Server konnte die Anfrage aufgrund einer unerwarteten Bedingung nicht erfüllen.
501 Nicht implementiert
Der Server ist nicht in der Lage, die Anforderung zu erfüllen, z. B. weil er die Anforderungsmethode nicht kennt. (Vergleiche mit 405 Method Not Allowed, wo der Server die Methode zwar erkennt, aber nicht zulässt oder unterstützt).
502 Schlechtes Gateway
Der Server fungiert als Gateway oder Proxy und hat beim Versuch, die Anforderung zu erfüllen, eine ungültige Antwort von einem nachgeschalteten Server erhalten.
503 Dienst nicht verfügbar
Der Server wird gewartet oder ist vorübergehend überlastet und kann daher die Anfrage nicht bearbeiten. Ein "Retry-After"-Header-Feld kann angeben, wann der Client seine Anfrage erneut versuchen darf.
504 Server-Zeitüberschreitung
Der Server hat bei der Bearbeitung der Anfrage versucht, auf einen anderen Server zuzugreifen, und hat keine prompte Antwort erhalten.
505 Nicht unterstützte Version
Die SIP-Protokollversion in der Anfrage wird vom Server nicht unterstützt.
513 Nachricht zu groß
Die Länge der Anforderungsnachricht ist länger als der Server verarbeiten kann.
555 Push-Benachrichtigungsdienst wird nicht unterstützt
Der Server unterstützt den in einem SIP-URI-Parameter "pn-provider" angegebenen Push-Benachrichtigungsdienst nicht.
580 Vorbedingung fehlgeschlagen
Der Server ist nicht in der Lage oder nicht willens, einige der im Angebot angegebenen Bedingungen zu erfüllen.

6xx-Global Failure Antworten

600 Überall besetzt
Alle möglichen Ziele sind besetzt. Im Gegensatz zur Antwort 486 zeigt diese Antwort an, dass das Ziel weiß, dass es keine alternativen Ziele (z. B. einen Voicemail-Server) gibt, die den Anruf annehmen können.
603 Ablehnen
Das Ziel möchte oder kann an dem Anruf nicht teilnehmen und weiß außerdem, dass es keine alternativen Ziele (wie z. B. einen Voicemail-Server) gibt, die den Anruf annehmen können. In der Antwort kann im Header-Feld Retry-After ein besserer Zeitpunkt für den Anruf angegeben werden.
604 Existiert nirgendwo
Der Server hat verbindliche Informationen, dass der angefragte Benutzer nirgendwo existiert.
606 Nicht akzeptabel
Der Agent des Benutzers wurde erfolgreich kontaktiert, aber einige Aspekte der Sitzungsbeschreibung wie die angeforderten Medien, die Bandbreite oder der Adressierungsstil waren nicht akzeptabel.
607 Unerwünscht
Der angerufene Teilnehmer wollte diesen Anruf vom anrufenden Teilnehmer nicht. Zukünftige Versuche des Anrufers werden wahrscheinlich in ähnlicher Weise abgewiesen.
608 Abgelehnt
Ein zwischengeschalteter Rechner oder Prozess hat den Anrufversuch abgewiesen. Dies steht im Gegensatz zum SIP-Antwortcode 607 (Unerwünscht), bei dem ein Mensch, der angerufene Teilnehmer, den Anruf abgelehnt hat. Der Vermittler, der den Anruf ablehnt, sollte einen Call-Info-Header mit dem "purpose"-Wert "jwscard" und der jCard mit den Kontaktangaben einfügen. Der Anrufer kann diese jCard verwenden, wenn er die Ablehnung anfechten möchte.

Generelle Fehler: Der Server wurde zwar erfolgreich kontaktiert, jedoch kommt die Transaktion nicht zustande.

Liste der SIP-Status-Codes

7xx – Fehlercodes des SIP-Stacks

Code Nachricht Bedeutung
701 Party Hangs Up Der Angerufene hat aufgelegt