SDP and RTSP extensions
defined for 3GPP Packet-switched Streaming Service and Multimedia
Broadcast/Multicast ServiceEricssonFarogatan 6StockholmSE-164 80SWEDEN+46 8 7190000+46 8 757 55 50magnus.westerlund@ericsson.comEricssonFarogatan 6StockholmSE-164 80SWEDEN+46 8 7190000+46 8 757 55 50per.frojdh@ericsson.comThe Packet-switched Streaming Service (PSS) and the Multimedia
Broadcast/Multicast Service (MBMS) defined by 3GPP use SDP and RTSP with
some extensions. This document provides information about these
extensions and registers the RTSP and SDP extensions with IANA.The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119.3GPP file format, a multi-media file format
based on the ISO base media file format, existing in different
profiles intended for multimedia messages, direct playback on
clients, progressive download, usage on servers to deliver
on-demand multi-media sessions in PSS, or servers sending MBMS
sessions.Third Generation Partnership Project, see
www.3gpp.org for more information about this organization.Forward Error CorrectionMultimedia Broadcast/Multicast Service, a
service defined by 3GPP that utilizes broadcast or multicast
technologhy in combination with unicast for delivery of a wide
range of content to mobile terminals.Packet-switched Streaming Service, a
unicast-based streaming service for delivery of on-demand or live
streaming multi-media content to mobile terminals.Time Streaming Protocol, see .Session Description Protocol, see .Secure Real-time Transport Protocol, see .Quality of Experience, the quality level of the
the user experience of a service. In PSS this is estimated by a
combination of application-level metrics.Quality of Service, the quality (properties)
that the network provides toward the upper layer service.3GPP has specified the Packet-switched Streaming Service (PSS) that
uses both RTSP and SDP. The service is specified in technical
specifications TS 26.233 and TS 26.234 in Release 4 and later releases. The
basic service defined in Release 4 is enhanced in Release 5 with
capability exchange and in Release 6 with a number of features, such as
adaptation, digital rights management, progressive download as well as a
streaming server file-format defined in .
Fast start-up and content switching are addressed in Release 7.3GPP has also specified the Multimedia Broadcast/Multicast Service
(MBMS) that uses SDP. The IP layer protocols used by this service are
specified in technical specification TS 26.346 Release 6 . Release 7 extends the MBMS User Service to also
work with unicast bearers for interactive and streaming traffic
classes.In the process of defining these services, there has occasionally
been the need to extend both SDP and RTSP functionality. These
extensions have mostly been in the form of SDP attributes and RTSP
headers and option tags. 3GPP uses the name option tags (like RTSP 2.0
for what RTSP 1.0 calls option tags, option tag is the name that will be
used in this document. The purpose of this informational document is to
register these SDP and RTSP extensions, in order to avoid future
conflicts, and also to raise the awareness of their existence within
IETF.This document defines in three
SDP protocol identifiers used in MBMS to enable the usage of block-based
FEC. The other SDP and RTSP extensions registered by this document are
not normatively defined in this document. Instead the normative
definitions are referenced by the registrations.The document begins with two chapters presenting the different
extensions of SDP for PSS and MBMS, respectively, followed by a section
noting that offer/answer considerations are not applicable here. The
subsequent section presents the extensions of RTSP for PSS. The IANA
registration of SDP attributes and protocol identifiers is given in
, and the RTSP headers and option
tags in . For normative descriptions
of all SDP and RTSP extensions we refer to TS
26.234 and TS 26.346.This document describes 3GPP-defined extensions to SDP and RTSP and
registers attributes that are normatively defined in 3GPP technical
specifications 26.234, 26.244 and 26.346 up to the referenced versions
of the respective documents.The SDP and RTSP extensions have only been defined for usage with the
3GPP service in mind. The applicability for usage outside of these
services has not been considered or addressed. Usage of these attributes
in other contexts may require further definitions or clarifications. For
example, all SDP attributes lack offer/answer usage rules which currently makes it impossible to use them
with offer/answer. Please note that change control of these SDP and RTSP
extensions belongs to 3GPP.The PSS specification defines a number
of different SDP attributes for different purposes. They are
informatively listed below grouped by purpose. The text is intentionally
not specific enough to allow implementation from this document. The
normative definition is in the 3GPP technical specification cited.The following attributes are used to provide parameters for the
video buffer model provided in Annex G and Section 5.3.3.2 of . The attributes were defined in Release 5 as
"X-" attributes and were at the time not considered for registration.
In hindsight, however, they should not have been "X-" attributes, and
they should have been registered, as the registration rules of SDP
point out. Changing their names today
is impossible due to the deployed base of millions of mobile handsets
supporting PSS, and therefore they are registered in their current
form.All attributes are defined at media level.The "a=X-predecbufsize" attribute provides the size of the
pre-decoder buffer in bytes.The "a=X-initpredecbufperiod" attribute provides the time
during which a receiver should initially buffer, in 90kHz ticks,
before starting to consume the data in the buffer in order to
ensure that underflow does not occur, assuming correct data
delivery.The "a=X-initpostdecbufperiod" attribute provides the initial
buffering period, in 90kHz ticks, for the post-decoder buffer
present in H.263 and MPEG-4 Visual.The "a=X-decbyterate" attribute indicates the maximum peak
byte-decoding rate used in the verification of the Annex G buffer
model expressed in bytes per second.The "a=3gpp-videopostdecbufsize" attribute is used to indicate
the value used in determining the H.264 video post-decoder buffer
size.Note that complete descriptions of these attributes can be
found in section 5.3.3.2 of .This media-level attribute provides the receiver with the largest
picture size a specific H.263 payload type will carry within the
session. The attribute has the following form (see 5.3.3.2 of ):"a=framesize:<payload type number>
<width>-<height>"These attributes are all used to configure the integrity-protection
mechanism defined in Annex K (section K.2.2.1, K.2.2.2 and K.2.2.3) of
.The session-level attribute "a=3GPP-Integrity-Key" carries the
integrity key used to derive SRTP master keys for integrity
protection. They key is protected in different ways depending on a
method identifier. When using OMA DRM keymanagement, the key is
encrypted using AES [AES] before it is base64 encoded .The media-level attribute "a=3GPP-SRTP-Config" is used to
configure SRTP for integrity protection and contains an integrity
nonce, a key salt used in deriving the SRTP master key from the
integrity key, and any SRTP configuration parameters, such as the
integrity tag length.The session-level attribute "a=3GPP-SDP-Auth" is used to carry
an authentication tag calculated over certain parts of the SDP to
prevent manipulation of the security attributes.Two media and one session-level attributes are used in a mechanism
for providing alternative SDP lines. One or more SDP lines at media
level can be replaced, if desired, by alternatives. The mechanism is
backwards compatible in the way that a receiver that does not support
the attributes will get the default configuration. The different
alternatives can be grouped using different attributes that can be
specified hierarchically with a top and a lower level. 3GPP Release 6
supports grouping based on bit-rate, according to the SDP bandwidth
modifiers AS and TIAS, and language.The SDP attributes (see 5.3.3.3 and 5.3.3.4 of ) are: The media-level attribute "a=alt:<id>:<SDP-Line>"
carries any SDP line and an alternative identifier.The media-level attribute "a=alt-default-id:<id>"
identifies the default configuration to be used in groupings.The session-level attribute "a=alt-group" is used to group
different recommended media alternatives. Providing aggregated
properties for the whole group according to the grouping type.
Language and bit-rate are two defined grouping types.The media-level SDP attribute "a=3GPP-Adaptation-Support" (see
5.3.3.5 of ) is defined as part of the
negotiation procedure of the PSS adaptation mechanism. The attribute
carries a single value indicating how often the RTCP "Next Application
Data Unit" (NADU) APP packet shall be included in sent RTCP compound
packets. The adaptation mechanism allows the client to provide the
server with information on the available transmission bit-rate and
receiver buffer status.The session and media-level attribute "a=3GPP-QoE-Metrics" (see
5.3.3.6 of ]) is used to negotiate the
usage of the quality of experience metrics. The included parameters
indicate which metrics, over which duration there should be
measurements, and how often reports should be sent.The session and media-level attribute "a=3GPP-Asset-Information"
(see 5.3.3.7 of ) can exist in multiple
instances in a description and describes different types of asset
information. The different asset classes defined in Release 6 are:
Title, Description, Copyright, Performer, Author, Genre, Rating,
Classification, Keywords, Location, Album, and Recording Year. The
different assets are described with a BASE64-encoded asset box from
the 3GP file format .The MBMS specification [MBMS] defines a number of different SDP
attributes for different purposes. They are informatively listed
below.The session and media-level attribute "a=mbms-mode" (see 7.3.2.7 of
) is used to describe MBMS broadcast mode
media. The attribute may be used at session level to set the default
for all media and at media level to specify differences between media.
However, the attribute is never used at session level when the session
includes MBMS multicast mode media, nor at media level to describe
MBMS multicast mode media.The media-level attribute "a=mbms-flowid" (see 8.3.1.9 of ) maps one or more FEC source block flow IDs to
their corresponding destination IP addresses and UDP port numbers. It
is present in each SDP media block for repair packet streams.The session and media-level attribute "a=mbms-repair" (see 8.3.1.8
of ) is used to provide FEC repair packets
with non-FEC specific parameters. For Release 6 one such parameter is
defined, specifying the required minimum receiver buffer time.MBMS defines a mechanism to provide block-based FEC for UDP-based
traffic. This solution uses the SDP protocol "proto" identifier to
identify the media streams that use the FEC shim layer. The media
streams may be either source streams and repair streams. As required
by SDP these protocol identifiers are
normatively defined in this document in accordance with their usage
specified by 3GPP.For FEC-protected RTP streams the following two "proto"
identifiers are defined: UDP/MBMS-FEC/RTP/AVPUDP/MBMS-FEC/RTP/SAVPThey indicate the usage of UDP with MBMS FEC Source packet formats, as
defined in Section 8.2.2.4 of , that
transport RTP packets in accordance with the AVP or SAVP (Secure RTP) profiles, respectively. These protocol
identifiers SHALL use the FMT space rules that are used for RTP/AVP
and RTP/SAVP, respectively.A media stream carrying MBMS FEC repair information over UDP
requires its own "proto" identifier. Protocol identifier
"UDP/MBMS-REPAIR" identifies the FEC repair packet containing the
protocol combination of UDP and FEC
repair payload ID and repair symbols as specified in Section 8.2.2.5
of . The FMT string is not used and SHALL
be set to "*".The PSS media-level buffer attribute "a=X-initpredecbufperiod"(See
Section 4.1) that specifies an initial buffering time is also used for
MBMS in Release 7. It is mainly intended for video streams, but may be
used for other media types as well (See Section 8.3.1.1 of ).The usage of the SDP attributes in an Offer/Answer context is not defined. These SDP attributes
are defined for being used in a declarative context, and for PSS
specifically in RTSP context.The RTSP extensions for PSS consist of a number of new RTSP headers
and option tags and a narrowing of URI usage in regards to 3GP files.
The headers and option tags are informatively described here; see
[PSS-234] for the normative declaration.The "3GPP-Link-Char" header (see 5.3.2.1 of ) is used by clients to provide the server
with QoS information about the wireless link it is currently using.
The header can be used to provide the server with three different QoS
parameters:Guaranteed BandwidthMaximum BandwidthMaximum Transfer DelayThe header may be included in RTSP requests using either of
the methods SETUP, PLAY, OPTIONS and SET_PARAMETER.The "3GPP-Adaptation" header (see 5.3.2.2 of ) is used by the client to provide the server
with adaptation-related parameters and to indicate support of the
adaptation function. The header carries the resource identification as
a URI, the client's buffer size, and the desired target time.The header may be included in requests using the methods SETUP,
PLAY, OPTIONS and SET_PARAMETER. The response to a request using this
method shall include this header.The "3GPP-QoE-Metrics" header (see 5.3.2.3.1 of ) is used to negotiate the usage of the
quality of experience (QoE) metrics (see Section 11 of ).The header may be included in requests and responses using the
SETUP, SET_PARAMTER, OPTIONS or PLAY method.The "3GPP-QoE-Feedback" header (see 5.3.2.3.2 of ) is used to carry QoE metrics from the client
to the server when it reports, which happen either during or at the
end of the media delivery.The header may be included in requests using the SET_PARAMETER,
PAUSE, or TEARDOWN method.PSS uses several headers to provide the client with the different
buffer parameters. They provide the buffer status at the point of a
stream that a PLAY request plays from. These headers may only be used
in PLAY responses. See Section 5.3.2.4 and Annex G of for normative definitions.The three "x-" headers were defined in 3GPP Release 5. When it was
realized that they should not have been given "x-" names it was too
late rename them due to deployment.The RTSP headers are: x-predecbufsizex-initpredecbufperiodx-initpostdecbufperiod3gpp-videopostdecbufsizeThe integrity-protection mechanism defined in PSS Annex K uses the
"3GPP-Freshness-Token" (See Section K.2.2.4 of ) RTSP header to carry a freshness token in
DESCRIBE requests.The PSS specification also defines syntax for referencing tracks
within the "3GP" file format . The 3GP
format is based on the ISO base media file format and defined in
several different profiles, including a streaming-server profile, in
Release 6.This syntax is fully contained within the generic URI syntax
defined for RTSP URIs. It is only a syntax restriction server
manufacturers follow to allow clients or proxies to understand what
encodes the track number in the URI. This is provided for information
only.To identify a track within a 3GP file the last URI segment has to
contain a structure that is <alpha string>=<track nr> (See
5.3.3.1 of ).Release 7 of PSS defines a number of extensions in terms of headers
and option tags (See Section 5.5 of )
for support of fast start-up and switching of content for on-demand
and live applications built on top of PSS. Clients are enabled to
reuse the existing RTSP control session and RTP resources while
switching to new content.The RTSP headers are: Switch-StreamSDP-RequestedPipelined-RequestsThe RTSP option tags are:3gpp-pipelined3gpp-switch3gpp-switch-req-sdp3gpp-switch-streamIANA is requested to register the SDP attributes listed below in
the registry at http://www.iana.org/assignments/sdp-parameters. The
contact person for this registration is Magnus Westerlund
(magnus.westerlund@ericsson.com) Phone number +46 8 719 0000.IANA is requested to register the RTSP headers listed below in the
RTSP 1.0 registry table "RTSP/1.0 Headers" at:http://www.iana.org/assignments/rtsp-parameters.Note: This registry requires Standards document, preferably an IETF
RFC. The document that defines the registered headers below is a
technical standards document from 3GPP, although the request for
registration is submitted using this document to achieve further
information spreading within IETF.The contact person for this registration is Magnus Westerlund
(magnus.westerlund@ericsson.com) Phone number +46 8 719 0000.IANA is requested to register the RTSP Option tags (option
tags) listed below in the RTSP 1.0 registry table for RTSP/1.0 Option
Tagshttp://www.iana.org/assignments/rtsp-parameters.SDP attributes are subject to modification by an attacker unless they
are integrity protected and authenticated. The security consideration of
the SDP specification should be reviewed
in this regard. The registered SDP attributes are vulnerable to
modification attacks or removal, which may result in problems of serious
nature, including failure to use service and reduced quality.The registered RTSP headers are also vunerable to insertion, deletion
or modification attacks similar to SDP attributes. Also in this case it
can result in failure of the service or reduced quality of streaming
content.The three SDP protocol identifiers do not by themselves introduce any
additional security threats that don't exist for other protocol
identifiers in SDP. The media stream and the protocols identified by the
protocol identifier may however contain security issues by
themselves.Transparent end-to-end Packet-switched Streaming Service
(PSS); Protocols and codecs,3rd Generation Partnership Project
(3GPP)Transparent end-to-end packet switched streaming service
(PSS); 3GPP file format (3GP)3rd Generation Partnership Project
(3GPP)Multimedia Broadcast/Multicast Service (MBMS); Protocols and
codecs3rd Generation Partnership Project
(3GPP)Transparent end-to-end packet switched streaming service
(PSS) General Descriptionrd Generation Partnership Project
(3GPP)"Advanced Encryption Standard (AES)", FIPS PUB 197,
http://www.nist.gov/aes/.