Das Kefk Network Wiki befindet sich im Testbetrieb.


Session Initiation Protocol

Aus Kefk.

Wechseln zu: Navigation, Suche
SIP (Session Initiation Protocol)
Familie: Internetprotokollfamilie
Einsatzgebiet: Verwaltung von Streaming-Sitzungen
Port: 5060
5061 (Verschlüsselung)
SIP im TCP/IP-Protokollstapel:
Anwendung SIP
Transport UDP TCP
Internet IP
Netzwerk Ethernet Token
Ring
FDDI ...
Wikipedia
Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort Session_Initiation_Protocol, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation.
Standards:

RFC 2543 (Session Initiation Protocol, 1999)
RFC 3261 (Session Initiation Protocol, 2004)

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.

Inhaltsverzeichnis

Funktionsweise

Im Gegensatz zu H.323, das von der ITU-T stammt, wurde SIP von der IETF entwickelt. Das Design des SIP lehnt sich an das Hypertext Transfer Protokoll an, ist zu diesem aber nicht kompatibel.

SIP kann benutzt werden, 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 über eine SIP-Adresse die aktuelle IP-Adresse eines Teilnehmers 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 Kommunikationsmodalitäten zu vereinbaren bzw. auszuhandeln – 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 ähnelt stark 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.

Bild: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. Da SIP-Server verteilt sind, betrifft ein 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 Verfahren 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 einer 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.

Beispiele

So könnte ein SIP-Request aussehen:    Und so eine SIP-Response:
Startzeile INVITE sip:8495302002@192.168.2.25 SIP/2.0
Header Via: SIP/2.0/UDP 192.168.3.250:5060; branch=1

From: sip:8495305005@192.168.2.25;tag=29ae1249

Max-Forwards: 70

To: sip:8495302002@192.168.2.25

Call-ID: 48c7df2a9b4@myvoip1

Cseq: 1 INVITE

Contact: sip:8495305005@192.168.3.250

Content-Length: 202

Supported: 100rel

Content-Type: application/sdp

Leerzeile
Body v=0

o=Anonymous 1234567890 1234567890 IN IP4 192.168.3.250

s=SIGMA is the best

c=IN IP4 192.168.3.250

t=0 0

m=audio 6006 RTP/AVP 8 3 0

a=rtpmap:8 PCMA/8000

a=rtpmap:3 GSM/8000

a=rtpmap:0 PCMU/8000

  
Startzeile SIP/2.0 200 OK
Header Via: SIP/2.0/UDP 192.168.2.25:5060;branch=z5K8DSbCGCL8593033654

From: sip:8495305005@192.168.2.25;tag=6248550609-457625817474016

To: <sip:8495302002@192.168.3.251;user=phone>;tag=2e679cbc

Call-ID: 6248550609-781762546450147

Cseq: 15 INVITE

Contact: sip:8495302002@192.168.3.251

Content-Length: 191

Content-Type: application/sdp

Leerzeile
Body v=0

Anonymous 1234567890 7894561230 IN IP4 192.168.3.251

s=SIGMA is the best

c=IN IP4 192.168.3.251

t=0 0

m=audio 6006 RTP/AVP 8 0

a=rtpmap:8 PCMA/8000

a=rtpmap:0 PCMU/8000

 

 

 

Siehe auch

Weblinks

Wikipedia
Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort Session_Initiation_Protocol, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation.
Persönliche Werkzeuge