Sunteți pe pagina 1din 15

AARNet Copyright 2011

SDP Deep Dive



Network Operations
Bill Efthimiou
APAN33 SIP workshop
February 2012
AARNet Copyright 2011

Agenda

1.  Overview

2.  Protocol Structure

3.  Media Negotiation

22
AARNet Copyright 2011

Overview

•  RFC 4566.

•  When initiating multimedia sessions, there is a requirement to convey media details;
transport addresses, and other session description metadata to the participants.

•  The purpose of SDP is to provide a structure to convey information about media
streams in multimedia sessions to allow the recipients of a session description to
participate in the session.

•  SDP is purely a format for session description.

•  SDP must be used in conjuction with other protocols such as SIP. SIP carries SDP
information within the SIP message body.

3
AARNet Copyright 2011

Overview - why bother with SDP?

Why is it important for us to understand SDP?



•  To understand the media negotiation mechanism.

•  Because of media (codec) interoperability. An understanding of SDP helps us understand
interoperability issues and often where and what to look for when troubleshooting.

•  When negotiating video codecs the process gets a little more complicated.

•  To understand common NAT Traversal issues with multimedia signalling.

44
AARNet Copyright 2011

NAPT – SIP REGISTER

SIP REGISTER message across a NAPT firewall



AARNet Copyright 2011

NAPT – SIP INVITE

SIP INVITE message across a NAPT firewall



AARNet Copyright 2011

Protocol Structure

•  Similar to SIP, SDP is a text based protocol.



•  An SDP session description is denoted by the message body content media type
“application/sdp”.

7
AARNet Copyright 2011

Protocol Structure

•  Similar to SIP, SDP is a text based protocol.



•  An SDP session description is denoted by the message body content media type
“application/sdp”.

•  An SDP session description consists of a number of lines of text of the form:

<type>=<value>

where <type> MUST be exactly one case-significant character and <value> is
structured text whose format depends on <type>.

8
AARNet Copyright 2011

Protocol Structure (cont-2)

•  In general, <value> is either a number of fields delimited by a single space character


or a free format string, and is case-sensitive unless a specific field defines otherwise.

•  SDP consists of a session- level section followed by zero or more media-level
sections.

•  The session-level section continues until the first occurrence of the media
description field (m=). Each subsequent occurrence of the media description field
marks the beginning of data related to another media stream in the session.

•  Generally, session-level values are the default for all media unless overridden by an
equivalent media-level value.

9
AARNet Copyright 2011

Protocol Structure (cont-3)

•  Some lines in each description are REQUIED and some are OPTIONAL.

Ordering of Fields: Session description

v= (protocol version)

o= (originator and session identifier)

s= (session name)

•  The attribute mechanism “a=“ is the
i=* (session information)

u=* (URI of description)

primary means for extending SDP and
e=* (email address)
tailoring it to particular applications or
p=* (phone number)

c=* (connection information -- not required if included in all media)
media.

b=* (zero or more bandwidth information lines)

One or more time descriptions ("t=" and "r=" lines; see below)

z=* (time zone adjustments)

•  An example SDP description is:

k=* (encryption key)
v=0

a=* (zero or more session attribute lines)
o=jdoe 2890844526 2890842807 IN IP4 10.47.16.5

Zero or more media descriptions



s=SDP Seminar

Time description
i=A Seminar on the session description protocol

t= (time the session is active)
u=http://www.example.com/seminars/sdp.pdf

r=* (zero or more repeat times)


e=j.doe@example.com (Jane Doe)

Media description, if present
c=IN IP4 224.2.17.12/127

m= (media name and transport address)

i=* (media title)

t=2873397496 2873404696

c=* (connection information -- optional if included at session level)
a=recvonly

b=* (zero or more bandwidth information lines)
m=audio 49170 RTP/AVP 0

k=* (encryption key)

a=* (zero or more media attribute lines)
m=video 51372 RTP/AVP 99


a=rtpmap:99 h263-1998/90000

10
AARNet Copyright 2011

Protocol Structure (cont-5)

11
AARNet Copyright 2011

Media Negotiation (Offer/Answer Model)

•  SDP lacks the negotiation process to enable signalling endpoints to reach agreement.

•  RFC 3264: SIP using SDP in an Answer/Offer mechanism.

•  RFC 4317 SDP Offer/Answer examples.

•  The initiator of the session offers a selection of multimedia formats to be used in the session.

•  The receiver of the offer either rejects the offer, or selects those media formats that have been
offered and which the responder is willing/able to accept.

•  The offer will contain zero or more media streams.

•  The answerer will respond with one or more media streams or reject the offer.

12
AARNet Copyright 2011

Media Negotiation (Offer- example)

13
AARNet Copyright 2011

Media Negotiation (Answer- example)

14
AARNet Copyright 2011

Thank you
Questions
?
15

S-ar putea să vă placă și