SIP: Alles Wissenswerte zum Session Initiation Protocol

Das Session Initiation Protocol (SIP) ist für den Auf- und Abbau von Audio- und Videoverbindungen in Echtzeit zuständig. Es kommt insbesondere in der IP-Telefonie zum Einsatz.

Was ist SIP?

Ob im Berufsleben oder im privaten Kontext: Videokonferenzen, Instant Messaging, Filesharing, IP-Telefongespräche und andere Formen der Echtzeit-Kommunikation gehören für viele zum täglichen Leben. Ein wichtiger Faktor bei all diesen Anwendungen ist das Session Initiation Protocol oder kurz SIP. Dieses ist als Netzprotokoll insbesondere für den initialen Aufbau, die Steuerung und den späteren Abbau von Audio- oder Videogesprächen über VoIP (Voice over IP) mit zwei oder mehr Teilnehmerinnen bzw. Teilnehmern wichtig. Die Technik berücksichtigt die Besonderheiten von IP-Netzwerken und ist eine maßgebliche Komponente im Bereich der Echtzeit-Kommunikation.

Die Einführung von SIP, das im RFC 3261 spezifiziert wurde, machte das Telefonieren über das Internet erst zu einer tatsächlichen Alternative zum herkömmlichen Telefongespräch über eine hardwarebasierte Telefonanlage. Durch das SIP-Protokoll sind Nutzerinnen und Nutzer zum einen deutlich mobiler und profitieren zum anderen von großen Kostenvorteilen. Aus diesem Grund wurde SIP seit seiner Einführung 2004 bis heute immer wichtiger und hat die stationäre Telefonanlage nahezu vollständig abgelöst.

Das Session Initiation Protocol ist textbasiert und in vielen Punkten vergleichbar mit HTTP für das Web und SMTP (Simple Mail Transfer Protocol) für die Kommunikation per E-Mail.

Welche Aufgaben hat das SIP-Protokoll?

Ähnlich wie die beiden anderen Protokolle arbeitet auch SIP auf der fünften Ebene des OSI-Modells, der Sitzungsschicht (englisch: Session Layer). Die Aufgabe des SIP-Protokolls ähnelt dabei der einer Schalttafel aus den Anfängen des Telefons. Hierbei sorgten Telefonistinnen und Telefonisten zunächst dafür, dass das Gespräch zwischen zwei Personen aufgebaut werden konnte. Im Verlauf des Gesprächs wurde die Leitung aufrechterhalten, und waren beide Parteien am Ende angelangt, wurde die Verbindung beendet und die Leitung damit wieder freigehalten für andere Anrufe. Diese Aufgaben erledigt auch SIP. Für andere Aspekte der Kommunikation ist das Session Initiation Protocol hingegen nicht zuständig.

Wie funktioniert SIP?

SIP basiert auf einer herkömmlichen Client-Server-Architektur. Das grundsätzliche Protokoll funktioniert über Anfragen und Antworten, wobei das Session Initiation Protocol als Vermittler zwischen den angeschlossenen Endgeräten agiert. Dabei kann es sich um beinahe jedes Device mit Internetanbindung handeln. SIP empfängt dann die Anfragen von Clients oder User Agent Clients (UAC) und Antworten von den jeweiligen Servern oder User Agent Servern (UAS). Über die Schnittstelle SIP-Trunk werden Rufnummern zur Verfügung gestellt. Für den eigentlichen Datenaustausch sind danach allerdings die anderen angesprochenen Protokolle verantwortlich. Weitere Komponenten für die Kommunikation mit SIP können Proxy Server und andere Gateways sein.

Für die Verbindung ermittelt das Session Description Protocol, welche Art der Verbindung möglich ist, und regelt die Modalitäten. Diese unterschiedlichen Methoden werden auch als Codecs bezeichnet. Auch die Netzadressen, die zum Einsatz kommen sollen, werden durch das SDP festgelegt. Ist dies geklärt, sorgt ein Protokoll wie RTP für die Übermittlung der eigentlichen Daten. Ist die Session beendet, wird die Verbindung durch das SIP-Protokoll ordnungsgemäß getrennt.

Wie wird das Session Initiation Protocol adressiert?

Für die korrekte Adressierung verwendet SIP den Uniform Resource Identifier (URI) sowie das Domain Name System (DNS). Die Adressen, die allen Teilnehmerinnen und Teilnehmern so zugewiesen werden, ähneln in ihrem Aufbau gewöhnlichen E-Mail-Adressen. Wie bei einer E-Mail-Adresse besteht eine SIP-Adresse aus zwei Teilen: einem Benutzernamen oder einer Telefonnummer am Anfang und dahinter dem entsprechenden Netzwerk. Telefonnummern sind insbesondere bei Geräten geläufig, die eine Schnittstelle zu regulären Telefonnetzen anbieten.

Welche SIP-Anfragen gibt es?

SIP kennt verschiedene Anfragen oder Requests, auf die dann mit Antworten bzw. Responses reagiert wird. Diese Antworten lehnen sich an die HTTP-Statuscodes an. Die Requests der SIP-Protokolle werden unterteilt in elementare SIP-Anfragen und erweiterte SIP-Anfragen. Dies sind die Requests im Detail:

Elementare SIP-Requests

  • ACK bestätigt eine empfangene Anfrage oder eine Antwort.
  • Mit BYE wird eine aktive Sitzung ordnungsgemäß beendet.
  • Die SIP-Anfrage CANCEL widerruft einen ausstehenden Request.
  • Über INVITE wird eine Anfrage an einen Server gesendet, um eine Session aufzubauen.
  • OPTIONS stellt Endgeräten eine Übersicht über die Spezifikationen der anderen beteiligten Devices zur Verfügung.
  • REGISTER meldet ein Device beim Service-Anbieter an.

Erweiterte SIP-Requests

  • Über INFO werden Informationen übermittelt, die nicht in direktem Zusammenhang zur SIP-Session stehen.
  • MESSAGE übermittelt eine Textnachricht an ein Device.
  • NOTIFY überprüft den Zustand der Verbindung und sendet Benachrichtigungen, falls es zu Änderungen kommt.
  • PRACK bestätigt einen Request vorläufig.
  • Diese SIP-Anfrage REFER leitet eine bestehende Verbindung an einen weiteren Teilnehmer oder eine Teilnehmerin weiter.
  • Durch SUBSCRIBE kann ein bestimmtes Ereignis überwacht und bei seinem Eintritt eine Nachricht versendet werden.
  • UPDATE kann den Status eines Anrufs verändern.

Welche SIP-Responses werden genutzt?

SIP-Responses werden als Antwort auf die oben aufgeführten Anfragen genutzt. Man unterteilt diese Antworten in sechs Kategorien:

  • 1xx liefert vorläufige Statusinformationen, bevor es z. B. zu einer Reaktion des Servers kommt.
  • 2xx zeigt an, dass die Anfrage erfolgreich war.
  • 3xx informiert über mögliche oder nötige Weiterleitungen.
  • 4xx zeigt an, dass ein Request nicht bearbeitet werden konnte.
  • 5xx informiert über einen Fehler auf Server-Seite.
  • 6xx zeigt an, dass zwar der Server kontaktiert werden konnte, die Transaktion aber aus übergreifenden Gründen nicht zustande kommt.

Was ist der Unterschied zwischen SIP und VoIP?

Auch wenn die Begriffe häufig im Zusammenhang verwendet werden und beide Protokolle eng zusammenhängen, sind SIP und VoIP nicht synonym. Das SIP-Protokoll baut eine Verbindung auf, hält diese aufrecht und beendet sie. Für die eigentliche Übermittlung der Datenpakete über verschiedene Netzwerktypen und Server wird dann allerdings das Protokoll VoIP benötigt. Es setzt also da an, wo SIP die Vorarbeit geleistet hat.