SIP - Alles was Sie zum Protokoll wissen müssen

SIP ist eine Abkürzung und steht für Session Initiation Protocol. Wie der Name schon sagt, ist es dafür da, bei einem Anruf per VoIP den Anrufer mit dem passenden Ende zu verbinden.

Dieses Protokoll ist nicht nur für den Aufbau von Sprachübertragungen zuständig, sondern kann jegliche Arten von Kommunikation „vermitteln“. Denn sobald einmal die Verbindung über SIP initiiert wurde, erfolgt die eigentliche Kommunikation direkt zwischen den Partnern.

SIP basiert auf einer klassischen Client-Server-Architektur mit einem User Agent Client (UAC) und einem User Agent Server (UAS). Unter anderem ist auch das Session Description Protocol (SDP) eng mit dem SIP Protokoll verbunden, da dieses die Details der Verbindung an beide Partner schickt. Dabei wird zum Beispiel übermittelt welcher Codec beim Telefonieren genutzt wird oder auch welche Netzadresse verwendet wird.

Die eigentlichen Daten während des Gesprächs werden wiederum über das Real-Time Transport Protocol (RTP) übertragen. Dieses ist ein spezielles für die Sprache entwickeltes Protokoll welcher sicherstellen soll das die Kommunikation mit der kurz möglichsten Verzögerung abläuft. Hier finden Sie mehr Informationen zum Real-Time-Transport Protocol (RTP).

Mit SIP lassen sich Audio aber auch Videoverbindungen vermitteln. Die Adressierung erfolgt mit einem Uniform Ressource Identifier (URI) und Domain Name System (DNS). Beide Systeme finden heraus, wo sich das Ziel des Anrufes befindet.

SIP übertragt alle Informationen im Normalfall im Klartext. Hierdurch können Unbefugte, die Verbindungsinformationen relativ einfach mitlesen oder abfangen. Dadurch wurde auch eine verschlüsselte Variante entwickelt, das sogenannte Session Initiation Protocol Secure (SIPS).

Jeder SIP Teilnehmer hat eine eigene Adresse wodurch dieser identifiziert wird. Diese Adresse ähnelt einer E-Mail Adresse z.B. „teilnehmer-x@domain“. Der letzte Teil der Adresse zeigt, in welchem Netzwerk sich der Benutzer befindet und der vordere dann den genauen Benutzername oder Telefonnummer der Person.

Hierbei kann zwischen einer unverschlüsselten Verbindung „sip:teilnehmer-x@domain“ und einer verschlüsselten „sips:teilnehmer-x@domain“ leicht unterschieden werden durch „sip“ oder „sips“ vor der Adresse.

Durch die Trennung vom Verbindungsaufbau und Übertragung der Nutzerdaten können beide Datenströme unabhängig voneinander verschlüsselt werden. Im Zusammenhang einer verschlüsselten SIP Verbindung gibt es auch ein verschlüsseltes Übertragungsprotokoll. Anstatt RTP (Real Time Transport Protocol) das SRTP (Secure Real Time Transport Protokoll).

Weitere möglichen Komponenten für die Verbindung mit SIP

  • Proxy Server (Nehmen Verbindungsanfragen entgegen und vermitteln diese)
  • Registrar Server (Registrieren die Anfrage einer Domain)
  • Redirect Server (Übermitteln die Einladung zu einer SIP Verbindung an externe Domänen)
  • Diverse Gateways & Session Border Controller (Koppelt Netzwerke mit unterschiedlichen Protokollen, Technologien und Sicherheitsanforderungen)

SIP Requests

Das SIP kennt 6 folgende Anforderungen welche auch Requests genannt werden und für die Kommunikation genutzt werden.

Anforderung (Request) Beschreibung
Invite Die Gegenstelle wird zu einer Sitzung eingeladen. Dieser Vorgang entspricht der Signalisierung beim angerufenen, dessen Telefon klingelt. Invite ist der wichtigste Request. Mit ihm wird die Verbindung gestartet
Ack Mit diesem Request wird die Verbindung bestätigt
Bye Dieser Request wird ausgeführt, wenn einer der beiden Gesprächspartner die Verbindung beendet.
Cancel Dieser Request wird ausgeführt, wenn die Verbindung nach einer gewissen Zeit abgebrochen wird.
Options Mit diesem Request werden Zusatzinformationen des Anwenders übermittelt.
Register Mit diesem Request werden die Standort-Informationen des Clients an den Server übergeben, damit dieser den Client bei einem Anruf finden kann.

Beispiel von einem SIP INVITE-Request:

INVITE sip:my@sip.server.com SIP/2.0
VIA:SIP/2.0/UDP 192.168.0.1
Call-ID:300f0gd090fgsa0f9da0gf0g@sip.server.com
From:<sip:my@sip.server.com>
To: Name <name@sip.server.com>
Call-ID:300f0gd090fgsa0f9da0gf0g@sip.server.com
CSeq:1 INVITE

Natürlich gibt es auch eine Vielzahl an SIP Rückmeldungen (Responses)

Kennung Bedeutung
1 Anruf erfolgt
100 Verbindung wird hergestellt
180 Verbindung etabliert, warten auf Gegenseite
181 Der Anruf wird zu einem anderen Bestimmungsort umgeleitet
182 Die Gegenstelle ist zurzeit nicht verfügbar, weist den Anrufer aber nicht zurück, sondern stellt ihn in eine Warteschleife.
200 OK
300 Die Rufnummer führt zu mehreren Zielen. Es folgt eine Auswahlmöglichkeit
305 Das Anrufziel ist nur über einen Proxy-Server zu erreichen
400 SIP-Syntaxfehler bei der Verbindungsaufnahme.
404 Die Gegenstelle teilt mit, dass das Anrufziel nicht existiert
485 Das Anrufziel ist vieldeutig. Der SIP-Server kann mögliche Alternativen nennen
500 Interner Server-Fehler, die Bearbeitung wurde abgebrochen
501 Das SIP-Gateway unterstützt die angeforderte Aktion nicht.
504 Timeout beim Warten auf einen anderen Server überschritten
600 Besetzt
603 Die Gegenstelle weist den Anruf ab.
604 Die Gegenstelle existiert nicht im angegebenen SIP-Netz
605 Der Session-Aufbau wurde ohne weitere Begründung nicht akzeptiert

Die zwei Tabellen zeigen alle Requests und Responses, die in dem SIP Protokoll benutzt werden. Hierdurch wird die Verbindungen zwischen UAC und UAS vereinbart und die benötigten Infos bereitgestellt.

Die Grafik veranschaulicht die Requests und Responses in einem SIP Protokoll
Hier ein Beispiel zur Veranschaulichung einer solchen Verbindung.

Hier kann man nun genau sehen, dass der UAC einen Verbindungsversuch durch ein INVITE einleitet. Bestätigt wird dies von dem UAC mit einem „Trying“. Mit „Ringing“ wird dem UAC bestätigt, dass dem Angerufenen der Verbindungswunsch signalisiert wird. Ist der Gesprächspartner belegt, dann schickt der UAS dem UAC ein „Busy here“.

Nimmt der gewünschte Gesprächspartner den Verbindungswunsch an, dann schickt der UAS dem UAC ein „OK“. In diesem Response werden auch die SDP-Verbindungsparameter mitgeschickt. Der UAC bestätigt dem UAS den Verbindungsaufbau und die Verbindungsparameter mit einem „ACK“. Das Gespräch ist aufgebaut.

Wenn einer der beiden Teilnehmer das Gespräch beendet schickt der User Agent ein „BYE“ und bekommt das von der Gegenseite mit einem „OK“ bestätigt.

Sie haben weitere Fragen rund um SIP und VoIP? Wir unterstützen Sie mit Beratung und Einrichtung Ihrer Telefonanlage. Kontaktieren Sie uns gern – Wir melden uns schnell und unverbindlich bei Ihnen zurück.

Jetzt Kontakt aufnehmen