INTERNET DRAFT
draft-hoschka-smilsdp-00.txt
August 7, 1998
Expires January 1, 1999
Integrating SDP Functionality Into SMIL
Philipp Hoschka, W3C
_________________________________________________________________
1. Status of this Memo
This document is an Internet Draft. Internet Drafts are working
documents of the Internet Engineering Task Force (IETF), its Areas,
and its Working Groups. Note that other groups may also distribute
working documents as Internet Drafts. Internet Drafts are valid for a
maximum of six months and may be updated, replaced, or obsoleted by
other documents at any time. It is inappropriate to use Internet
Drafts as reference material or to cite them other than as a "working
draft" or "work in progress." Distribution of this memo is unlimited.
Table of Contents
1. Status of this Memo
2. Abstract
3. Example
3. Mapping Approach
4. Integrating SDP Fields into SMIL
4.1 Origin
4.1.1 origin Element
4.2 Session Name
Example
4.3 Session Info
4.3.1 info Element
4.3.2 Media level use
Example
4.4 URI
4.4.1 uri Element
4.5 Email Address
4.5.1 email Element
4.6 Phone
4.6.1 phone Element
4.7 Connection Data
4.8 Bandwidth
4.8.1 bandwidth Element
4.9 Times
4.9.1 times Element
4.10 Repeat Time
4.10.1 repeat-time Element
4.11 Time Adjustement
4.11.1 time-adjustement Element
4.12 Encryption Keys
4.12.1 key Element
4.13 Attributes
4.13.1 attribute Element
4.14 Media Announcements
Example
4.14.1 rtpmap Element
4.15 Suggested Attributes
Acknowledgements
Authors Address
2. Abstract
This document describes an approach for integrating the functionality
currently contained in [46]SDP (Session Announcement Protocol) into
[47]SMIL (Synchronized Multimedia Integration Language). The
motivation is to make it easier for SMIL authors to interface with the
existing RTP/MBone infrastructure. Currently, this requires
maintaining two different sets of files, each of which use a different
text format.
3. Example
The following shows how the sdp example contained in the SDP RFC can
be integrated into a SMIL file, using the mapping defined in this
document.
SDP announcement:
v=0
o=mhandley 2890844526 2890842807 IN IP4 126.16.64.4
s=SDP Seminar
i=A Seminar on the session description protocol
u=http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps
e=mjh@isi.edu (Mark Handley)
c=IN IP4 224.2.17.12/127
t=2873397496 2873404696
a=recvonly
m=audio 49170 RTP/AVP 0
m=video 51372 RTP/AVP 31
m=application 32416 udp wb
a=orient:portrait
Inclusion in SMIL file:
A Seminar on the session description protocol
http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps
ph@w3.org
3. Mapping Approach
Only the information contained in a SDP session announcement is mapped
onto SMIL. An SDP session announcement consists of several fields.
These fields can either be session level fields, or media level
fields. In general, information contained in SDP session level fields
are mapped into information contained within the "head" part of a SMIL
document. Information contained in SDP media level fields is mapped
onto information assiocated with individual media objects in a SMIL
document.
The mapping below allows integrating all information in a SDP
announcement into SMIL.
SDP information is included in a SMIL document in two different ways:
* mapping SDP information into existing attributes, when possible
* defining a set of new XML elements and attributes that can be
included into a SMIL document via the [48]XML namespace mechanism
4. Integrating SDP Fields into SMIL
4.1 Origin
This SDP field requires defining a new element.
4.1.1 origin Element
This represents the information of the "orgin" field in SDP. It is
mandatory for a SMIL document that is transmitted in a multicast
announcement.
Element Attributes
username
Syntax and semantics defined in SDP specification
session-id
Syntax and semantics defined in SDP specification
version
Syntax and semantics defined in SDP specification
network-type
Syntax and semantics defined in SDP specification
address-type
Syntax and semantics defined in SDP specification
address
Syntax and semantics defined in SDP specification
Element Content
"origin" is an empty element.
Example
...
...
4.2 Session Name
This SDP field can be mapped onto the "title" property of the SMIL
"meta" element.
Example
...
...
4.3 Session Info
This SDP field can be used in the session-level section and in a
media-level section.
For mapping session-level use into SMIL, this requires defining a new
element.
4.3.1 info Element
Element Attributes
xml:lang
Syntax and semantics defined in XML specifiation
Element Content
"info" element contains the text of the session description.
Example
A Seminar on the session description protocol
...
...
4.3.2 Media level use
For media-level use, the "info" field can be mapped onto the "title"
attribute.
Example
4.4 URI
This SDP field requires defining a new element.
4.4.1 uri Element
The element can only occur within the "head" part of a SMIL document.
Element Attributes
This element has no attributes.
Element Content
The element contains the URI value.
Example
http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps
...
...
4.5 Email Address
This SDP field requires defining a new element.
4.5.1 email Element
The element can only occur within the "head" part of a SMIL document.
Element Attributes
This element has no attributes.
Element Content
The element contains the email address
Example
ph@w3.org
...
...
4.6 Phone
This session-level SDP field requires defining a new element.
4.6.1 phone Element
The element can only occur within the "head" part of a SMIL document.
Element Attributes
This element has no attributes.
Element Content
The element contains the phone number.
Example
+1 617 256 8113
...
...
4.7 Connection Data
The information of this SDP field is contained in the URI identifying
the resource.
The network type can either be deduced from the URI scheme, or be
completely transparent.
Determining the address type is either not necessary (because the URI
contains a hostname), or it can be derived from the URI scheme.
For addressing resources that are multicast, a new "mbone" URI scheme
is needed. It looks as follows:
"mbone:""/""/"
@@ check whether consistent with guidelines for doing URIs
Example
mbone:224.2.1.1./127/3
This SDP field can be used in the session-level section and in a
media-level section.
For mapping session-level use into SMIL, a "meta" element can be used
for defining a base URI.
Example
...
...
For mapping media-level use into SMIL, the connection data field can
be mapped onto the "src" attribute of a media-object element.
Example
4.8 Bandwidth
This SDP field requires defining a new element.
4.8.1 bandwidth Element
Element Attributes
modifier
Syntax and semantics defined in SDP specifiation
bandwidth
Syntax and semantics defined in SDP specifiation
Element Content
"bandwidth" is an empty element.
The "bandwidth" SDP field can be used in the session-level section
and in a media-level section.
Use this field in the session-level section is mapped onto using the
"bandwidth" element in the "head" part of a SMIL document.
Example
...
...
Use of this field in the media-level section is mapped onto using the
"bandwitdh" element as content of a SMIL media object.
Example
4.9 Times
This session-level SDP field requires defining a new element.
4.9.1 times Element
The element can only occur within the "head" part of a SMIL document.
Element Attributes
start-time
Syntax and semantics defined in SDP specifiation
stop-time
Syntax and semantics defined in SDP specifiation
Element Content
The "times" element can contain the following element:
repeat-time
Defined below
zone-adjustement
Defined below
Example
..
4.10 Repeat Time
This session-level SDP field requires defining a new element.
4.10.1 repeat-time Element
The element can only occur within the "head" part of a SMIL document
as content of a "time" element. The "time" element can contain not
more than one "repeat-time" element.
Element Attributes
interval
Syntax and semantics defined in SDP specifiation
active-duration
Syntax and semantics defined in SDP specifiation
offsets
A comma seperated list of values whose semantics is defined in
the SDP specification
Element Content
"repeat-times" is an empty element.
Example
...
4.11 Time Adjustement
This session-level SDP field requires defining a new element.
4.11.1 time-adjustement Element
The element can only occur within the "head" part of a SMIL document
as content of a "time" element. The "time" element can contain
multiple "time-adjustement" elements, one for each adjustement (note
that this leads to a different structure than used by the "z" field in
sdp).
Element Attributes
adjustement-time
Syntax and semantics defined in SDP specifiation
offset
Syntax and semantics defined in SDP specifiation
Element Content
"time-adjustement" is an empty element.
Example
...
4.12 Encryption Keys
This SDP field can be used both at the session-level and at the media
level. It requires defining a new element.
4.12.1 key Element
Element Attributes
method
Syntax and semantics defined in SDP specifiation
encryption-key
Syntax and semantics defined in SDP specifiation
Element Content
"key" is an empty element.
To mimic SDP use of encryption keys at the session-level, the "keys"
element is included in the "head" part of the SMIL document.
Example
...
To mimic SDP-use of encryption keys at the media-level, the "keys"
element is included in the content of a SMIL media object element.
Example
4.13 Attributes
Unless specified otherwise, SDP attributes are mapped onto a generic
"attribute" element.
4.13.1 attribute Element
Element Attributes
attribute-name
Syntax and semantics defined in SDP specifiation
value
Syntax and semantics defined in SDP specifiation
Element Content
"attribute" is an empty element
If the attribute is used on the session-level, it is contained in the
"head" section of the SMIL document.
Example
...
Otherwise, it is included in the content of a SMIL media-object
element.
Example
4.14 Media Announcements
The "m" SDP field is mapped onto attributes within SMIL media objects.
The following attributes can be added to all SMIL media objects:
port
Syntax and semantics defined in SDP specifiation
transport
Syntax and semantics defined in SDP specifiation
fmt-list
Comma-seperated list of values whose syntax and semantics is
defined in SDP specifiation
Example
If the media object uses the RTP format, and uses a dynamic payload
type, SDP requires the use of the "rtpmap" attribute field. This is
mapped onto the "rtpmap" element, which is contained in the content of
the media object element.
4.14.1 rtpmap Element
Element Attributes
payload
Syntax and semantics defined in SDP specifiation
encoding
Syntax and semantics defined in SDP specifiation
Element Content
"rtpmap" is an empty element
Example
4.15 Suggested Attributes
The following "suggested attributes" of SDP are not mapped onto an
"attribute" element:
* charset: The charset of the SMIL document can be set using the
mechanisms defined by the XML definition.
* sdplang: The language of session-description information is set by
the "xml:lang" attribute in the individual "info" elements.
@@@ check XML spec: is there a way to set a global default
language that is valid for the whole document ?
* lang: The functionality of this is replaced by the
"system-language" attribute in SMIL.
All other "suggested attributes" are mapped onto an "attribute"
element.
Acknowledgements
Integrating SDP functionality with SMIL has been originally suggested
by several other people to me in private.
Authors Address
* Philipp Hoschka
W3C/MIT Laboratory for Computer Science
545 Technology Square
Cambridge, MA 02139, USA
Fax: +1 (617) 258-8682
Email: ph@w3.org
_________________________________________________________________
References
46. http://info.internet.isi.edu/in-notes/rfc/files/rfc2327.txt
47. http://www.w3.org/TR/REC-smil
48. http://www.w3.org/TR/WD-xml-names