Internet Engineering Task Force | I. Bouazizi |
Internet-Draft | Samsung Research America |
Intended status: Experimental | September 30, 2014 |
Expires: April 3, 2015 |
SDP Descriptors for MMTP
draft-bouazizi-sdp-descriptors-mmtp-00
This document specifies the use of SDP for the description of MPEG Media Transport protocol (MMTP) sessions. It defines the parameters required to begin, join, receive data from, and/or end MMTP sessions.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents 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 "work in progress."
This Internet-Draft will expire on April 3, 2015.
Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
The MMTP protocol is an application layer transport protocol that is designed to transport different types of media objects under real-time delivery constraints. In particular, MMTP provides a delivery mode that is optimized for low-delay delivery of fragmented ISOBMFF media files. The Session Description Protocol (SDP) [RFC4566]) provides a general-purpose format for describing multimedia sessions in announcements or invitations. SDP uses an entirely textual data format (the US-ASCII subset of UTF-8 [RFC3629]) to simplify authoring and increase readability. SDP only defines the syntax to describe multimedia sessions with sufficient information to enable receivers to participate in the session. SDP does not restrict the way the session description is distributed to the receivers, so that potentially any transport protocol (e.g. HTTP [RFC2616], MMTP [draftMMTP], SAP [RFC2974], SIP [RFC3261]) may be used for this purpose. This document defines a new protocol identifier for the MPEG Media Transport Protocol (MMTP) as well as other SDP attributes for describing and initiating an MMTP session. The formal ABNF syntax [RFC5234] is used for defining the syntax of the new SDP attributes. The defined SDP descriptors apply independently of whether Any Source Multicast (ASM) or Source Specific Multicast (SSM) is used to route the media.
The MMTP specification [draftMMTP] describes the required and optional parameters for describing an MMTP session. This document specifies the SDP parameters for MMTP sessions that can be used for the discovery of MMTP sessions. The required SDP parameters for describing an MMTP session are:
The optional SDP parameters are:
An MMTP session consists of one or more object flows, each of which is identified by a unique packet identifier. The packets that belong to the same object flow use the same packet identifier and build a sub-flow of the MMTP flow. The description of the SDP parameters is provided in the following sections.
The ABNF syntax for the "m=" line as specified by [RFC4566] is defined as follows: media-field = "m=" media SP port {"/" integer] SP proto 1*(SP fmt) CRLF proto = "MMTP/UDP" The "MMTP/UDP" protocol identifier specifies that the the session being described will use the MMTP protocol [draftMMTP] on top of a UDP connection. The "fmt" list may be used to describe the object flows that are delivered as part of the MMTP session.
An MMTP session consists of an MMTP flow that is delivered during a designated period of time that is indicated by the session start and end time or through external means. Each MMTP sub-flow carries objects of an object flow. An object flow is composed of a set of related objects that are meant to be consumed together by the receiver. An object flow may carry objects of one of the following types:
The SDP descriptors enables providing basic descriptive information about the object flow. The related SDP parameters are described in the following section.
This internet draft specifies a set of SDP descriptors to describe the content of an MMTP session. It uses the "fmt" to identify the relevant object flows of an MMTP session and indicate its type. In addition, a textual description of the object flow may be provided separately. The ABNF syntax of the object flow description is defined as follows: of-descriptor = "a=of:" fmt SP of-identifier SP type-indicator CRLF of-identifier = "flowid=" 1*DIGIT type-indicator = "type=" type ["/" subtype] type = "MPU" / "GF" / "Signaling" / "FEC" The flowid is set to the packet_id of the MMTP subflow that carries the objects of this object flow. The type of the object flow corresponds to one of the object flow types described in Section 2.2. The subtype field is a type specific optional field that can be used to indicate a more specific type of the object flow. As an example, a subtype "MP" of type "signaling" may be used to indicate that the object flow carries (possibly among others) the MP tables of this MMTP session.
v=0 o=user 6431641313 1 IN IP4 10.10.52.13 s=An MMTP session t=1411639200 1427277600 a=source-filter: incl IN IP4 * 10.10.52.13 m=application 12345 MMTP/UDP 100 101 102 103 104 a=of:100 flowid=0 Signaling/PA a=of:101 flowid=7623 MPU a=of:102 flowid=7624 MPU a=of:103 flowid=7625 GF a=of:104 flowid=7626 FEC
Figure 1: An example SDP describing an MMTP session
This section gives examples of the use of SDP attributes to describe an MMTP session. Section 3 shows an example SDP instance for an MMTP session. The MMTP session declares a set of 5 object flows. The first object flow, which has the packet_id 0, is the flow that carries signaling messages and in particular PA messages that describe the MMT services. Object flows with packet_id 7623 and 7624 carry media data of 2 different assets using the MPU mode. Object flow with packet_id 7625 carries generic files that are carried using the GFD mode. Finally, object flow with packet_id 7626 carries FEC repair data for one or more other object flows. The description of the FEC protected object flows is provided through the FEC signaling message.
The "proto" sub-field of media description field ("m=") describes the transport protocol used. This document registers the following value "MMTP/UDP" as the MMTP transport protocol [draftMMTP] over UDP/IP.
This document registers the following "fmt" values: "Signaling", "MPU", "GF", and "FEC". These values correspond to the payload type fields of MMTP. The MMTP media line may use "*" as the "fmt" value. In that case, no specific indication of the contained object flows is made.
SDP Attribute ("att-field") Attribute name: of Long form: MMTP Object Flow description Type of attribute: media level Subject to charset: No Purpose: See this document Reference: This document Values: See this document
Figure 2
This document registers the following attribute: "of" with IANA, with the following information:
Refer to [RFC4566] for security considerations specific to the Session Description Protocol in general. For security considerations related to the MMTP protocol, refer to [draftMMTP].
[RFC3550] | Schulzrinne, H., Casner, S., Frederick, R. and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", STD 64, RFC 3550, July 2003. |
[RFC4301] | Kent, S. and K. Seo, "Security Architecture for the Internet Protocol", RFC 4301, December 2005. |