Session Description Protocol
SDP (Session Description Protocol) | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Familie: | Internetprotokollfamilie | ||||||||||||||||||||||||
Einsatzgebiet: | Beschreibung von Multimedia-Sitzungen im Rahmen der Aushandlung von Medienformaten | ||||||||||||||||||||||||
| |||||||||||||||||||||||||
Standards: | RFC 4566 (2006) |
Mit dem Session Description Protocol (SDP, RFC 4566; 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).
SDP wurde als Standardprotokoll für die Medienaushandlung beim Aufbau von SIP-Verbindungen definiert.[1]
SDP-Inhalte
SDP-Inhalte bestehen aus mehreren Parametern, die in einfacher Syntax (<Parametertyp>=<Parameterwert>
) untereinander stehend angegeben werden.[2]
Sitzungsbeschreibung
- v = Protokollversion (aktuelle Versionsnummer ist "0"[2])
- 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 wesentliche 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.
Einzelnachweise
Literatur
- Ulrich Trick, Frank Weber: SIP, TCP/IP und Telekommunikationsnetze. 2. Auflage, Oldenbourg, 2005, ISBN 978-3-486-57796-9.