Movatterモバイル変換


[0]ホーム

URL:


Zum Inhalt springen
WikipediaDie freie Enzyklopädie
Suche

Session Initiation Protocol

aus Wikipedia, der freien Enzyklopädie
SIP (Session Initiation Protocol)
Familie:Internetprotokollfamilie
Einsatzgebiet:Verwaltung von Streaming-Sitzungen
Port:5060
5061 (TLS-Verschlüsselung)
SIP imTCP/IP-Protokollstapel:
AnwendungSIP
TransportUDPTCP
InternetIP (IPv4,IPv6)
NetzzugangEthernetToken
Bus
Token
Ring
FDDI
Standards:RFC 3261 (SIP, 2004)[1]

DasSession Initiation Protocol (SIP) (engl. fürSitzungs-Initiierungs-Protokoll oder auchEinleitungs-Protokoll) ist einNetzprotokoll zum Aufbau, zur Steuerung und zum Abbau einerKommunikationssitzung zwischen zwei und mehr Teilnehmern. Das Protokoll wird u. a. im RFC 3261[1]spezifiziert und häufig in derIP-Telefonie angewandt.

Funktionsweise

[Bearbeiten |Quelltext bearbeiten]

Konkurrent H.323

[Bearbeiten |Quelltext bearbeiten]

Im Gegensatz zu H.323, das von der ITU-T stammt, wurde SIP von der IETF entwickelt. H.323 kann stark vereinfacht als ISDN over IP bezeichnet werden. Dies erlaubte zwar insbesondere denTelefonanlagenherstellern, vergleichsweise schnell und einfach die Kommunikation auf IP-Netzwerke umzustellen, andererseits wurden die Stärken und Schwächen dieser Netze nicht genügend berücksichtigt. Augenscheinlich wird dies insbesondere im Zusammenhang mit NAT, der vor allem beiFirewalls undEndkundennetzen (z. B.DSL-Routern) notwendigen Übersetzung vonNetzwerkadressen, welche bei H.323 nur mit viel Aufwand erreicht werden kann.

Design

[Bearbeiten |Quelltext bearbeiten]

Das Design des SIP dagegen lehnt sich an dasHypertext Transfer Protocol an (ist zu diesem abernichtkompatibel) und ist deutlich besser für IP-Netze geeignet.

Der Aufbau von SIP erlaubt es, auf einfache Weise neueErweiterungen einzufügen, ohne dass alle involviertenGeräte diese verstehen müssen.

Auch ist es allgemeiner gehalten: Während H.323 nur für Telefonie gedacht ist, können mit SIP Sitzungen beliebiger Art verwaltet werden. Die „Nutzlast“ der Sitzung, also die eigentlichen zu übertragendenDatenströme, können alle Ströme sein, die sich über ein Netzwerk übertragen lassen. Das Haupteinsatzgebiet findet sich in der Audio- und Video-Übertragung, einigeOnline-Spiele greifen zur Verwaltung der Übertragung ebenfalls auf SIP zurück.[2]

Eingebettetes SDP

[Bearbeiten |Quelltext bearbeiten]

Um einInternet-Telefonat zu führen, braucht man mehr als nur SIP, denn es dient lediglich dazu, die Bedingungen für dieVerbindung zu vereinbaren bzw. auszuhandeln – die eigentlichen Daten für die Kommunikation müssen über andere, dafür geeignete Protokolle ausgetauscht werden. Hierzu wird in SIP häufig dasSession Description Protocol eingebettet (SDP, RFC 4566,[3] die Übersetzung aus demEnglischen „Sitzungs-Beschreibungs-Protokoll“ ist nicht gebräuchlich). Dabei teilen sich die Geräte gegenseitig mit, welche Methoden der Video- und Audio-Übertragung sie beherrschen (dieCodecs), mit welchem Protokoll sie das tun möchten und an welcherNetzadresse sie senden und empfangen wollen. Diese Medien-Aushandlung ist also kein direkter Bestandteil von SIP, sondern wird durch die Einbettung eines weiteren Protokolls erreicht.

RTP

[Bearbeiten |Quelltext bearbeiten]

Für die Medienübertragung wird bei der Internet-Telefonie dasReal-Time Transport Protocol (RTP, deutschEchtzeit-Transportprotokoll, RFC 3550[4]) verwendet.

Stack

[Bearbeiten |Quelltext bearbeiten]

DerProtokollstack stellt sich also wie folgt dar:

  • SIP handelt die Sitzung aus
  • das eingebettete SDP handelt die Medien-Details aus
  • RTP ist dann dasjenige Protokoll, welches letztendlich die Video- und Audio-Ströme überträgt.

Teilnehmer-Adressen

[Bearbeiten |Quelltext bearbeiten]

Teilnehmer-Adressen werden im URI-Format geschrieben, welches auch in E-Mails und WWW-Adressen verwendet wird. Solch eine Teilnehmer-Adresse folgt meist einem der folgenden dreiSchemata:

  • Unverschlüsselte SIP-Verbindung:sip:user@domain.
  • Verschlüsselte SIP-Verbindung:sips:user@domain (s. u.).
  • Telefonnummer:tel:nummer, zum Beispieltel:+49-69-1234567. Dieses Schema wird vor allem von Geräten verwendet, die eine Schnittstelle in das „normale“Telefonnetz bereitstellen und kann bei Bedarf in eine SIP-URI gewandelt werden, z. B. insip:+49-69-1234567@domain.

Verschlüsselung und Sicherheit

[Bearbeiten |Quelltext bearbeiten]

Durch die Trennung von Sitzung und Medien können beideDatenströme auch unabhängig voneinanderverschlüsselt werden. Man kann SIP über dasTLS-Protokoll, auch SIPS genannt, verschlüsseln und den Medienstrom (Sprachdaten) ebenfalls über dasSRTP. Jede Kombination davon ist möglich, allerdings in Hinsicht auf eine sichere Verschlüsselung nicht sinnvoll.

Zwecks einer sicheren Verschlüsselung müssen beide Datenströme (also Sitzung und Medien) gleichzeitig verschlüsselt werden.

  • DiesymmetrischenSchlüssel des Medienstroms werden über SDP (also SIP)ausgetauscht und wären damit über ein unverschlüsseltes SIP angreifbar.
  • Die symmetrischen Schlüssel von TLS werden zwar am Anfang der Sitzung auch ausgetauscht, jedoch greifen hier die Mechanismen derTLS-Zertifikate, bei denen die symmetrischen Schlüssel wiederum durch dieasymmetrischen Schlüssel der TLS-Zertifikate verschlüsselt sind.

Da bei SIP eine Übertragung über ein verbindungsloses Netzwerkprotokoll sinnvoller ist, wurde mit DTLS ein auf UDP basierendesPendant zu TLS entworfen, welches auf TCP aufbaut. Allerdings wird es gegenwärtig nur von einem SIP-Stack (nämlich von ReSIProcate)implementiert.

Netzwerk-Elemente

[Bearbeiten |Quelltext bearbeiten]

User Agent

[Bearbeiten |Quelltext bearbeiten]

DerUser Agent (UA) ist eineSchnittstelle zum Benutzer, die Inhalte darstellt und Befehle entgegennimmt. Auch ein SIP-Telefon ist ein SIP User Agent, der die traditionellen Ruffunktionen eines Telefons wie Zifferneingabe, Annehmen, Abweisen und Halten bietet.

Proxy Server

[Bearbeiten |Quelltext bearbeiten]
Anruffluss durch Redirect Server und Proxy

EinProxy Server ist eine Kommunikationsschnittstelle in einemNetzwerk. Er arbeitet alsVermittler, der auf der einen Seite Anfragen entgegennimmt, um dann über seine eigene Adresse eine Verbindung zu einer anderen Seite herzustellen. Er soll sicherzustellen, dass Anfragen gezielt an den Benutzer gesendet werden. Proxys sind auch für die Durchsetzung derHierarchie nötig.

Redirect Server

[Bearbeiten |Quelltext bearbeiten]

Der Redirect Server entlastet den Proxy Server. Er übergibt die Routing-Informationen direkt an den User Agent Client. Er erzeugtWeiterleitungen, um eingehende Anträge in einer alternativen Gruppe von URIs kontaktieren zu können. Der Redirect Server ermöglicht es, SIP-Session-Einladungen an externe Domänen zu übermitteln.

Registrar Server

[Bearbeiten |Quelltext bearbeiten]
SIP UA-Registrierung auf SIP-Registrar mit Authentifizierung durch Login

Der Registrar Server dient als zentrale Schaltstelle in derSystemarchitektur von SIP. Er übernimmt das Registrieren von Anfragen für dieDomain, die er verarbeitet. Er bearbeitet eine oder mehrereIP-Adressen zu einer bestimmten SIP-URI, die durch das SIP-Protokoll übermittelt werden.

Session Border Controller

[Bearbeiten |Quelltext bearbeiten]

EinSession Border Controller ist eineNetzwerkkomponente zur sicheren Kopplung vonRechnernetzen mit unterschiedlichen Sicherheitsanforderungen. Er dient als mittlerer Knoten zwischen User Agent und SIP-Server für verschiedene Arten von Funktionen, einschließlich der Unterstützung derNetwork Address Translation (NAT).

Gateway

[Bearbeiten |Quelltext bearbeiten]

EinGateway kann als Schnittstelle ein SIP-Netz mit anderen Netzen verbinden, die unterschiedliche Protokolle oder Technologien verwenden, z. B. mit dem öffentlichenFernsprechnetz.

B2BUA

[Bearbeiten |Quelltext bearbeiten]
Einrichtung einer Verbindung mit dem B2BUA

B2BUA - (auf Englisch Back-to-Back-User-Agent, wörtlich: der User-Agent "Rücken an Rücken") ist eineMiddleware sowohl im SIP- als auch imRTP-Datenstrom. Gegenüber SIP-Clients verhält sich ein B2BUA wie ein User-Agent-Server auf der einen Seite der Verbindung und wie ein User-Agent-Client auf der anderen. Sinn ist es, die Datenströme manipulieren zu können.Der B2BUA wird im RFC 3261[1] spezifiziert.

Beispiele für die Anwendung:

  • Gesprächsmanagement (u. a.Abrechnung, Anrufweiterleitung, automatische Abschaltung)
  • Paarung unterschiedlicher Netzwerke (insbesondere die verschiedenen Dialekte der Protokolle anzupassen, je nach Hersteller)
  • Ausblenden derNetzwerkstruktur (u. a. private Adressen,Netzwerktopologie).

Grundsätzlich lässt sich ein B2BUA zu einem Proxy mit integriertem Mediagateway ausbauen.

SIP-Nachrichten

[Bearbeiten |Quelltext bearbeiten]

Die an einer SIP-Session beteiligten Clients und Server senden sich Anfragen (englisch „requests“) und beantworten diese mittels Antwort-Codes (englisch „responses“).

SIP-Anfragen

[Bearbeiten |Quelltext bearbeiten]
Hauptartikel:SIP-Anfragen

RFC 3261[1] definiert sechs Anfragen: REGISTER, INVITE, ACK, CANCEL, BYE und OPTIONS.

SIP-Status-Codes

[Bearbeiten |Quelltext bearbeiten]
Hauptartikel:SIP-Status-Codes
1xx – Provisional
Vorläufige Statusinformationen, dass der Server weitere Aktionen durchführt und deshalb noch keine endgültige Antwort senden kann.
2xx – Successful
Die Anfrage war erfolgreich.
3xx – Redirection
Diese Nachrichten informieren über eine neue Kontaktadresse des Angerufenen oder über andere Dienste, die es ermöglichen die Verbindung erfolgreich aufzubauen.
4xx – Request Failures
Die vorangegangene Nachricht konnte nicht bearbeitet werden.
5xx – Server Failures
Ein an der Übermittlung beteiligter Server konnte eine Nachricht nicht bearbeiten.
6xx – Global Failures
Der Server wurde zwar erfolgreich kontaktiert, jedoch kommt dieTransaktion nicht zustande.

Verbreitung

[Bearbeiten |Quelltext bearbeiten]

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

Vor- und Nachteile

[Bearbeiten |Quelltext bearbeiten]

Zu den Vorteilen von SIP gehört, dass es sich hierbei um einenoffenen Standard handelt, der mittlerweile sehr weite Verbreitung gefunden hat.

Da SIP-Serververteilt sind, betrifft einAngriff 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 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 alsRe-INVITE Request bezeichnet.

Die Trennung von Sitzungs- und Medienaushandlung ist ein weiterer Vorteil von SIP, da sie eine große Flexibilität bei der unterstütztenNutzlast erlaubt: möchte z. B. ein Hersteller SIP für eine spezialisierteAnwendung verwenden, so kann er dafür eine eigene Medienaushandlung entwerfen, falls dafür noch kein Protokoll existiert.

NAT-Traversal

[Bearbeiten |Quelltext bearbeiten]

Ein Nachteil von SIP ist, dass es zur Übertragung der Sprachdaten aufRTP zurückgreift. Die dafür verwendetenUDP-Ports werden dynamisch vergeben, was die Verwendung von SIP in Verbindung mitFirewalls oderNetwork Address Translation (NAT, RFC 2663[5]) 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 (Session Traversal Utilities for NAT), welches NAT-Router erkennt und durchdringt, aber auch andere Protokolle wieIAX (InterAsterisk eXchange). Durch den Einsatz des STUN-Protokolls werden 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 derIETF zur Lösung des NAT-Traversal-Problems stelltInteractive Connectivity Establishment (ICE) dar, welches schon von einigen SIP-Clients unterstützt wird und meist perFirmware-Upgrade installiert werden kann.

Eine weitere Technik zum NAT-Traversal stellen sogenannteApplication 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 sollen. Ein ALG kann bei SIP-Telefonaten automatisch für die Öffnung der notwendigen Ports auf einer Firewall sorgen sowieRTP-Medienströme mitDiffServ-Bits markieren, wodurch die Medien-Pakete mit höherer Priorität über IP-Netze transportiert werden können, wenn ein Netz dieses unterstützt. Das Internet bietet grundsätzlich keine Priorisierung, sieheNetzneutralität. In der Praxis werden die Pakete jedoch meist an eine nicht dafür vorgesehene IP-Adresse geliefert (an den Server resp. Proxy anstatt an das dafür vorgesehene Endgerät), weshalb in vielen Konfigurationen und als Vorgabe von vielen VoIP-Anbietern SIP-ALG abzuschalten ist, um überhaupt Verbindungen herstellen zu können.

Bei der Nutzung von IPv6 als Transportprotokoll entfällt in der Regel NAT und damit auch die Notwendigkeit die NAT-typischen Probleme zu umschiffen. Lediglich die Problematik der Firewall bleibt identisch.

Beispiele

[Bearbeiten |Quelltext bearbeiten]
So könnte einSIP-Request aussehen: Und so eineSIP-Response:
StartzeileINVITE sip:8495302002@192.168.2.25 SIP/2.0
HeaderVia: 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 (SDP)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

 
StartzeileSIP/2.0 200 OK
HeaderVia: 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 (SDP)v=0

o=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

[Bearbeiten |Quelltext bearbeiten]

Spezifikationen

[Bearbeiten |Quelltext bearbeiten]
  • RFC:2543 –SIP. (veraltete Version, englisch).
  • RFC:3261 –SIP: Session Initiation Protocol. Juni 2002 (aktuell, englisch).
  • RFC:3265 –Session Initiation Protocol (SIP) – Specific Event Notification. Juni 2002 (Erweiterung, englisch).
  • RFC:3515 –SIP Update: SIP Refer Method. (englisch).
  • RFC:3665 –SIP Basic Call Flow Examples. (englisch).
  • RFC:3581 –SIP Update: Symmetric Response Routing. (englisch).
  • RFC:3853 –SIP Update: Benutzung von AES statt 3DES. (englisch).
  • RFC:4320 –SIP Update: Issues with the SIP Non-INVITE Transaction. (englisch).
  • RFC:4916 –Connected Identity in the Session Initiation Protocol. (englisch).

Literatur

[Bearbeiten |Quelltext bearbeiten]
  • Ulrich Trick, Frank Weber:SIP und Telekommunikationsnetze. Next Generation Networks und Multimedia over IP - konkret. De Gruyter Oldenbourg, 2015,ISBN 978-3-486-77853-3.

Weblinks

[Bearbeiten |Quelltext bearbeiten]

Einzelnachweise

[Bearbeiten |Quelltext bearbeiten]
  1. abcdRFC:3261 –SIP: Session Initiation Protocol. Juni 2002 (englisch).
  2. Aameek Singh, Arup Acharya:Using Session Initiation Protocol to build Context-Aware VoIP Support for Multiplayer Networked Games. (PDF; 277 kB) conferences.sigcomm.org
  3. RFC:4566 –SDP: Session Description Protocol. Juli 2006 (englisch).
  4. RFC:3550 –RTP: A Transport Protocol for Real-Time Applications. Juli 2003 (englisch).
  5. RFC:2663 –IP Network Address Translator (NAT) Terminology and Considerations. August 1999 (englisch).
Abgerufen von „https://de.wikipedia.org/w/index.php?title=Session_Initiation_Protocol&oldid=263114590
Kategorien:

[8]ページ先頭

©2009-2026 Movatter.jp