Registrieren Passwort vergessen?

Session Initiation Protocol

6. Nov 2008, 07:55
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 (IPv4, IPv6)
Netzzugang Ethernet Token
Bus
Token
Ring
FDDI
Standards: RFC 3261 (SIP, 2004)

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

Inhaltsverzeichnis

[Bearbeiten] 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 4566) 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 – 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.

[Bearbeiten] 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 durchdringt, aber auch andere Protokolle wie IAX (InterAsterisk eXchange). Durch den Einsatz des STUN-Protokolls wird die IP-Adresse und der Port ermittelt, mit dem die NAT-Firewall bzw. der NAT-Router nach außen (d.h. in das öffentliche Internet) geht. Eine deutlich einfachere Methode dieses Problem zu umgehen ist, dass der Proxyserver bzw. der gerufene Teilnehmer direkt auf die IP-Adresse und den verwendeten Port im IP-Header zurückgreift, wodurch der NAT-Mechanismus auch ohne STUN-Server wieder greift. 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. Zudem befindet sich IAX erst in der Standardisierungsphase.

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.

[Bearbeiten] 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

 

 

 

[Bearbeiten] Siehe auch

[Bearbeiten] Weblinks

Dieser Artikel ist eine Kopie aus der freien Enzyklopädie Wikipedia. Am Originalartikel kann jeder Korrekturen und Ergänzungen vornehmen. Zudem kann man frühere Versionen einsehen.
In Kooperation mit Lycos Europe Network