Normalerweise laufen SIP-Verbindungen sowohl bei deren Aufbau als auch im Betrieb reibungslos, so wie gewünscht und ohne weiteres Zutun de:r Anwender:ins. Ähnlich wie bei der Übertragung von HTML-Seiten im Internet gibt es aber auch beim SI-Protokoll Statuscodes, mit deren Hilfe SIP-Server und Clients Informationen austauschen (siehe Abbildung oben). Einige davon listen wir Ihnen hier auf:
1xx-Codes: Anrufvorbereitung und -herstellung (Provisional)
Bei den 1xx-Codes geht es um den Verbindungsaufbau. Die Codes repräsentieren den jeweiligen Zustand der noch nicht hergestellten Verbindung. Beispiele sind:
180: „Ringing”: Das Telefon der angerufenen Person klingelt.
181: „Call forwarded”: Der Anruf wird weitergeleitet.
199: „Early termination”: Der Anruf wurde während des Aufbaus beendet.
2xx-Codes: Erfolgsmeldungen (Successful)
Meldet der Client beim Server einen Anruf an, baut dieser die Verbindung auf und spielt den Code 200 „OK“ zurück. Weitere Codes betreffen erfolgreiche Rufaufbauten für spätere Zeitpunkte (Code 202) oder solche, bei denen keine Antwort gesendet werden soll (Code 204).
3xx-Codes: Anrufweiterleitung (Redirection)
Es kann vorkommen, dass die angerufene Person nicht an der Gegenstelle zu erreichen ist, an der dies vermutet wurde. Hierzu liefern die 3xx-Codes weiterführende Informationen, ohne dass der Verbindungsaufbau abgebrochen werden muss:
301: Permanent redirect: Die angerufene Person ist dauerhaft an einer anderen Adresse erreichbar.
302: Temporary redirect: Die angerufene Person ist vorübergehend an einer anderen Adresse erreichbar.
305: Use proxy: Es ist der angegebene Proxy zu verwenden.
4xx-Codes: Fehlermeldungen (Request Failures)
Schlägt der Verbindungsaufbau fehl, kann dies verschiedene Ursachen haben. Einige davon sind:
403: Forbidden: Die Anfrage ist unzulässig.
404: Not found: Die Gegenstelle existiert nicht.
482: Loop detected: Es wurde eine Weiterleitungsschleife festgestellt.
Eine Weiterleitungsschleife tritt beispielsweise dann auf, wenn mehrere Rufumleitungen existieren, die am Ende wieder zur Ursprungsadresse führen. In diesem Fall kann keine Verbindung hergestellt werden.
5xx-Codes: Serverfehler (Server Failures)
Es kann vorkommen, dass der SIP-Server nicht funktioniert oder nicht korrekt konfiguriert ist. Außerdem ist es möglich, dass die gestellte Anfrage nicht zu den Möglichkeiten des angefragten Servers passt. Beispiele hierfür sind:
500: Internal Server Error: Es gibt einen internen Serverfehler.
502: Bad Gateway: Das Gateway für diese SIP-Anfrage funktioniert nicht (korrekt).
505: Version not supported: Der Server unterstützt die SIP-Version nicht.
6xx-Codes: Allgemeine Fehler (General Failures)
Auch hier kommt die Verbindung nicht zustande. Hier sind aber nicht serverseitige Fehler oder inkompatible Protokolle die Ursache, sondern praktische Gründe:
600: Busy: Die Endgeräte der angerufenen Person sind alle belegt.
603: Declined: Der Anruf wurde abgelehnt.
607: Unwanted: Die angerufene Person möchte von dieser Startadresse aus keine Anrufe mehr erhalten.
7xx-Codes: Fehlercodes des SIP-Stacks
Bei den 7xx-Fehlercodes aus dem SIP-Protokollstapel handelt es sich um Fehler, die die angerufene Stelle während eines bestehenden Anrufs auslöst. Der wohl bedeutsamste Fehlercode ist hier 701: „Party hangs up: Die angerufene Person hat aufgelegt.” Weitere Fehlercodes betreffen Anschlussfehler (beispielsweise ein gezogenes Anschlusskabel, 702) oder den Abbruch eines Anrufs aufgrund von Zeitüberschreitung (703)).