article

Das Session Initiation Protocol (SIP) ist ein Netzprotokoll zum Aufbau einer Kommunikationssitzung zwischen zwei und mehr Teilnehmern. Das Protokoll wird im RFC 3261 (früher RFC 2543) spezifiziert. In der IP-Telefonie ist das SIP ein häufig angewandtes Protokoll.

Funktionsweise


Im Gegensatz zu H.323, das von der ITU-T stammt, wurde SIP mit Blick auf das Internet von der IETF entwickelt und orientiert sich an der Architektur gängiger Internet-Anwendungen. Dabei wurde von Beginn an auf leichte Implementierbarkeit, Skalierbarkeit, Erweiterbarkeit und Flexibilität geachtet.

Benutzt werden kann SIP, um beliebige Sessions mit einem oder mehreren Teilnehmern zu verwalten. Dabei ist es nicht auf Internet-Telefonie beschränkt, sondern Sessions können beliebige Multimediaströme, Konferenzen, Computerspiele usw. sein.

Da durch eine SIP-Adresse die aktuelle IP-Adresse eines Teilnehmer ermittelt werden kann, bietet sich auch die Möglichkeit, dass man in Zukunft über eine Adresse erreichbar sein wird, die dann sowohl für E-Mail als auch Telefonie verwendet werden kann. Um jedoch ein Internet-Telefonat zu führen, braucht man mehr als nur SIP. SIP dient lediglich dazu, die Kommunikation zu ermöglichen – die eigentlichen Daten für die Kommunikation müssen über andere, dafür geeignete Protokolle ausgetauscht werden. Hierzu werden das Session Description Protocol (SDP, RFC 2327) und das Realtime Transport Protocol (RTP, RFC 3550) eingesetzt. SDP dient dazu, die zwischen den Endpunkten zu verwendenden Codecs, Transportprotokolle usw. auszuhandeln. Aufgabe von RTP ist es, den Multimedia-Datenstrom (Audio, Video, Text usw.) zu transportieren, d.h. die gemäß Codec kodierten und komprimierten Daten zu paketieren und über UDP zu versenden.

SIP basiert unter anderem auf dem HTTP-Protokoll – es verwendet eine ähnliche Header-Struktur und ist ebenfalls ein textbasiertes Protokoll. Zur Schreibweise der Teilnehmeradressen wird das von E-Mail bekannte URI-Format benutzt: "sip:user@domain". Ein weiterer Adressmechanismus ist die tel URI die in RFC 2806 beschrieben ist. Bsp: "tel:+49-69-1234567". Diese kann bei Bedarf in eine SIP URI gewandelt werden Bsp: "sip:+49-69-1234567@domain".

Unterstützung findet SIP bereits in vielen Geräten diverser Hersteller und es scheint sich zum Standard-Protokoll für Voice over IP (VoIP) zu entwickeln. SIP wurde auch vom 3rd Generation Partnership Project (3GPP) als Protokoll für Multimediaunterstützung im 3G-Mobilfunk (UMTS) ausgewählt. Auch die Spezifizierung des Next Generation Network (NGN) bei dem European Telecommunications Standards Institute (ETSI) Projektgruppe Telecommunications and Internet converged Services and Protocols for Advanced Networking (TISPAN) stützt sich auf SIP.

SIP signaling.png

Vor- und Nachteile


Zu den Vorteilen von SIP gehört, dass es sich hierbei um einen offenen Standard handelt, der mittlerweile sehr weite Verbreitung gefunden hat, im Gegensatz zu Skype, welches ein geschlossenes und proprietäres System darstellt. Bei Skype gibt es mit dem zentralen Anmeldeserver der Skyper Ltd. einen "single-point-of-failure". Sollte ein DDoS Angriff gegen diesen Server stattfinden, können keine Verbindungen mehr im Skype-Netz aufgebaut werden. Da SIP-Server verteilt sind, betrifft ein solcher Angriff nur den jeweiligen Anbieter und nicht die gesamte über SIP vermittelte Telefonie. Ein weiterer Vorteil von SIP ist die Möglichkeit, eine bereits etablierte Sitzung modifizieren zu können. Dazu wird einfach innerhalb der Sitzung eine weitere INVITE-Message mit den neuen SDP-Sitzungseigenschaften an die Gegenseite gesendet. Somit kann ein neues Medium hinzugefügt oder ein bestehendes Medium modifiziert bzw. entfernt werden. Die entsprechende Nachricht wird auch als Re-INVITE Request bezeichnet.

Ein Nachteil von SIP ist, dass es zur Übertragung der Sprachdaten auf RTP zurückgreift. Die dafür verwendeten UDP-Ports werden dynamisch vergeben, was die Verwendung von SIP in Verbindung mit Firewalls oder Network Address Translation (NAT, RFC 2663) schwierig macht, da die meisten Firewalls bzw. NAT-Router die dynamisch vergebenen Ports nicht der Signalisierungsverbindung zuordnen können. Abhilfe für dieses Problem schafft der Einsatz von STUN (Simple Traversal of UDP over NATs), welches NAT-Router erkennt und penetriert, aber auch andere Protokolle wie IAX (InterAsterisk eXchange). IAX kombiniert Signalisierung und Mediendaten auf einer UDP-Verbindung. Wie H.323 ist IAX ein binäres Protokoll, weshalb die Fehlerbehebung schwieriger als bei SIP ist. Außerdem ist IAX nicht standardisiert und nur schlecht dokumentiert.

Ein neueres Protokoll der IETF zur Lösung des NAT-Traversal-Problems stellt Interactive Connectivity Establishment (ICE) dar, welches schon von einigen SIP-Clients unterstützt wird, und meist per Firmware-Upgrade installiert werden kann.

Eine weitere Lösung für das NAT-Traversal-Problem stellen sogenannte Application Layer Gateways (ALG) dar. Diese sind zwischengeschaltete SIP-Proxys, die auf einem NAT-Router bzw. einer Firewall installiert, für reibungslosen Transfer der SIP-Signalisierung und -Medienströme sorgen. Ein ALG kann bei SIP-Telefonaten automatisch für die Öffnung der notwendigen Ports auf Firewall sorgen und RTP-Medienströme mit DiffServ-Bits markieren, wodurch diese mit höherer Priorität über das Internet transportiert werden können.

Weiterhin lassen sich viele Dienste, die aus der klassischen Telefonie bekannt sind, nicht direkt mit dem SIP-Protokoll abbilden. Sie sind als Erweiterungen zum SIP-Protokoll definiert. Hersteller von SIP-Lösungen (Hard- und Softphones, Vermittlungstechnik und SIP-Firewalls) implementieren in der Regel nur einen Teil aller dieser Erweiterungen, so dass nicht immer alle Dienste mit jedem Endgerät unterstützt werden können.

Eine dieser Erweiterungen ist SIP for Business SIP-B, welches viele vermittlungstechnische Leistungsmerkmale der klassischen Nebenstellentechnik auch mit SIP ermöglicht. Selbst Dienste wie die Chef-Sekretärs-Funktion sind mit SIP-B möglich. Bei klassischen Nebenstellen sind diese Dienste über proprietäre Protokolle implementiert, so dass man spezielle Systemtelefone kaufen muss, die genau zu der verwendeten Nebenstelle passen. Beim Wechsel zu einer SIP-basierten Nebenstelle benötigt man zwar keine solchen Systemtelefone mehr, muss aber stattdessen darauf achten, dass die verwendeten SIP-Telefone SIP-B unterstützen, was derzeit nur bei sehr wenigen Modellen der Fall ist.

Die Early-Dial-Funktionalität von SIP, über die Nachricht 484 - Incomplete Address implementiert, schickt bei jedem Tastendruck eine INVITE-Message an den Server, solange bis die eingegebene Adresse bzw. Nummer von diesem aufgelöst werden kann. Noch unterstützen nicht alle SIP-Clients und -Server diese Funktion.

Siehe auch


Weblinks


Netzwerkprotokoll | VoIP

SIP | Session Initiation Protocol | Session Initiation Protocol | Session Initiation Protocol | SIP | Session Initiation Protocol | Session Initiation Protocol | Session Initiation Protocol | Session Initiation Protocol | Session Initiation Protocol | Session Initiation Protocol | SIP | Session Initiation Protocol | SIP | 会话发起协议

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Session Initiation Protocol".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld