Session Description Protocol

This is used to:

  • specify things like the details of what transport connections are to be set up,
  • exchange the set of candidate IP addresses on which they can be reached, to set up the peer-to-peer connection.
  • specify the media formats they want to use.
    • Is it just audio? Or is it audio and video?
    • And which compression algorithms are to be used?
  • And they want to specify the timing of the session, and the security parameters, and all the other parameters.

SDP Offer/Answer

Interactive sessions require negotiation

  • An offer to communicate: lists codecs, options and addressing details, identity of caller
  • The answer subsets codecs and options to those mutually acceptable, supplies addressing details, and confirms willingness to communicate
  • ICE algorithm (→ Lecture 2) probes NAT bindings, establishes path
  • Audio and video data flows

Format

It’s essentially a set of key-value pairs, where the keys are all single letters, and the values are more complex, one key-value pair per line, with the key and the value separated by equals signs. And, as we see in the example:

  1. it starts with a version number, v=0.
  2. There’s an originator line, and it was originated by Jane Doe, who had IP address 10.47.16.5.
  3. It’s a seminar about session description protocol.
  4. It’s got the email address of Jane Doe, who set up the call,
  5. it’s got their IP address, the times that session is active,
  6. it’s receive only, it’s broadcast so that the listener just receives the data,
  7. it’s sending using audio and video media,
  8. it specifies the ports and some details of the video compression scheme, and so on.