SDP (Session Description Protocol) 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.
Einzelnachweise
Kategorie:Internet-Anwendungsprotokoll