Was ist eigentlich SIP?

communications solution

Das Session Initiation Protocol – kurz SIP -  ist ein modernes Kommunikationsprotokoll, das heute in der Audio- und Videokommunikation weit verbreitet ist. Was ist denn das Besondere daran und wie funktioniert es?

Analog-Telefonie

Vor nicht allzu langer Zeit wurde Telefonie ausschliesslich analog betrieben. Dabei musste eine Kabelverbindung vom Anrufer bis zum Angerufenen durchgeschaltet werden und bis zum Gesprächsende bestehen bleiben. Über diese Verbindung wurden Sprachdaten in beide Richtungen analog übertragen und die Signalisierung für Gesprächsaufbau, Ruf- und Klingeltöne sowie Gesprächsabbau erfolgten mit damals relativ ausgeklügelten Verfahren. Es brauchte aber für jedes Gespräch eine eigene Verbindung.

Digitalisierung

Dann kam die Digitalisierung und ISDN (Integrated Services Digital Network) wurde erfunden. Dieses brachte einerseits Performance-Vorteile mit sich und durch die Übertragung zweier Gespräche über eine einzige Leitung konnte auch die Kapazität erhöht werden.

Mit dem Einzug des Internets und der allmählichen Umstellung der Datennetzwerke auf TCP/IP entstand relativ schnell der Bedarf, auch die Telefonie über die sowieso bestehenden Datennetze zu betreiben. Dafür mussten aber neue Protokolle erfunden werden.

  • Zuerst kam das 323-Protokoll. Obwohl es sich einigermassen ans ISDN anlehnt und darum im Internet einige Schwierigkeiten mit sich bringt, ist dieses Protokoll auch heute noch weit verbreitet. Es steuert die Kommunikation von A bis Z, also Verbindungskontrolle sowie Nutzdaten.
  • Flexibler erweist sich das sogenannte SIP-Protokoll (Session Initiation Protocol), welches 1996 mit der Absicht erfunden wurde, Multimedia-Anwendungen im Internet zu ermöglichen. Das Protokoll wurde später für andere Anwendungsgebiete erweitert, zum Beispiel für das Streamen von Online-Inhalten oder für Dateitransfers. SIP lehnt sich an das HTTP-Protokoll an, ist aber nicht identisch.

Wie der Name sagt, wird das SIP-Protokoll für den Verbindungsaufbau verwendet. Natürlich fallen darunter auch Verbindungssteuerung sowie Verbindungsabbau. Für die Übertragung der Nutzdaten sind dann allerdings andere Protokolle verantwortlich.

Eine typische SIP-Session ist ziemlich einfach zu verstehen. Hier ein Beispiel, das eine Verbindung von Sandra zu Billy veranschaulicht:

Sandra wählt die Nummer von Billy. Ihr Gerät schickt ein Invite an die dazwischenliegende PBX (1). Die PBX quittiert den Empfang des Invites mit einem Trying, so wird das Gerät von Sandra informiert, dass der Verbindungs-Aufbau gestartet wurde (2). Die PBX schickt die Anfrage weiter zu Billy (3). Die PBX vertröstet auch das Gerät von Sandra noch etwas, indem sie einen Session Progress schickt (4). Das Gerät von Billy schickt nun seinerseits eine Trying-Antwort zur PBX. (5). Es folgt ein Session Progress von Billys Gerät (6). Dieses wird zu Sandra weitergeleitet (7). Nun folgt endlich die Meldung, dass Billys Gerät läutet (8). Die PBX informiert nun Sandra, dass das Gerät von Billy läutet. Daraufhin hört Sandra den Rufton (9). Nach einer Weile beantwortet Billy den Anruf. Sein Gerät schickt ein OK (10). Das OK wird zu Sandra weitergeleitet (11). Damit Billy informiert wird, dass Sandra das OK erhalten hat, schickt Sandra’s Gerät eine Acknowledge-Meldung (12). Diese wird von der PBX zu Billy geschickt. Nun steht die Verbindung und die beiden können miteinander sprechen (13). Nach einer Weile beendet Billy den Call und sein Gerät schickt eine Bye-Meldung zur PBX (14). Die PBX schickt das Bye weiter zu Sandra (15). Diese Meldung muss mit einem OK quittiert werden (16). Die PBX schickt das OK weiter zu Billy, damit wird dessen Gerät das korrekte Beenden des Anrufs mitgeteilt (17).

Anmeldung zum talkbase Blog

Wie schon erwähnt, beinhaltet SIP nur die Verbindungskontrolle. Die Nutzdaten laufen über andere Protokolle, die während des Call-Aufbaus innerhalb des SIP-Protokolls ebenfalls etabliert werden. Für Voice-Verbindungen sind dies vielfach SDP (Session Description Protocol), das unter anderem für das Aushandeln der Voice-Codecs zuständig ist, und RTP (Real-Time Transport Protocol), mit welchem die Sprache übertragen wird.

SIP-Adressen

Zu erwähnen sind in diesem Zusammenhang auch die so genannten SIP-Adressen. Jeder Adressat in einer Verbindung muss eine SIP-Adresse haben. Diese sehen typischerweise wie folgt aus: sip:user@somewhere.com, oder sip:+41798765348@132.78.4.2. Weil für die SIP-Kommunikation zwingend SIP-Adressen benötigt werden, findet man diese in den Adressverzeichnissen, so zum Beispiel auch in Active Directory.

Die oben gezeigte Session stellt übrigens nur eine ganz einfache Verbindung über eine einzige Zwischenstelle (Hop) dar. Man kann sich leicht vorstellen, wie es aussehen würde, wenn die Verbindung nicht nur über eine einzige PBX geleitet wird, sondern wenn zehn oder noch mehr Netzwerkelemente dazwischenliegen.

Weitere SIP-Funktionen

SIP beinhaltet aber viel mehr als nur die im Beispiel gezeigten Meldungen. Zum Beispiel können mit zusätzlichen INVITE-Meldungen Verbindungen weitergeleitet oder Konferenzschaltungen aufgebaut werden, oder man kann damit die Anzeige auf den Displays der Apparate ändern (z.B. nach einer Weiterleitung). Die vollständige Beschreibung des Protokolls findet man in einem so genannten RFC (Request for Comments). Auf 269 Seiten werden alle Aspekte von SIP beleuchtet. Das Dokument beschreibt unter anderem alle Meldungen und Antworten im Detail, was sie tun und wann sie einzusetzen sind.

Das SIP Protokoll ist sehr mächtig und zugleich flexibel. (Sonst würde es wohl kaum so viele Seiten brauchen, um es zu beschreiben.) Teilweise kann man das Gleiche auf unterschiedliche Arten erreichen. Zum Beispiel kann die Display-Anzeige von Apparaten mit INVITE-Befehlen angepasst werden. Dasselbe kann man aber auch mit sogenannten REFER-Meldungen bewerkstelligen, und auch mit UPDATEs lässt sich das machen.

SIP-Dialekte

Diese Flexibilität ist zwar gut, bereitet aber oft auch Probleme, nämlich, weil nicht jeder Anbieter von SIP-Geräten alle Facetten vollständig implementiert hat. Wenn zum Beispiel das Gerät A Display-Anpassungen mittels REFERs vornimmt, das Gerät B aber nur die UPDATEs kennt, können sich die beiden nicht vollumfänglich verständigen, was im besten Fall zu kleineren Beeinträchtigungen führt, aber im schlechtesten Fall eine gegenseitige Kommunikation gänzlich verhindert. (In solchen Fällen braucht es oft zwischengeschaltete Geräte für die Übersetzung.) Deshalb spricht man in diesem Zusammenhang oft auch von SIP-Dialekten.


Trotzdem ist SIP ein in der Internet-Telefonie weit verbreitetes Protokoll, und einige grosse Telecom-Anbieter sind dabei, alle verbliebenen analogen (und auch ISDN) Anschlüsse nach SIP zu migrieren. Das würden sie wohl kaum tun, wenn sie die Vorteile dieses Protokolls nicht überzeugt hätten.

Das könnte Sie auch interessieren:

Blog_learn_more

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.