Session Description Protocol

SDP (Session Description Protocol)
Familie:Internetprotokollfamilie
Einsatzgebiet:Beschreibung von Multimedia-Sitzungen im Rahmen der Aushandlung von Medienformaten
SDP im TCP/IP-Protokollstapel:
AnwendungSDP
TransportTCP
InternetIP (IPv4, IPv6)
NetzzugangEthernetToken
Bus
Token
Ring
FDDI
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 beispielsweise zusammen mit SIP in der IP-Telefonie bei der Aushandlung von Codecs, Transportprotokollen und -adressen und zur Übertragung von Metadaten eingesetzt. 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

SDP-Inhalte bestehen aus mehreren Parametern, die in einfacher Syntax (<Parametertyp>=<Parameterwert>) untereinander stehend angegeben werden.[4]

Sitzungsbeschreibung

  • v = Protokollversion (aktuelle Versionsnummer ist "0"[4])
  • o = Ersteller der Session und Session-Identifizierung
  • s = Name der Session
  • i = zusätzliche Session-Informationen (optional)
  • u = URI der auf zusätzliche Informationen zur Session verweist (optional)
  • e = E-Mail-Adresse (optional)
  • p = Telefonnummer (optional)
  • c = Verbindungsinformation (wird nicht benötigt, wenn bei allen Medien angegeben, optional)
  • b = Information über die Datenübertragungsrate (optional)
  • Eine oder mehrere Zeitbeschreibungen (s. u.)
  • z = Zeitzonenanpassungen (optional)
  • k = Verschlüsselungsschlüssel (encryption key) (optional)
  • a = keine oder mehr Session-Attribute (optional)
  • Keine oder mehr 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
  • i = Titel des Mediums (optional)
  • c = Verbindungsinformationen, wenn diese nicht in der Session definiert sind (s. o., optional)
  • b = keine oder mehr Informationen zur Datenübertragungsrate (optional)
  • k = Verschlüsselungsschlüssel ("encryption key", optional)
  • a = keine oder mehr Medienattribute (optional)

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

  • Ulrich Trick, Frank Weber: SIP, TCP/IP und Telekommunikationsnetze. 2. Auflage. Oldenbourg, 2005, ISBN 3-486-57796-4.

Einzelnachweise

  1. a b RFC8866 – SDP: Session Description Protocol. Januar 2021 (löst RFC 4566 ab, englisch).
  2. RFC2974 – Session Announcement Protocol. Oktober 2000 (englisch).
  3. RFC3261 – SIP: Session Initiation Protocol. Juni 2002, Abschnitt 2 (englisch).
  4. a b M. Handley, V. Jacobson, C. Perkins: RFC4566 – SDP: Session Description Protocol. Juli 2006 (englisch).
  5. RFC4317 – Session Description Protocol (SDP) Offer/Answer Examples. Dezember 2005 (englisch).