RFC 6064
SDP and RTSP Extensions Defined for 3GPP Packet-Switched Streaming Service and Multimedia Broadcast/Multicast Service
RFC 6064 π SDP and RTSP Extensions for 3GPP Streaming β¨
Okay bestie, this one is an Informational doc from the IETF π§ It's not a Standards Track spec, so think of it as a super-organized cheat sheet, not a rulebook. It's written by M. Westerlund and P. Frojdh, both from Ericsson, and it was published in January 2011 π
The ISSN is 2070-1721. The title block doesn't list any obsoletes or updates entries, so this doc doesn't replace or change any other RFC π
The full title is SDP and RTSP Extensions Defined for 3GPP Packet-Switched Streaming Service and Multimedia Broadcast/Multicast Service π¦
Abstract π
The Packet-switched Streaming Service (PSS) and the Multimedia Broadcast/Multicast Service (MBMS), both defined by 3GPP, use the Session Description Protocol (SDP) and the Real Time Streaming Protocol (RTSP), plus some extensions π This doc gives you the info about those extensions and registers the RTSP and SDP extensions with IANA β¨
Status of This Memo π
This doc is NOT an Internet Standards Track spec. It's just published for informational purposes πΈ
It's a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community, got public review, and was approved for publication by the Internet Engineering Steering Group (IESG). Not every doc the IESG approves is a candidate for any level of Internet Standard, so check Section 2 of RFC 5741 for more on that π§
Want the latest status, errata, or a way to send feedback? Go to http://www.rfc-editor.org/info/rfc6064 π
Copyright Notice π
Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved. π«Ά
This doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info), as in effect on the date it was published. Please read these carefully, because they explain your rights and restrictions for this doc. Code components pulled out of this doc must include the Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as described in the Simplified BSD License π
Table of Contents π
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 4
2. Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Applicability Statement . . . . . . . . . . . . . . . . . . . 5
4. PSS SDP Extensions . . . . . . . . . . . . . . . . . . . . . . 5
4.1. Video Buffering Attributes . . . . . . . . . . . . . . . . 5
4.2. Video Frame Size Attribute . . . . . . . . . . . . . . . . 6
4.3. Integrity-Protection Configuration Attributes . . . . . . 6
4.4. The Alternative Attributes . . . . . . . . . . . . . . . . 7
4.5. Adaptation Attribute . . . . . . . . . . . . . . . . . . . 7
4.6. Quality of Experience Attribute . . . . . . . . . . . . . 7
4.7. Asset Information Attribute . . . . . . . . . . . . . . . 8
5. MBMS SDP Extensions . . . . . . . . . . . . . . . . . . . . . 8
5.1. MBMS Bearer Mode Declaration Attribute . . . . . . . . . . 8
5.2. FEC Flow ID Attribute . . . . . . . . . . . . . . . . . . 8
5.3. MBMS Repair Attribute . . . . . . . . . . . . . . . . . . 8
5.4. SDP Protocol Identifiers for FEC . . . . . . . . . . . . . 8
5.4.1. RTP Protocol Identifiers . . . . . . . . . . . . . . . 9
5.4.2. FEC Repair Data Identifier . . . . . . . . . . . . . . 9
5.5. Video Buffering Attribute . . . . . . . . . . . . . . . . 9
6. SDP Offer/Answer Consideration . . . . . . . . . . . . . . . . 9
7. PSS RTSP Extensions . . . . . . . . . . . . . . . . . . . . . 10
7.1. 3GPP-Link-Char Header . . . . . . . . . . . . . . . . . . 10
7.2. 3GPP-Adaptation Header . . . . . . . . . . . . . . . . . . 10
7.3. 3GPP-QoE-Metrics Header . . . . . . . . . . . . . . . . . 10
7.4. 3GPP-QoE-Feedback Header . . . . . . . . . . . . . . . . . 11
7.5. Video Buffer Headers . . . . . . . . . . . . . . . . . . . 11
7.6. Integrity Protection . . . . . . . . . . . . . . . . . . . 11
7.7. RTSP URI Extension . . . . . . . . . . . . . . . . . . . . 11
7.8. Fast Start-Up and Content Switching . . . . . . . . . . . 12
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
8.1. SDP Registrations . . . . . . . . . . . . . . . . . . . . 12
8.2. RTSP Registrations . . . . . . . . . . . . . . . . . . . . 17
9. Security Considerations . . . . . . . . . . . . . . . . . . . 20
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 20
10.1. Normative References . . . . . . . . . . . . . . . . . . . 20
10.2. Informative References . . . . . . . . . . . . . . . . . . 21
1. Introduction β¨
3GPP made the Packet-switched Streaming Service (PSS), which uses both RTSP [RFC2326] and SDP [RFC4566] π¬ The service is specified in the technical specifications TS 26.233 [PSS-233] and TS 26.234 [PSS-234], starting in Release 4 and continuing in later releases. Release 4 is the base, Release 5 adds capability exchange, and Release 6 adds a bunch of features, like adaptation, digital rights management (DRM), progressive download, and a streaming server file format defined in [PSS-3GP] π₯ Fast start-up and content switching came along in Release 7 β
3GPP also made the Multimedia Broadcast/Multicast Service (MBMS), which uses SDP. The IP-layer protocols for this service are in technical specification TS 26.346 Release 6 [MBMS]. Release 7 extends the MBMS User Service so it also works with unicast bearers for interactive and streaming traffic classes πΈ
Along the way, there's been a need to extend both SDP and RTSP. Those extensions are mostly SDP attributes and RTSP headers and option tags π§ 3GPP calls them "feature tags" (so RTSP 2.0 uses what RTSP 1.0 calls "option tags"), but this doc uses the name "option tag". The point of this informational doc is to register these SDP and RTSP extensions, so we avoid future conflicts, and also to make the IETF aware they exist π¦
In Section 5.4, this doc defines three SDP protocol identifiers that MBMS uses to enable block-based FEC. The SDP protocol identifiers require an RFC to be defined and registered. Because this is an RFC from the IETF stream, any semantic change will require a new IETF-approved RFC π The other SDP and RTSP extensions registered by this doc aren't normatively defined here. Instead, the normative definitions are referenced by the registrations. 3GPP can update the normative definition in future versions of their specs. However, to make sure such a change is visible in the IETF, at minimum IANA should be notified and the reference to the 3GPP spec updated, and preferably an updated version of this RFC should be published π
The doc starts with two sections on the SDP extensions for PSS and MBMS. Then there's a section explaining that offer/answer considerations don't apply here. The next section covers the RTSP extensions for PSS. The IANA registrations for SDP attributes and protocol identifiers are in Section 8.1, and the RTSP headers and option tags are in Section 8.2. For normative descriptions of all the SDP and RTSP extensions, check TS 26.234 [PSS-234] and TS 26.346 [MBMS] π«Ά
1.1. Requirements Language ποΈ
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 [RFC2119] π
2. Glossary π
- 3GP: 3GPP file format, a multimedia file format based on the ISO base media file format. It exists in different profiles for multimedia messages, direct playback on clients, progressive download, use on servers to deliver on-demand multimedia sessions in PSS, or servers sending MBMS sessions ποΈ
- 3GPP: Third Generation Partnership Project. See
http://www.3gpp.orgfor more info about this organization π - FEC: Forward Error Correction π‘οΈ
- MBMS: Multimedia Broadcast/Multicast Service, a service defined by 3GPP that uses broadcast or multicast technology together with unicast to deliver a wide range of content to mobile terminals π‘
- PSS: Packet-switched Streaming Service, a unicast-based streaming service for delivering on-demand or live streaming multimedia content to mobile terminals π₯
- RTSP: Real Time Streaming Protocol; see [RFC2326] ποΈ
- SDP: Session Description Protocol; see [RFC4566] π
- SRTP: Secure Real-time Transport Protocol; see [RFC3711] π
- QoE: Quality of Experience, the quality level of the user's experience of a service. In PSS, this is estimated by a combination of application-level metrics π«
- QoS: Quality of Service, the quality (properties) the network provides toward the upper-layer service πΆ
3. Applicability Statement π―
This doc describes the 3GPP-defined extensions to SDP [RFC4566] and RTSP [RFC2326]. It registers attributes that are normatively defined in the 3GPP technical specifications 26.234, 26.244, and 26.346, up to the referenced versions of those docs π
These SDP and RTSP extensions were only defined with the 3GPP service in mind. Their use outside of these services hasn't been considered or addressed. Using these attributes in other contexts may need further definitions or clarifications. For example, all SDP attributes lack offer/answer usage rules [RFC3264], 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 π§
4. PSS SDP Extensions π
The PSS specification [PSS-234] defines a number of different SDP attributes for different purposes. They're listed below, grouped by purpose π The text is intentionally not specific enough to let you implement from this document, so the normative definition lives in the 3GPP technical specification cited β¨
Heads up: don't try to build from this doc alone π Go to the 3GPP spec for the real definitions.
4.1. Video Buffering Attributes β¨
okay so these attributes give you the parameters for the video buffer model in Annex G and Section 5.3.3.2 of [PSS-234] π. back in Release 5 they were called "X-" attributes and nobody thought to register them. ngl, in hindsight they really should've been registered, and the registration rules of SDP [RFC4566] point that out π. renaming them now is impossible because millions of mobile handsets already support PSS, so they're registered in their current form π .
All attributes are defined at media level.
- The
a=X-predecbufsizeattribute provides the size of the pre-decoder buffer in bytes. - The
a=X-initpredecbufperiodattribute provides the time during which a receiver should initially buffer, in 90 kHz 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-initpostdecbufperiodattribute provides the initial buffering period, in 90 kHz ticks, for the post-decoder buffer present in H.263 and MPEG-4 Visual. - The
a=X-decbyterateattribute 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-videopostdecbufsizeattribute 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 [PSS-234] π§.
4.2. Video Frame Size Attribute πΈ
this media-level attribute tells the receiver the biggest picture size that a specific H.263 payload type will carry within the session. the attribute looks like this (see Section 5.3.3.2 of [PSS-234]):
"a=framesize:<payload type number> <width>-<height>"
4.3. Integrity-Protection Configuration Attributes π
all of these attributes are used to configure the integrity-protection mechanism defined in Annex K (Sections K.2.2.1, K.2.2.2, and K.2.2.3) of [PSS-234] π.
- The session-level attribute
a=3GPP-Integrity-Keycarries the integrity key used to derive SRTP master keys for integrity protection. the key gets protected in different ways depending on a method identifier. when using Open Mobile Alliance (OMA) DRM key management, the key is encrypted using AES [AES] before it is base64 encoded [RFC4648] π«Ά. - The media-level attribute
a=3GPP-SRTP-Configis used to configure SRTP for integrity protection. it 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-Authis used to carry an authentication tag calculated over certain parts of the SDP, to prevent manipulation of the security attributes π‘οΈ.
4.4. The Alternative Attributes π¦
two media-level attributes and one session-level attribute work together in a mechanism for providing alternative SDP lines. one or more SDP lines at media level can be swapped out, if desired, for alternatives. it's backwards compatible, because a receiver that doesn't support the attributes just gets the default configuration β¨. the different alternatives can be grouped using different attributes, which can be specified hierarchically with a top level and a lower level. 3GPP Release 6 supports grouping based on bit-rate, according to the SDP bandwidth modifiers AS [RFC4566] and TIAS [RFC3890], and based on language π.
The SDP attributes (see Sections 5.3.3.3 and 5.3.3.4 of [PSS-234]) 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-groupis used to group different recommended media alternatives. this allows providing aggregated properties for the whole group, according to the grouping type. language and bit-rate are the two defined grouping types π .
4.5. Adaptation Attribute π‘
the media-level SDP attribute a=3GPP-Adaptation-Support (see Section 5.3.3.5 in [PSS-234]) 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 lets the client give the server info on the available transmission bit-rate and the receiver buffer status π.
4.6. Quality of Experience Attribute π
the session- and media-level attribute a=3GPP-QoE-Metrics (see Section 5.3.3.6 of [PSS-234]) is used to negotiate the usage of the QoE metrics. the included parameters say which metrics should be used, over what duration there should be measurements, and how often reports should be sent π₯.
4.7. Asset Information Attribute π¬
the session- and media-level attribute a=3GPP-Asset-Information (see Section 5.3.3.7 of [PSS-234]) can show up in multiple instances in a description, and it describes different types of asset information. the 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 [PSS-3GP] β¨.
5. MBMS SDP Extensions π
the MBMS specification [MBMS] defines a bunch of different SDP attributes for different purposes. they're listed below for information only π.
5.1. MBMS Bearer Mode Declaration Attribute π»
the session- and media-level attribute a=mbms-mode (see Section 7.3.2.7 of [MBMS]) is used to describe MBMS broadcast mode media. it can be used at session level to set the default for all media, and at media level to specify differences between media. however, it's never used at session level when the session includes MBMS multicast mode media, and never used at media level to describe MBMS multicast mode media π
ββοΈ.
5.2. FEC Flow ID Attribute π
the media-level attribute a=mbms-flowid (see Section 8.3.1.9 of [MBMS]) maps one or more FEC source block flow IDs to their matching destination IP addresses and UDP port numbers. it's present in each SDP media block for repair packet streams π§©.
5.3. MBMS Repair Attribute π©Ή
the session- and media-level attribute a=mbms-repair (see Section 8.3.1.8 of [MBMS]) is used to give FEC repair packets non-FEC-specific parameters. for Release 6, one such parameter is defined, to specify the required minimum receiver buffer time β±οΈ.
5.4. SDP Protocol Identifiers for FEC π§
MBMS defines a way 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 can be source streams or repair streams. as required by SDP [RFC4566], these protocol identifiers are normatively defined in this document, in line with how 3GPP specifies their usage πΈ.
5.4.1. RTP Protocol Identifiers π
for FEC-protected RTP streams, these two "proto" identifiers are defined:
UDP/MBMS-FEC/RTP/AVPUDP/MBMS-FEC/RTP/SAVP
they indicate the usage of UDP [RFC0768] with MBMS FEC source packet formats, as defined in Section 8.2.2.4 of [MBMS], that carry RTP packets following the AVP [RFC3551] or SAVP (Secure RTP) [RFC3711] profiles, respectively. these protocol identifiers SHALL use the media formats ("fmt") namespace rules that are used for RTP/AVP and RTP/SAVP, respectively π .
5.4.2. FEC Repair Data Identifier π§°
a media stream carrying MBMS FEC repair information over UDP needs its own "proto" identifier. the protocol identifier UDP/MBMS-REPAIR identifies the FEC repair packet containing the protocol combo of UDP [RFC0768], FEC repair payload ID, and repair symbols, as specified in Section 8.2.2.5 of [MBMS]. the "fmt" namespace is not used and SHALL be set to "*" π.
5.5. Video Buffering Attribute π₯
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's mainly intended for video streams, but it may be used for other media types as well (see Section 8.3.1.1 of [MBMS]).
6. SDP Offer/Answer Consideration π€
the usage of these SDP attributes in an offer/answer [RFC3264] context is not defined. these SDP attributes are defined for use in a declarative context, and for PSS specifically, in the RTSP [RFC2326] context π.
7. PSS RTSP Extensions π§
the RTSP extensions for PSS consist of a number of new RTSP headers and option tags, plus a narrowing of URI usage in regards to 3GP files. the headers and option tags are described here for information only; see [PSS-234] for the normative declaration π«.
7.1. 3GPP-Link-Char Header πΆ
the 3GPP-Link-Char header (see Section 5.3.2.1 of [PSS-234]) is used by clients to give the server QoS information about the wireless link they're currently using. the header can provide the server with three different QoS parameters:
- Guaranteed Bandwidth
- Maximum Bandwidth
- Maximum Transfer Delay
the header may be included in RTSP requests using any of the methods SETUP, PLAY, OPTIONS, or SET_PARAMETER π.
7.2. 3GPP-Adaptation Header π
the 3GPP-Adaptation header (see Section 5.3.2.2 of [PSS-234]) is used by the client to give the server adaptation-related parameters and to indicate support for 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 π«§.
7.3. 3GPP-QoE-Metrics Header π
the 3GPP-QoE-Metrics header (see Section 5.3.2.3.1 of [PSS-234]) is used to negotiate the usage of the QoE metrics (see Section 11 of [PSS-234]) π·.
the header may be included in requests and responses using the SETUP, SET_PARAMETER, OPTIONS, or PLAY method π.
7.4. 3GPP-QoE-Feedback Header π
the 3GPP-QoE-Feedback header (see Section 5.3.2.3.2 of [PSS-234]) is used to carry QoE metrics from the client to the server when it reports, which happens 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 π.
7.5. Video Buffer Headers ποΈ
PSS uses several headers to give the client the different buffer parameters. they show the buffer status at the point of a stream from which a PLAY request plays. these headers may only be used in PLAY responses. see Section 5.3.2.4 and Annex G of [PSS-234] for normative definitions π.
the three "x-" headers were defined in 3GPP Release 5. when people realized they shouldn't have been given "x-" names, it was too late to rename them because they were already deployed π.
The RTSP headers are:
x-predecbufsizex-initpredecbufperiodx-initpostdecbufperiod3gpp-videopostdecbufsize
7.6. Integrity Protection π
okay so the integrity-protection mechanism in PSS Annex K is giving main character energy π
. It uses the 3GPP-Freshness-Token RTSP header (see Section K.2.2.4 of [PSS-234]) to carry a freshness token in DESCRIBE requests π§
7.7. RTSP URI Extension π
bestie, PSS also defines syntax for referencing tracks inside 3GP files [PSS-3GP]. 3GP is built on the ISO base media file format, and it has several profiles, including a streaming-server profile, in Release 6 πΌ
this syntax is fully contained in the generic URI syntax for RTSP URIs. It's really just a syntax restriction that server manufacturers follow, so clients or proxies can tell which part of the URI encodes the track number. This is provided for information only π
to identify a track inside a 3GP file, the last URI segment has to contain a structure that looks like <alpha string>=<track nr> β¨ (See Section 5.3.3.1 of [PSS-234].)
7.8. Fast Start-Up and Content Switching π
Release 7 of PSS brings a bunch of extensions, with headers and option tags (see Section 5.5 of [PSS-234]), for fast start-up and content switching. This works for on-demand and live apps built on top of PSS π Clients can reuse the existing RTSP control session and RTP resources while switching to new content, which is so efficient it's iconic π
the RTSP headers are:
Switch-StreamSDP-RequestedPipelined-Requests
the RTSP option tags are:
3gpp-pipelined3gpp-switch3gpp-switch-req-sdp3gpp-switch-stream
8. IANA Considerations π
8.1. SDP Registrations π
IANA has registered the SDP attributes listed below in the "Session Description Protocol (SDP) Parameters" registry, which is available from http://www.iana.org/ β¨
the contact person for this registration is Magnus Westerlund (email: magnus.westerlund@ericsson.com; phone: +46 8 719 0000) π
here are the SDP protocol identifiers ("proto") that got registered:
SDP Protocol Identifiers ("proto"):
Name: UDP/MBMS-FEC/RTP/AVP
Long form: 3GPP MBMS FEC-protected RTP/AVP over UDP
Type of name: proto
Purpose: 3GPP 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. This protocol identifier indicates
that the FEC-protected data is RTP using the
AVP profile.
Reference: RFC 6064, 3GPP TS 26.346
Name: UDP/MBMS-FEC/RTP/SAVP
Long form: 3GPP MBMS FEC-protected RTP/SAVP over UDP
Type of name: proto
Purpose: 3GPP 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. This protocol identifier indicates
that the FEC-protected data is RTP using the
Secure AVP profile (SAVP).
Reference: RFC 6064, 3GPP TS 26.346
Name: UDP/MBMS-REPAIR
Long form: 3GPP MBMS FEC repair symbols over UDP
Type of name: proto
Purpose: 3GPP 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. This protocol identifier indicates
that the FEC repair data is sent over UDP.
Reference: RFC 6064, 3GPP TS 26.346
and now the SDP attributes (att-field) π¦
SDP Attribute ("att-field"):
Attribute name: X-predecbufsize
Long form: Pre-decoder buffer size
Type of name: att-field
Type of attribute: Media level only
Subject to charset: No
Purpose: See Section 4.1
Reference: 3GPP TS 26.234, Section 5.3.3.2
Values: See Reference
Attribute name: X-initpredecbufperiod
Long form: Pre-decoder initial buffering period
Type of name: att-field
Type of attribute: Media level only
Subject to charset: No
Purpose: See Section 4.1
Reference: 3GPP TS 26.234, Section 5.3.3.2
Values: See Reference
Attribute name: X-initpostdecbufperiod
Long form: Post-decoder initial buffering period
Type of name: att-field
Type of attribute: Media level only
Subject to charset: No
Purpose: See Section 4.1
Reference: 3GPP TS 26.234, Section 5.3.3.2
Values: See Reference
Attribute name: X-decbyterate
Long form: Peak decoding rate in bytes per second
Type of name: att-field
Type of attribute: Media level only
Subject to charset: No
Purpose: See Section 4.1
Reference: 3GPP TS 26.234, Section 5.3.3.2
Values: See Reference
Attribute name: 3gpp-videopostdecbufsize
Long form: Post decoder buffer size
Type of name: att-field
Type of attribute: Media level only
Subject to charset: No
Purpose: See Section 4.1
Reference: 3GPP TS 26.234, Section 5.3.3.2
Values: See Reference
Attribute name: framesize
Long form: Maximum Video Frame Size
Type of name: att-field
Type of attribute: Media level only
Subject to charset: No
Purpose: See Section 4.2
Reference: 3GPP TS 26.234, Section 5.3.3.2
Values: See Reference
Attribute name: 3GPP-Integrity-Key
Long form: 3GPP DRM Integrity Key
Type of name: att-field
Type of attribute: Session level only
Subject to charset: No
Purpose: See Section 4.3
Reference: 3GPP TS 26.234, Sections 5.3.3.2 and K.2.2.1
Values: See Reference
Attribute name: 3GPP-SRTP-Config
Long form: 3GPP DRM SRTP Configuration
Type of name: att-field
Type of attribute: Media level only
Subject to charset: No
Purpose: See Section 4.3
Reference: 3GPP TS 26.234, Sections 5.3.3.2 and K.2.2.2
Values: See Reference
Attribute name: 3GPP-SDP-Auth
Long form: 3GPP DRM Integrity SDP Authentication
Type of name: att-field
Type of attribute: Session level only
Subject to charset: No
Purpose: See Section 4.3
Reference: 3GPP TS 26.234, Sections 5.3.3.2 and K.2.2.3
Values: See Reference
Attribute name: alt
Long form: Alternative SDP line
Type of name: att-field
Type of attribute: Media level only
Subject to charset: No
Purpose: See Section 4.4
Reference: 3GPP TS 26.234, Section 5.3.3.3
Values: See Reference
Attribute name: alt-default-id
Long form: Default alternative ID
Type of name: att-field
Type of attribute: Media level only
Subject to charset: No
Purpose: See Section 4.4
Reference: 3GPP TS 26.234, Section 5.3.3.3
Values: See Reference
Attribute name: alt-group
Long form: Grouping of SDP Line alternatives
Type of name: att-field
Type of attribute: Session level only
Subject to charset: No
Purpose: See Section 4.4
Reference: 3GPP TS 26.234, Section 5.3.3.4
Values: See Reference
Attribute name: 3GPP-Adaptation-Support
Long form: 3GPP Adaptation Support
Type of name: att-field
Type of attribute: Media level only
Subject to charset: No
Purpose: See Section 4.5
Reference: 3GPP TS 26.234, Section 5.3.3.5
Values: See Reference
Attribute name: 3GPP-QoE-Metrics
Long form: 3GPP Quality of Experience Metrics
Type of name: att-field
Type of attribute: Session and Media level
Subject to charset: No
Purpose: See Section 4.6
Reference: 3GPP TS 26.234, Section 5.3.3.6
Values: See Reference
Attribute name: 3GPP-Asset-Information
Long form: 3GPP Asset Information
Type of name: att-field
Type of attribute: Session and Media level
Subject to charset: No
Purpose: See Section 4.7
Reference: 3GPP TS 26.234, Section 5.3.3.7
Values: See Reference
Attribute name: mbms-mode
Long form: MBMS Bearer Mode Declaration
Type of name: att-field
Type of attribute: Session and Media level
Subject to charset: No
Purpose: See Section 5.1
Reference: 3GPP TS 26.346, Section 7.3.2.7
Values: See Reference
Attribute name: mbms-flowid
Long form: FEC Flow ID
Type of name: att-field
Type of attribute: Media level
Subject to charset: No
Purpose: See Section 5.2
Reference: 3GPP TS 26.346, Section 8.3.1.9
Values: See Reference
Attribute name: mbms-repair
Long form: MBMS Repair
Type of name: att-field
Type of attribute: Session and Media level
Subject to charset: No
Purpose: See Section 5.3
Reference: 3GPP TS 26.346, Section 8.3.1.8
Values: See Reference
that's the whole registry, and it's a lot of attributes! πΈ the bit at the bottom with mbms-repair wraps up Section 8.1 π«Ά
8.2. RTSP Registrations β¨
okay so IANA registered a whole bunch of RTSP headers in the RTSP/1.0 Headers table of the "Real Time Streaming Protocol (RTSP)/1.0 Parameters" registry π (you can find it at http://www.iana.org/).
ngl this part is a lot of details but it's giving organized π. Each header's definition lives in 3GPP TS 26.234, so the entries below just point back to it.
Quick heads up on the registry itself: it wants a Standards document, ideally an IETF RFC. The headers are defined in a technical standards document from 3GPP, but this RFC is being used to submit the registration so more people inside the IETF can find out about them π¦.
The contact person for this registration is Magnus Westerlund (email: magnus.westerlund@ericsson.com; phone: +46 8 719 0000) π.
Here's the full list of headers, exactly as registered:
Header Name: 3GPP-Freshness-Token
Purpose: See Section K.2 of 3GPP TS 26.234
Methods: DESCRIBE Requests
Reference: Section K.2.2.4 of 3GPP TS 26.234
Values: See Reference
Header Name: 3GPP-Link-Char
Purpose: See Section 5.3.2.1 of 3GPP TS 26.234
Methods: SETUP, PLAY, OPTIONS, or SET_PARAMETER Requests
Reference: Section 5.3.2.1 of 3GPP TS 26.234
Values: See Reference
Header Name: 3GPP-Adaptation
Purpose: See Section 5.3.2.2 of 3GPP TS 26.234
Methods: SETUP, PLAY, OPTIONS, or SET_PARAMETER Requests
and Responses
Reference: Section 5.3.2.2 of 3GPP TS 26.234
Values: See Reference
Header Name: 3GPP-QoE-Metrics
Purpose: See Section 5.3.2.3.1 of 3GPP TS 26.234
Methods: SETUP, PLAY, OPTIONS, or SET_PARAMETER Requests
and Responses
Reference: Section 5.3.2.3.1 of 3GPP TS 26.234
Values: See Reference
Header Name: 3GPP-QoE-Feedback
Purpose: See Section 5.3.2.3.2 of 3GPP TS 26.234
Methods: SET_PARAMETER, PAUSE, or TEARDOWN Requests
Reference: Section 5.3.2.3.2 of 3GPP TS 26.234
Values: See Reference
Header Name: Switch-Stream
Purpose: See Section 5.5.4.2 of 3GPP TS 26.234
Methods: PLAY Requests and Responses
Reference: Section 5.5.4.2 of 3GPP TS 26.234
Values: See Reference
Header Name: SDP-Requested
Purpose: See Section 5.5.4.4 of 3GPP TS 26.234
Methods: PLAY Requests
Reference: Section 5.5.4.4 of 3GPP TS 26.234
Values: See Reference
Header Name: Pipelined-Requests
Purpose: See Section 5.5.3 of 3GPP TS 26.234
Methods: SETUP and PLAY Requests
Reference: Section 5.5.3 of 3GPP TS 26.234
Values: See Reference
Header Name: x-predecbufsize
Purpose: See Section 5.3.2.4 of 3GPP TS 26.234
Methods: PLAY Response
Reference: Section 5.3.2.4 of 3GPP TS 26.234
Values: See Reference
Header Name: x-initpredecbufperiod
Purpose: See Section 5.3.2.4 of 3GPP TS 26.234
Methods: PLAY Response
Reference: Section 5.3.2.4 of 3GPP TS 26.234
Values: See Reference
Header Name: x-initpostdecbufperiod
Purpose: See Section 5.3.2.4 of 3GPP TS 26.234
Methods: PLAY Response
Reference: Section 5.3.2.4 of 3GPP TS 26.234
Values: See Reference
Header Name: 3gpp-videopostdecbufsize
Purpose: See Section 5.3.2.4 of 3GPP TS 26.234
Methods: PLAY Response
Reference: Section 5.3.2.4 of 3GPP TS 26.234
Values: See Reference
Header Name: Supported
Purpose: See Section 5.5.2.2.2 of 3GPP TS 26.234
Methods: Any Request and Response
Reference: Section 5.5.2.2.2 of 3GPP TS 26.234
Values: See Reference
Next up, the option tags π§. IANA registered these in the RTSP/1.0 Option Tags table of the same "Real Time Streaming Protocol (RTSP)/1.0 Parameters" registry, also at http://www.iana.org/ πΈ.
Option tag: 3gpp-pipelined
Purpose: See Section 5.5.3 of 3GPP TS 26.234
Applies to: Client and Server
Reference: Section 5.5.3 of 3GPP TS 26.234
Values: See Reference
Option tag: 3gpp-switch
Purpose: See Section 5.5.4.2 of 3GPP TS 26.234
Applies to: Client and Server
Reference: Section 5.5.4.2 of 3GPP TS 26.234
Values: See Reference
Option tag: 3gpp-switch-req-sdp
Purpose: See Section 5.5.4.4 of 3GPP TS 26.234
Applies to: Client and Server
Reference: Section 5.5.4.4 of 3GPP TS 26.234
Values: See Reference
Option tag: 3gpp-switch-stream
Purpose: See Section 5.5.4.5 of 3GPP TS 26.234
Applies to: Client and Server
Reference: Section 5.5.4.5 of 3GPP TS 26.234
Values: See Reference
9. Security Considerations π
this section is seriously important, bestie, so read it properly π¨
SDP attributes can be changed by an attacker unless they're integrity protected and authenticated π±. For this, the security considerations of the SDP specification [RFC4566] should be reviewed. The registered SDP attributes are open to modification or removal attacks, and those can cause serious problems, like failing to use the service or getting reduced quality π.
The registered RTSP headers are also open to insertion, deletion, or modification attacks, kind of like SDP attributes. In this case too, the attacks can make the service fail or make the streamed content look worse π.
The three SDP protocol identifiers don't add any new security threats by themselves compared to other protocol identifiers in SDP π. That said, the media stream and the protocols that the SDP protocol identifier identifies and configures can have security issues of their own π« .
10. References π
10.1. Normative References
[MBMS] 3GPP TS 26.346 version 7.10.0 (2009-03), "Multimedia
Broadcast/Multicast Service (MBMS); Protocols and codecs".
[PSS-234] 3GPP TS 26.234 version 7.7.0 (2009-03), "Transparent end-
to-end Packet-switched Streaming Service (PSS); Protocols
and codecs".
[PSS-3GP] 3GPP TS 26.244 version 7.3.0 (2007-12), "Transparent end-
to-end packet switched streaming service (PSS); 3GPP file
format (3GP)".
[RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768,
August 1980.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and
Video Conferences with Minimal Control", STD 65, RFC 3551,
July 2003.
[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
Norrman, "The Secure Real-time Transport Protocol (SRTP)",
RFC 3711, March 2004.
10.2. Informative References
[AES] NIST, "Advanced Encryption Standard (AES)", FIPS PUB 197,
<http://www.nist.gov/itl/fipscurrent.cfm>.
[PSS-233] 3GPP TS 26.233 version 7.0.0 (2007-06), "Transparent end-
to-end packet switched streaming service (PSS) General
Description".
[RFC2326] Schulzrinne, H., Rao, A., and R. Lanphier, "Real Time
Streaming Protocol (RTSP)", RFC 2326, April 1998.
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
with Session Description Protocol (SDP)", RFC 3264,
June 2002.
[RFC3890] Westerlund, M., "A Transport Independent Bandwidth
Modifier for the Session Description Protocol (SDP)",
RFC 3890, September 2004.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006.
[RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data
Encodings", RFC 4648, October 2006.
Authors' Addresses π
Magnus Westerlund
Ericsson
Farogatan 6
Stockholm SE-164 80
SWEDEN
Phone: +46 10 7190000
Fax: +46 10 757 55 50
EMail: magnus.westerlund@ericsson.com
Per Frojdh
Ericsson
Farogatan 6
Stockholm SE-164 80
SWEDEN
Phone: +46 10 7190000
Fax: +46 10 757 55 50
EMail: per.frojdh@ericsson.com
π¦ where this page comes from
- ietf: rfc6064 2011-01
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms