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

InviteDie 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
AckMit diesem Request wird die Verbindung bestätigt
ByeDieser Request wird ausgeführt, wenn einer der beiden Gesprächspartner die Verbindung beendet.
CancelDieser Request wird ausgeführt, wenn die Verbindung nach einer gewissen Zeit abgebrochen wird.
OptionsMit diesem Request werden Zusatzinformationen des Anwenders übermittelt.
RegisterMit 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.

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