Teilen

SIP Protokoll

Alles was man 2024 wissen sollte

Mann, der am Schreibtisch sitzt und per Handy telefoniert

Um ein Telefongespräch über das Internet zwischen zwei oder mehreren Teilnehmern zu initiieren braucht es das „Session Initial Protocol“, kurz SIP. Was das SIP-Protokoll genau macht, wie es funktioniert und was die einzelnen Elemente des Protokolls bedeuten, erfahren Sie in diesem Artikel.

1. Was ist ein SIP-Protokoll?

1. Was ist ein SIP-Protokoll?

Die Abkürzung SIP steht für Session Initiation Protocol. Im Deutschen spricht man von einem Gesprächsprotokoll. Das SIP-Protokoll kommt in der VoIP-Telefonie zur Sprach- und Videokommunikation zum Einsatz. Dabei wird es sowohl zum Auf- und Abbau als auch zur Steuerung einer Kommunikationsverbindung zwischen zwei oder mehreren Gesprächspartnern genutzt. Mithilfe dieses Netzwerkprotokolls werden Verbindungen trotz Firewalls und NAT Grenzen (Network Address Translation) ermöglicht.

Die Nutzung des SIP-Protokolls ermöglicht unter anderem:

2. Wie funktioniert das SIP-Protokoll?

2. Wie funktioniert das SIP-Protokoll?

Die Abläufe eines SIP-Protokolls ähneln der Funktionsweise der Telefonie in ihren ersten Entwicklungsstufen. Damals wurde die Verbindung zwischen den Gesprächspartnern manuell durch einen Telefonisten hergestellt und wieder beendet.

In der VoIP-Telefonie übernimmt diese Rolle das SIP-Protokoll. Es beruht auf einer Client-Server-Architektur, innerhalb derer es für die Signalisierung zuständig ist. Das textbasierte SIP-Protokoll funktioniert ähnlich wie das Hypertext Transfer Protocol (HTTP). Dies birgt einen Vorteil: Das SIP-Protokoll lässt sich durch seine Ähnlichkeit mit HTTP in Geräte, Webanwendungen oder Browser mit integrieren. Dadurch wird das Telefonieren via SIP am Smartphone möglich.

Der SIP-Trunk als Schnittstelle bzw. zentraler Anschluss ermöglicht die Erreichbarkeit von mehreren Rufnummern aus einem einzigen Benutzerkonto. Zur Identifizierung der User wird mit URIs (Universal Resource Identifiyers) gearbeitet.

Um ein VoIP-Gespräch aufzubauen, wird im SIP-Protokoll zunächst eine SIP-Anfrage bzw. SIP-Request versendet. Kommt eine entsprechende SIP-Antwort bzw. SIP-Response zurück, kann eine Verbindung hergestellt werden.

Für die Übertragung von Sprache und Video in der VoIP-Telefonie ist das RTP-Protokoll (Real-Time Transport Protocol) zuständig. Verschlüsselte Daten werden via SRTP-Protokoll (Secure Real-Time Transport Protocol) übertragen. Das „sichere Echtzeit Protokoll“ enthält die Informationen über IP-Adressen sowie Ports und bestimmt die entsprechenden Codecs (Koderierer und Dekodierer).

3. Elemente des SIP-Protokolls

3. Elemente des SIP-Protokolls

Innerhalb der SIP-Systemarchitektur unterscheidet man zwischen folgenden Elementen:

  • User Agent
  • Registrar Server
  • Proxy Server
  • Redirect Server
  • Session Border Controller
  • Gateway
  • B2BUA

Wie der Name schon sagt, stellt der User Agent die Schnittstelle zum jeweiligen Nutzer dar. Er dient der Darstellung von Inhalten und der Entgegennahme von Befehlen. Die zentrale Schnittstelle wird durch den Registrar Server bereitgestellt. Er registriert und verarbeitet Anfragen an die Domain.

Unter dem Proxy Server versteht man die Kommunikationsschnittstelle des Netzwerks. Der Router („Vermittler“) nimmt Anfragen entgegen und stellt eine Verbindung mit dem richtigen Benutzer her. Der Redirect Server dient der Entlastung des Proxy Servers, indem er die Routing-Informationen an den User Agent weitergibt.

Um Rechnernetze mit verschiedenen Sicherheitsanforderungen sicher zu koppeln, wird der Session Border Controller als Netzwerkkomponente verwendet. Als Knotenpunkt zwischen SIP-Server und User Agent erfolgt damit unter anderem die Netzwerkadressübersetzung (Network Address Translation NAT).

Das Gateway verbindet als Schnittstelle das SIP-Netz mit anderen Netzen. Die Verbindung funktioniert auch zwischen unterschiedlichen Technologien bzw. Protokollen, beispielsweise zwischen SIP und dem klassischen Telefonnetz.

Die Abkürzung B2BUA steht für Back-to-Back-User-Agent („Rücken an Rücken User Agent“) und fungiert als Middleware nicht nur im SIP- sondern auch im RTP-Datenstrom. Er ermöglicht das Management von Gesprächen, z. B. die Weiterleitung, die Kopplung verschiedener Netzwerke oder das Ausblenden der Netzwerkstruktur.

4. SIP-Anfragen bzw. SIP-Requests

4. SIP-Anfragen bzw. SIP-Requests

Bevor zwischen zwei Geräten eine VoIP-Verbindung aufgebaut werden kann, sendet das IP-Gerät des Anrufers eine SIP-Anfrage an den/die gewünschten Gesprächspartner. Man spricht auch von einem SIP-Request.

Es gibt sechs elementare SIP-Anfragecodes:
  • REGISTER: Anmeldung des Endgeräts beim VoIP-Service-Anbieter
  • INVITE: Anfrage an einen Server eine Sitzung (Session) aufzubauen
  • ACK: Bestätigung einer empfangenen Anfrage oder Antwort
  • CANCEL: Abbruch einer begonnenen Anfrage
  • BYE: Beendigung einer bestehenden Sitzung
  • OPTIONS: Ermöglicht Endgeräten die Fähigkeiten anderer beteiligter Geräte anzufragen
Zur Erweiterung der Möglichkeiten existieren acht weitere Codes:
  • SUBSCRIBE: Einleitung der Ãœberwachung eines Endgerätes auf ein bestimmtes Ereignis oder einen Zustand.
  • NOTIFY: Meldung eines bestimmten Ereignisses oder eines Zustandes, als Antwort auf SUBSCRIBE oder REFER.
  • REFER: Einleitung einer Verbindungsübergabe an einen dritten Teilnehmer.
  • MESSAGE: Ãœbermittlung einer Textnachricht an ein Endgerät.
  • PRACK: Antwort auf einen 1xx-SIP-Status-Code.
  • UPDATE: Veränderung von Parametern noch während der Verbindungsaufbauphase.
  • INFO: Ãœbermittlung von Steuer- und Kontrollinformationen, die nicht direkt die SIP-Sitzung betreffen.
  • PUBLISH Unaufgeforderte Ãœbermittlung von Zuständen und Ereignisinformationen durch Endgeräte.

👉Quelle und weitere Informationen: de.wikipedia.org/wiki/SIP-Anfragen

5. SIP Status Codes: SIP-Antworten bzw. SIP-Responses

5. SIP Status Codes: SIP-Antworten bzw. SIP-Responses

Empfängt ein VoIP-Telefon bzw. Endgerät eine SIP-Anfrage, antwortet es mit einer SIP-Response. Es gibt verschiedene Formen von SIP-Antworten.

SIP Status Codes 1xx: Provisional

Führt der Server zur Bearbeitung der Anfrage noch weitere Aktionen durch, erhält der Sender vorläufige Antworten.

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.

👉Quelle & weitere Infos: de.wikipedia.org/wiki/SIP-Status-Codes

SIP Status Codes 2xx: Successful

War die SIP-Anfrage erfolgreich, empfängt man folgende Codes:

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.

👉Quelle & weitere Infos: de.wikipedia.org/wiki/SIP-Status-Codes

SIP Status Codes 3xx: Redirection

Besitzt die angerufene Person eine neue Adresse oder nutzt andere Dienste, findet eine Weiterleitung statt.

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.

👉Quelle & weitere Infos: de.wikipedia.org/wiki/SIP-Status-Codes

SIP Status Codes 4xx: Request Failures

Wenn eine SIP-Anfrage nicht bearbeitet werden konnte, erhält der Sender eine negative Rückmeldung.

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 eine 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.

👉Quelle & weitere Infos: de.wikipedia.org/wiki/SIP-Status-Codes

SIP Status Codes 5xx: Server Failure

Wenn ein Server nicht in der Lage war, die Anfrage zu bearbeiten, sendet er Server Failure-Codes.

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.

👉Quelle & weitere Infos: de.wikipedia.org/wiki/SIP-Status-Codes

SIP Status Codes 6xx: Global Failure

Wenn die Verbindung wegen anderer Gründe nicht zustande kommt, liegt ein globaler Fehler vor.

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.

👉Quelle & weitere Infos: de.wikipedia.org/wiki/SIP-Status-Codes

SIP Status Codes 7xx: SIP-Stack-Fehlercodes

Wenn die angerufene Person auflegt, sendet der SIP-Stack oder Protokollstapel einen Fehlercode:

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

👉Quelle & weitere Infos: de.wikipedia.org/wiki/SIP-Status-Codes

6. Ist das SIP-Protokoll sicher?

6. Ist das SIP-Protokoll sicher?

Zur sicheren Datenübertragung wird ein SIPS genutzt.

Die Tatsache, dass das SIP-Protokoll auf einem offenen Standard mit weiter Verbreitung basiert, ist einer der Pluspunkte dieses Netzwerkprotokolls. Die simple Architektur des Session Initiation Protocols birgt jedoch Sicherheitslücken. Die Informationspakete werden im SIP-Protokoll unverschlüsselt übertragen. Dadurch wird das Mitlesen von privaten Informationen über die Verbindung möglich.

Um dieses Datenleck zu schließen wurde das verschlüsselte SIPS-Protokoll (Session Initiation Protocol Secure) entwickelt. Dabei werden die Datenströme beim Aufbau der Verbindung sowie zur Datenübertragung voneinander getrennt und unabhängig verschlüsselt. Zur Verschlüsselung der Gesprächsdaten kommt das Secure Real-Time Transport Protocol (SRTP) zum Einsatz.

7. Was ist der Unterschied zwischen SIP und VoIP?

7. Was ist der Unterschied zwischen SIP und VoIP?

Die Begriffe SIP und VoIP-Protokoll werden häufig synonym verwendet, was so jedoch nicht richtig ist, da es sich um zwei unterschiedliche Protokolle handelt, die beim Telefonieren über das Internet zum Einsatz kommen. Während SIP für den Verbindungsauf- und Abbau von Kommunikationssitzungen zuständig ist (wörtlich übersetzt „Für die Initiierung einer Sitzung“), übernimmt VoIP nach dem Verbindungsaufbau den Transfer der Datenpakete zwischen den Gesprächspartnern.

Auch wenn sich SIP in Deutschland vor allem im Geschäftsbereich durchgesetzt hat, so ist es theoretisch möglich, VoIP ohne das SIP-Protokoll zu nutzen. Als Alternative kann zum Beispiel auch das Protokoll H.323 verwendet werden, das sowohl VoIP unterstützt, als auch für die Kommunikation in öffentlichen Telefonnetzen und ISDN genutzt wird.

Bildquelle Header: © fizkes – stock.adobe.com

In wenigen
Klicks startklar.

Probieren Sie es kostenlos selbst aus!