| Familie: | Internetprotokollfamilie | ||||||||||||||||||||||||
| Einsatzgebiet: | Beschreibung von Multimedia-Sitzungen im Rahmen der Aushandlung von Medienformaten | ||||||||||||||||||||||||
| |||||||||||||||||||||||||
| Standards: | RFC 8866 (2021) | ||||||||||||||||||||||||
Mit dem Session Description Protocol (SDP, RFC 8866; 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).
SDP wurde als Standardprotokoll für die Medienaushandlung beim Aufbau von SIP-Verbindungen definiert.
SDP-Inhalte
SDP-Inhalte bestehen aus mehreren Parametern, die in einfacher Syntax (<Parametertyp>=<Parameterwert>) untereinander stehend angegeben werden.
Sitzungsbeschreibung
- v = Protokollversion (aktuelle Versionsnummer ist "0")
- 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
- t = Zeit, in der die Session aktiv ist
- r = keine oder mehr Wiederholungen (optional)
Medienbeschreibung
- m = Medientyp, Port und Protokoll für den Medientransport sowie die Medienformate
- 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
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.
Literatur
- Ulrich Trick, Frank Weber: SIP, TCP/IP und Telekommunikationsnetze. 2. Auflage. Oldenbourg, 2005, ISBN 3-486-57796-4.
wikipedia, wiki, enzyklopädie, buch, bibliothek, artikel, lesen, kostenlos herunterladen, Informationen über Session Description Protocol, Was ist Session Description Protocol? Was bedeutet Session Description Protocol?