RFC 3926 describes required and optional parameters for FLUTE session and media descriptors. This clause specifies SDP for FLUTE session that is used for the MBMS download and service announcement sessions. The formal specification of the parameters is given in ABNF
RFC 5234.
The semantics of a Session Description of an MBMS download session includes the following parameters:
-
The sender IP address.
-
The number of channels in the session.
-
The destination IP address and port number for each channel in the session per media.
-
The Transport Session Identifier (TSI) of the session.
-
The start time and end time of the session.
-
The protocol ID (i.e. FLUTE/UDP).
-
Media type(s) and fmt-list.
-
Data rate using existing SDP bandwidth modifiers.
-
Mode of MBMS bearer per media.
-
FEC capabilities and related parameters.
-
Service-language(s) per media.
-
QoE Metrics (as defined in clauses 8.3.2.1 and 8.4).
-
Alternative TMGI
This list includes the parameters required by FLUTE in
RFC 3926
These shall be expressed in SDP (
RFC 4566 and
RFC 4570) syntax according to the following clauses.
There shall be exactly one IP sender address per MBMS download session, and thus there shall be exactly one IP source address per complete MBMS download session SDP description. The IP source address shall be defined according to the source-filter attribute (
"a=source-filter:") (
RFC 4566 and
RFC 4570) for both IPv4 and IPv6 sources, with the following exceptions:
-
Exactly one source address may be specified by this attribute such that exclusive-mode shall not be used and inclusive-mode shall use exactly one source address in the <src-list>.
-
There shall be exactly one source-filter attribute per complete MBMS download session SDP description, and this shall be in the session part of the session description (i.e. not per media).
-
The * value shall be used for the <dest-address> subfield, even when the MBMS download session employs only a single LCT (multicast) channel.
Only one FLUTE channel is allowed per FLUTE session in the present document and thus there is no further need for a descriptor of the number of channels.
The FLUTE channel shall be described by the media-level channel descriptor. These channel parameters shall be per channel:
-
IP destination address.
-
Destination port number.
The IP destination address shall be defined according to the
"connection data" field (
"c=") of SDP
RFC 4566. The destination port number shall be defined according to the <port> sub-field of the media announcement field (
"m=") of SDP
RFC 4566.
The presence of a FLUTE session on a certain channel shall be indicated by using the
"m-line" in the SDP description as shown in the following example:
-
m=application 12345 FLUTE/UDP 0
-
c=IN IP6 FF1E:03AD::7F2E:172A:1E24/1
In the above SDP attributes, the m-line indicates the media used and the c-line indicates the corresponding channel. Thus, in the above example, the m-line indicates that the media is transported on a channel that uses FLUTE over UDP. Further, the c-line indicates the channel address, which, in this case, is an IPv6 address.
The combination of the TSI and the IP source address identifies the FLUTE session. Each TSI shall uniquely identify a FLUTE session for a given IP source address during the time that the session is active, and also for a large time before and after the active session time (this is also an LCT requirement - see
RFC 3451).
The TSI shall be defined according the SDP descriptor given below. There shall be exactly one occurrence of this descriptor in a complete FLUTE SDP session description and it shall appear at session level.
The syntax in ABNF is given below:
-
flute-tsi-line = "a=flute-tsi:" tsi CRLF
-
tsi = 1*15DIGIT
RFC 3926 requires the use of the Transport Object Identifier (TOI) header field (with one exception for packets with no payload when the A flag is used). The transport of a single FLUTE file requires that multiple TOIs are used (TOI 0 for FDT Instances). Thus, there is no further need to indicate to receivers that the session carries packets for more than one object and no SDP attribute (or other FLUTE out of band information) is needed for this.
A MBMS download session start and end times shall be defined according to the SDP timing field (
"t=")
RFC 4566.
A new MBMS bearer mode declaration attribute is defined which results in, e.g.:
-
a=mbms-mode:broadcast 123869108302929 1
-
OR
-
a=mbms-mode:broadcast-mbsfn 123869108302929
The MBMS bearer mode declaration attribute shall be used in session descriptions using one or more MBMS broadcast mode media or broadcast-mbsfn mode media. If all media declarations use MBMS broadcast mode or broadcast-mbsfn mode, then the SDP attribute may be declared at session level. In that case the session level attribute applies to all media without a media level occurrence of the
"mbms-mode" attribute. If one or more media using MBMS multicast mode is present in the same declaration as media using MBMS broadcast mode, then only media using the MBMS broadcast mode or broadcast-mbsfn mode will contain the
"mbms-mode" attribute.
-
mbms-bearer-mode-declaration-line = "a=mbms-mode:" ("broadcast" SP tmgi SP mbms-counting-information) / ("broadcast-mbsfn" SP tmgi) CRLF
-
tmgi = 1*15DIGIT
-
mbms-counting-information = 1 * DIGIT
Please find below an example of the building of the TMGI:
UK MCC = 234 (MCC Digit 1 = 2; MCC Digit 2 = 3 and MCC Digit 3 = 4)
Vodafone UK MNC = 15
Therefore, with padding, Vodafone UK MNC = 15F (MNC Digit 1 = 1; MNC Digit 2 = 5 and MNC Digit 3 = F)
MBMS Service ID = 70A886
Therefore, TMGI = 70A886 32F451 (Hex)
Therefore, TMGI = 123869108302929 (Decimal)
The Temporary Mobile Group Identity (tmgi) information element is defined in
TS 24.008 including the coding of the fields. Octets 3 to 8 (MBMS Service ID, MCC and MNC) shall be placed in the tmgi attribute of the MBMS bearer mode declaration line, and are encoded as a decimal number. Octet 3 is the most significant octet. As this is encoded as a decimal number, leading zeros of the MBMS Service ID field may be omitted.
The MBMS Counting Information (mbms-counting-information) information element is defined in
TS 25.413 and indicates whether the RAN level counting procedures are applicable or not for the MBMS broadcast mode. The value 0 corresponds to the information element value of
"not counting" and the value 1 corresponds to the information element value
"counting".
If the MBMS bearer mode declaration attribute is applied at the session level, there shall be exacly one instance of MBMS bearer mode declaration attribute in the Session Description.
A new FEC-declaration attribute is defined which results in, e.g.:
-
a=FEC-declaration:0 encoding-id=1
This attribute may be used on both session-level and media-level. Multiple instances are allowed to specify several different FEC declarations. The attribute is used on session level to define FEC declarations used by multiple media components. On media level it is used to define FEC declarations which are only valid for a single media component. If FEC declarations on both session and media level use the same reference number (fec-ref) then the media level declaration takes precedence for that media component. Each media component references one FEC declaration using the
"a=FEC" attribute.
This attribute is optional to use for the download delivery method as the information will be available elsewhere (e.g. FLUTE FDT Instances). If this attribute is not used, and no other FEC-OTI information is signalled to the UE by other means, the UE may assume that support for FEC id 0 is sufficient capability to enter the session.
A new FEC-declaration reference attribute is defined which results in, e.g.:
This is a media-level only attribute, used as a short hand to reference one of one or more FEC-declarations.
The syntax for the attributes in ABNF
RFC 5234 is:
-
fec-declaration-line = "a=FEC-declaration:" fec-ref SP fec-enc-id [";" SP fec-inst-id] CRLF
-
fec-ref = 1*3DIGIT ; value is the SDP-internal identifier for FEC-declaration.
-
fec-enc-id = "encoding-id=" enc-id
-
enc-id = 1*DIGIT ; value is the FEC encoding ID used
-
fec-inst-id = "instance-id=" inst-id
-
inst-id = 1*DIGIT ; value is the FEC Instance ID used.
-
fec-line = "a=FEC:" fec-ref CRLF
The existing SDP attribute
"a=lang" is used to label the language of any language-specific media. The values are taken from
RFC 4646 which in turn takes language and (optionally) country tags from ISO 639
[74] and ISO 3166
[75] (e.g.
"a=lang:EN-US"). These are the same tags used in the User Service Description XML.
The maximum bit rate required by this FLUTE session shall be specified using the
"AS" bandwidth modifier
RFC 4566 on media level. The Application Specific (AS) bandwidth for a FLUTE session shall be the largest sum of the sizes of all packets transmitted during any one second long period of the session, expressed as kilobits. The size of the packet shall be the complete packet, i.e. IP, UDP and FLUTE headers, and the data payload.
The
"FEC-redundancy-level" declaration attribute is defined in the form:
-
a=FEC-redundancy-level:<fec-ref> <fec-redun-lev>,
This attribute is associated with the FEC-declaration attribute defined in
clause 7.3.2.8, with the same
<fec-ref> field value. It may be used at the session or media level, and declares the redundant level of FEC protection, as a percentage, applied to the media component(s) carried on the associated MBMS download session. For example, a FEC redundancy level of 40% means that for an FEC-encoded block of K symbols, 1.4*K symbols are broadcast over the air. The applicability of the FEC redundancy level parameter, at the session or media level, mirrors the session- or media-level use of the corresponding FEC-declaration attribute with the same
<fec-ref> value. The FEC-redundancy-level attribute is optional to use as a FEC declaration.
The syntax for this attribute, expressed in ABNF per
RFC 5234, is as follows:
-
<fec-ref> is as defined in clause 7.3.2.8,
-
<fec-redun-lev> = "redundancy level=" <redun-lev>, and
-
<redun-lev> = 1*3DIGIT; represents the redundant amount of FEC protection applied to the file object, expressed as an integer percentage value.
In the event that both the FDT extension attribute
"FEC-Redundancy-Level" as defined in
clause 7.2.16, and the SDP FEC redundancy level indication are present, the declaration in the FDT shall take precedence from the UE processing perspective.
An alternative TMGI declaration attribute is defined at the session level with the following ABNF
RFC 5234 syntax:
-
"a=alternative-tmgi:" tmgi-list CRLF
-
tmgi-list = tmgi *("," tmgi)
-
tmgi = 1*15DIGIT
The content(s) of an MBMS User Service may be delivered simultaneously in multiple PLMN areas, over different MBMS bearer service instances (each identified by a unique TMGI). In this case, the alternative-tmgi attribute shall be present at the session level and lists all alternative values to the TMGI contained in the session-level MBMS bearer mode declaration attribute, used for the broadcast of the FLUTE session data.
When this attribute is present, the UE shall determine that the service is available at its current location, upon detecting a match between the TMGI derived from the PLMN-ID representing its current location, with one of the TMGIs from the following list:
-
The set of TMGI values comprising the default TMGI in the MBMS bearer mode declaration attribute and
-
the TMGIs contained in the alternative-tmgi attribute.
Absence of a match shall be an indication to the UE that the service not available at its current location.
The alternative-tmgi declaration attribute is optional. It is not a replacement for the MBMS mode declaration attribute as defined in
clause 7.3.2.7. In addition to the MBMS mode declaration attribute (which is the default TMGI), at most a single instance of the alternative-tmgi declaration attribute shall be present in the Session Description. The same definition of the Temporary Mobile Group Identity (tmgi) as used in
clause 7.3.2.7 shall be applied.
For the MBMS download delivery method, the <proto> field of the media descriptions ("m=") line of the SDP shall be set to 'FLUTE/UDP'.
For the MBMS download delivery method, the media type and format list information shall be set in the "m=" line of the SDP as follows. The <media> field shall be set to 'application' and the <fmt> field shall be set to '0'.
Here is a full example of SDP description describing a FLUTE session:
v=0
o=user123 2890844526 2890842807 IN IP6 2201:056D::112E:144A:1E24
s=File delivery session example
i=More information
t=2873397496 2873404696
a=mbms-mode:broadcast 123869108302929 1
a=FEC-declaration:0 encoding-id=1
a=source-filter: incl IN IP6 * 2001:210:1:2:240:96FF:FE25:8EC9
a=flute-tsi:3
m=application 12345 FLUTE/UDP 0
c=IN IP6 FF1E:03AD::7F2E:172A:1E24/1
b=64
a=lang:EN
a=FEC:0
Below is a second example of an SDP description describing a FLUTE session and which indicates that 25% redundant FEC protection is applied to the FEC encoding of the video Segments of the associated DASH-formatted content:
v=0
o=user123 2890844526 2890842807 IN IP6 2201:056D::112E:144A:1E24
s=Download session carrying 2-hour DASH-encoded program
i=More information
t=3615124600 3615131800
a=mbms-mode:broadcast 123869108302929 1
a=FEC-declaration:0 encoding-id=1
a=FEC-redundancy-level:0 redundancy-level=25
a=source-filter: incl IN IP6 * 2001:210:1:2:240:96FF:FE25:8EC9
a=flute-tsi:5
m=video 10111 FLUTE/UDP 0
c=IN IP6 FF1E:03AD::7F2E:172A:1E24/1
b=512
a=lang:EN
Below is a third example of an SDP description describing a FLUTE session with three TMGIs: one associated with the MBMS bearer mode declaration attribute, and two others that are carried in the
"alternative-tmgi" attribute:
v=0
o=user123 2890844526 2890842807 IN IP6 2201:056D::112E:144A:1E24
s=Download session carrying 2-hour DASH-encoded program
i=More information
t=3615124600 3615131800
a=mbms-mode:broadcast-mbsfn 123869108302929
a=FEC-declaration:0 encoding-id=1
a=FEC-redundancy-level:0 redundancy-level=25
a=source-filter: incl IN IP6 * 2001:210:1:2:240:96FF:FE25:8EC9
a=flute-tsi:5
a=alternative-tmgi:123869108302899,123869108302915
m=video 10111 FLUTE/UDP 0
c=IN IP6 FF1E:03AD::7F2E:172A:1E24/1
b=512
a=lang:EN