Session Description Protocol
| Familie: | Internetprotokollfamilie | ||||||||||||||||||||||||
| Einsatzgebiet: | Beschreibung von Multimedia-Sitzungen im Rahmen der Aushandlung von Medienformaten | ||||||||||||||||||||||||
| |||||||||||||||||||||||||
| Standards: | RFC 8866 (2021)[1] | ||||||||||||||||||||||||
Mit dem Session Description Protocol (SDP, RFC 8866;[1] deutsch: „Sitzungsbeschreibungsprotokoll“) werden Eigenschaften von Multimediadatenströmen beschrieben. Es dient dazu, Kommunikationssitzungen zu verwalten und wird z. B. zusammen mit SIP in der IP-Telefonie eingesetzt bei der Aushandlung von Codecs, Transportprotokollen und -adressen sowie zur Übertragung von Metadaten. SDP selbst bietet keinen eigenen Aushandlungsmechanismus, sondern nur eine Beschreibung der Datenströme (streams). Datensätze im SDP-Format können mit verschiedenen Transportprotokollen übertragen werden, z. B. auch mit dem Session Announcement Protocol (SAP, RFC 2974[2]).
SDP wurde als Standardprotokoll für die Medienaushandlung beim Aufbau von SIP-Verbindungen definiert.[3]
SDP-Inhalte
[Bearbeiten | Quelltext bearbeiten]SDP-Inhalte bestehen aus mehreren Parametern, die in einfacher Syntax (<Parametertyp>=<Parameterwert>) untereinander stehend angegeben werden.[4]
Sitzungsbeschreibung
[Bearbeiten | Quelltext bearbeiten]- v = Protokollversion (aktuelle Versionsnummer ist "0"[4])
- o = Ersteller der Session und Session-Identifizierung
- s = Name der Session
- ab hier optional:
- i = zusätzliche Session-Informationen
- u = URI, der auf zusätzliche Informationen zur Session verweist
- e = E-Mail-Adresse
- p = Telefonnummer
- c = Verbindungsinformation (wird nicht benötigt, wenn bei allen Medien angegeben)
- b = Information über die Datenübertragungsrate
- eine oder mehrere Zeitbeschreibungen (s. u., verpflichtend)
- z = Zeitzonenanpassungen
- k = Verschlüsselungsschlüssel (encryption key)
- a = Session-Attribute
- keine, eine oder mehrere Medienbeschreibungen (s. u.)
Zeitbeschreibungen
[Bearbeiten | Quelltext bearbeiten]- t = Zeit, in der die Session aktiv ist
- r = keine oder mehr Wiederholungen (optional)
Medienbeschreibung
[Bearbeiten | Quelltext bearbeiten]- ab hier optional:
- i = Titel des Mediums
- c = Verbindungsinformationen, wenn diese nicht in der Session definiert sind (s. o.)
- b = Informationen zur Datenübertragungsrate
- k = Verschlüsselungsschlüssel (encryption key)
- a = Medienattribute.
SDP-Beispiel
[Bearbeiten | Quelltext bearbeiten]Anhand eines beispielhaften SDP-Teils einer SIP-Verbindungsnachricht werden die wesentlichen SDP-Parameter erläutert:
v=0 o=Alice 1234 1234 IN IP4 host.provider1.com s=Video von 987654 c=IN IP4 host.provider2.com t=0 0 m=audio 20000 RTP/AVP 97 a=rtpmap:97 iLBC/8000 a=fmtp:97 mode=30 m=video 20002 RTP/AVP 31 a=rtpmap:31 H261/90000
Sitzungsinitiator "Alice" bietet dem Empfänger von "host.provider2.com" ausgehend die Sitzungsnummer 1234 an (erste Zahl); die zweite Zahl (auch 1234) ist die Sitzungsversionsnummer, die sich bei jeder Änderung während der Sitzung erhöht. Die Sitzung soll zwei Datenströme (m=) übertragen, die beide mit dem Transportprotokoll RTP versendet werden:
- der eine Datenstrom ist ein Audiostrom im Format iLBC (97) an Port 20000
- der andere ein Videodatenstrom im Format H.261 (31) an Port 20002.
Die Attribute (a=) der jeweiligen Datenströme beschreiben Formatparameter, der mit der Nummer 97 hat den Namen iLBC und eine Abtastrate von 8 kHz.
RFC 4317 enthält mehrere ausführliche Beispiele, wie eine Medienaushandlung mittels SDP aussehen könnte.[5]
Literatur
[Bearbeiten | Quelltext bearbeiten]- Ulrich Trick, Frank Weber: SIP, TCP/IP und Telekommunikationsnetze. 2. Auflage. Oldenbourg, 2005, ISBN 3-486-57796-4.
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ a b RFC: – SDP: Session Description Protocol. Januar 2021 (löst ab, englisch).
- ↑ RFC: – Session Announcement Protocol. Oktober 2000 (englisch).
- ↑ RFC: – SIP: Session Initiation Protocol. Juni 2002, Abschnitt 2 (englisch).
- ↑ a b M. Handley, V. Jacobson, C. Perkins: RFC: – SDP: Session Description Protocol. Juli 2006 (englisch).
- ↑ RFC: – Session Description Protocol (SDP) Offer/Answer Examples. Dezember 2005 (englisch).