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