# SIP-Status-Codes

SIP-Status-Codes, ungenau auch SIP-Fehler-Codes oder englisch SIP-Responses genannt, bezeichnen die möglichen Antworten auf eine SIP-Anfrage. Das Session Initiation Protocol (SIP) für Aufbau, Steuerung und Abbau einer Kommunikationssitzung (zumeist IP-Telefonie) ist an das Hypertext Transfer Protocol angelehnt. Die Teilnehmergeräte senden sich Anfragen (englisch requests) und beantworten diese mittels Antwort-Codes (englisch responses), die auf den HTTP-Statuscodes aufbauen.

## Liste der SIP-Status-Codes
### 1xx – Provisional

Vorläufige Informationen, dass der Server noch weitere Aktionen durchführt und deshalb noch keine endgültige Antwort senden kann.
| Code | Nachricht | Bedeutung |
| 100 | Trying | Es wird versucht, den Anruf zu vermitteln. |
| 180 | Ringing | Es wird versucht, beim Angerufenen zu klingeln. |
| 181 | Call Is Being Forwarded | Der Anruf wird weitergeleitet. |
| 182 | Queued | Der Anruf ist in einer Warteschleife. |
| 183 | Session Progress | Die Verbindung wird aufgebaut. |
| 199 | Early Dialog Terminated | Der Dialog wurde während des Verbindungsaufbaus beendet. |

### 2xx – Successful

Die Anfrage war erfolgreich.
| Code | Nachricht | Bedeutung |
| 200 | OK | Die Anfrage wurde erfolgreich bearbeitet und das Ergebnis der Anfrage wird in der Antwort übertragen. |
| 202 | Accepted | Die Anfrage wurde akzeptiert, wird aber zu einem späteren Zeitpunkt ausgeführt. |
| 204 | No Notification | Die Anfrage wurde erfolgreich durchgeführt, die entsprechende Antwort wird aber bewusst nicht gesendet. |

### 3xx – Redirection

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 – Request Failures

Request Failures sind negative Rückmeldungen. Die vorangegangene Nachricht konnte nicht bearbeitet werden.
| Code | Nachricht | Bedeutung |
| 400 | Bad Request | Die SIP-Anfrage ist fehlerhaft. |
| 401 | Unauthorized | Die Autorisierung ist fehlerhaft. |
| 402 | Payment Required | Noch nicht definiert; vorgesehen für "nicht genügend Guthaben vorhanden". |
| 403 | Forbidden | Die Anfrage war unzulässig. |
| 404 | Not Found | Die Gegenstelle wurde nicht gefunden oder existiert nicht. |
| 405 | Method Not Allowed | Die Methode der Anfrage (zum Beispiel SUBSCRIBE oder NOTIFY) ist nicht erlaubt. |
| 406 | Not Acceptable | Die Optionen des Anrufs sind nicht gestattet. |
| 407 | Proxy Authentication Required | Der Proxy benötigt eine Autorisierung. |
| 408 | Request Timeout | Timeout – Die Gegenstelle antwortet nicht innerhalb einer angemessenen Zeit. |
| 410 | Gone | Der gewünschte Teilnehmer ist unter der angegebenen Adresse nicht mehr erreichbar. |
| 412 | Conditional Request Failed | Die Voraussetzungen für die Bearbeitung der Anfrage konnten nicht hergestellt werden, weil eine dafür erforderliche Anfrage fehlschlug. |
| 413 | Request Entity Too Large | Der Nachrichteninhalt ist zu groß. |
| 414 | Request URI Too Long | Die SIP-Adresse (URI) der Anfrage ist zu lang. |
| 415 | Unsupported Media Type | Der Codec wird nicht unterstützt. |
| 416 | Unsupported URI Scheme | Die SIP-Adresse ist fehlerhaft. |
| 417 | Unknown Resource-Priority | Die Anfrage soll mit einer bestimmten Priorität behandelt werden, der Server versteht die Angaben dazu aber nicht. |
| 420 | Bad Extension | Der Server versteht eine Protokollerweiterung nicht. |
| 421 | Extension Required | Der Server benötigt eine Protokollerweiterung. |
| 422 | Session Interval Too Small | Der Session-Expires-Wert ist zu niedrig für den Server. |
| 423 | Interval Too Brief | Der Wert der gewünschten Bearbeitungsdauer ist zu kurz. |
| 428 | Use Identity Header | Der Identity-Header fehlt. |
| 429 | Provide Referrer Identity | Es ist kein gültiges Referred-By-Token angegeben. |
| 430 | Flow Failed | Die bestimmte Wegewahl ist gescheitert (proxyintern, Endpunkte sollten die Response wie Code 400 behandeln). |
| 433 | Anonymity Disallowed | Der Server weigert sich, anonyme Anfragen zu bearbeiten. |
| 436 | Bad Identity-Info | Die im Identity-Header enthaltene SIP-Adresse ist ungültig, nicht erreichbar oder wird nicht unterstützt. |
| 437 | Unsupported Certificate | Der Verifier kann das Zertifikat im Identity-Header nicht überprüfen. |
| 438 | Invalid Identity Header | Das Zertifikat im Identity-Header ist ungültig. |
| 439 | First Hop Lacks Outbound Support | Der Registrar unterstützt Outbound-Feature, der verwendete Proxy jedoch nicht. |
| 440 | Max-Breadth Exceeded | Es können keine nebenläufigen Forks aus der Anfrage mehr abgeleitet werden. |
| 469 | Bad Info Package | Unpassendes Info-Package – Übertragungsfehler, erneut senden. |
| 470 | Consent Needed | Der Server hat keine Zugriffsrechte auf mindestens eine der angegebenen SIP-Adressen. |
| 480 | Temporarily Unavailable | Der angerufene Teilnehmer ist zurzeit nicht erreichbar. |
| 481 | Call/Transaction Does Not Exist | Diese Verbindung existiert nicht (mehr). |
| 482 | Loop Detected | Es wurde Weiterleitungsschleife festgestellt. |
| 483 | Too Many Hops | Es wurden zu viele Weiterleitungsschritte festgestellt. |
| 484 | Address Incomplete | Die SIP-Adresse ist unvollständig. |
| 485 | Ambiguous | Die SIP-Adresse ist nicht eindeutig auflösbar. |
| 486 | Busy Here | Der angerufene Teilnehmer ist belegt. |
| 487 | Request Terminated | Der Anrufversuch wurde abgebrochen. |
| 488 | Not Acceptable Here | Unzulässiger Anrufversuch. |
| 489 | Bad Event | Der Server kennt das angegebene Event nicht. |
| 491 | Request Pending | Eine Anfrage desselben Dialogs befindet sich noch in Bearbeitung. |
| 493 | Undecipherable | Die Anfrage enthält einen verschlüsselten MIME-Body, den der Empfänger nicht entschlüsseln kann. |
| 494 | Security Agreement Required | Die Anfrage verlangt ein Security Agreement, enthält aber keinen vom Server unterstützten Sicherheitsmechanismus. |

### 5xx – Server Failures

Ein an der Übermittlung beteiligter Server konnte eine Nachricht nicht bearbeiten.
| Code | Nachricht | Bedeutung |
| 500 | Server Internal Error | Interner Server-Fehler. |
| 501 | Not Implemented | Der Server unterstützt die SIP-Anfrage nicht. |
| 502 | Bad Gateway | Das Gateway in der SIP-Anfrage ist fehlerhaft. |
| 503 | Service Unavailable | Der SIP-Dienst des Servers ist vorübergehend nicht verfügbar. |
| 504 | Server Time-out | Der Server kann einen anderen Server nicht in einer angemessenen Zeit erreichen. |
| 505 | Version Not Supported | Die SIP-Protokollversion wird vom Server nicht unterstützt. |
| 513 | Message Too Large | Die SIP-Nachricht ist zu groß für UDP; es muss TCP verwendet werden. |
| 580 | Precondition Failure | Der Server kann oder will die Voraussetzungen für die Bearbeitung der Anfrage nicht erfüllen. |

### 6xx – Global Failures

Generelle Fehler: Der Server wurde zwar erfolgreich kontaktiert, jedoch kommt die Transaktion nicht zustande.
| Code | Nachricht | Bedeutung |
| 600 | Busy Everywhere | Alle Endgeräte des angerufenen Teilnehmers sind belegt. |
| 603 | Declined | Der angerufene Teilnehmer hat den Anrufversuch abgelehnt. |
| 604 | Does Not Exist Anywhere | Der angerufene Teilnehmer existiert nicht mehr. |
| 606 | Not Acceptable | Das Endgerät des angerufenen Teilnehmers lehnt die SIP-Anfrage als unzulässig ab. |
| 607 | Unwanted | Der angewählte Teilnehmer möchte keine Anrufe von dem anrufenden Teilnehmer erhalten. Zukünftige Anrufversuche werden höchstwahrscheinlich gleichermaßen abgelehnt. |
| 608 | Rejected | Anruf wurde von einer Vermittlungseinrichtung abgewiesen, z. B. dem SPIT-Filter des Providers. |

### 7xx – Fehlercodes des SIP-Stacks

| Code | Nachricht | Bedeutung |
| 701 | Party Hangs Up | Der Angerufene hat aufgelegt |