Tech-invite3GPPspaceIETFspace
21222324252627282931323334353637384‑5x

Content for  TS 26.346  Word version:  19.1.0

Top   Top   Up   Prev   Next
0…   4…   5…   5.3…   6   7…   7.3…   8…   8A…   8B…   9…   9.4…   10…   11…   12…   A   B…   C…   D…   G…   H…   J…   K…   L…   M…

 

7.3  SDP for Download Delivery Methodp. 63

7.3.1  Introductionp. 63

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.

7.3.2  SDP parameters for MBMS download sessionp. 63

7.3.2.0  General |R17|p. 63

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.
Up

7.3.2.1  Sender IP addressp. 64

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:
  1. 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>.
  2. 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).
  3. The * value shall be used for the <dest-address> subfield, even when the MBMS download session employs only a single LCT (multicast) channel.
Up

7.3.2.2  Number of channelsp. 64

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.

7.3.2.3  Destination IP address and port number for channelsp. 64

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.
Up

7.3.2.4  Transport Session Identifier (TSI) of the sessionp. 65

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
Up

7.3.2.5  Multiple objects transport indicationp. 65

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.
Up

7.3.2.6  Session timing parametersp. 65

A MBMS download session start and end times shall be defined according to the SDP timing field ("t=") RFC 4566.

7.3.2.7  Mode of MBMS bearer per mediap. 65

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.
Up

7.3.2.8  FEC capabilities and related parametersp. 66

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.:
  • a=FEC:0
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
Up

7.3.2.9  Service-language(s) per mediap. 66

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.
Up

7.3.2.10  Bandwidth specificationp. 66

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.
Up

7.3.2.11  FEC redundancy level |R11|p. 67

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.
Up

7.3.2.12  Alternative TMGI |R11|p. 67

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.
Up

7.3.2.13  Transport protocol identification |R16|p. 67

For the MBMS download delivery method, the <proto> field of the media descriptions ("m=") line of the SDP shall be set to 'FLUTE/UDP'.

7.3.2.14  Media type and fmt-list |R16|p. 68

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'.

7.3.3  SDP examples for FLUTE Sessionp. 68

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
Up

7.4  OMA Push usage for MBMS Download |R7|p. 69

7.4.1  Introductionp. 69

OMA Push may be used for MBMS download reception when MBMS Bearers are not available. The MBMS UE registers its MSISDN with the BM-SC to receive the Download Sessions using OMA Push. The BM-SC distributes FLUTE FDT instance which allows the MBMS UE to fetch files of interest.
If the MBMS UE is out of its home network and if at least one unicastAccessURI element is available in the deliver method description, the MBMS UE should register its MBMS Download Services with the BM-SC.

7.4.2  HTTP registration and deregistration procedurep. 69

The MBMS UE may register and deregister for unicast service delivery, if the User Service Description for this service includes at least one unicastAccessURI element in the deliveryMethod element.
The HTTP GET method as specified in RFC 9112 is used for this purpose. If more than one unicastAccessURI is provided in the deliveryMethod element, the UE shall randomly select one.
The syntax of the above request method is expressed in ABNF according to RFC 5234 as follows:
  • unicast_access_request_http_URL = unicast_access_URI "?" query
  • unicast_access_URI = <unicastAccessURI from the User Service Description; URI-reference is as defined in RFC 3986.>
  • query = action "&" serviceId "&" msisdn
  • action = "action=" ("register" / "Register" / "deregister" / "Deregister")
  • serviceId = "serviceId=" <value of the serviceId attribute of the User Service Description>
  • msisdn = "msisdn=" 1*DIGIT <format as defined in TS 23.003>
The BM-SC responds with an "200 OK" status code in case of successful registration or deregistration. With the response to a successful registration request, an Associated Delivery Procedure fragment as defined in clause 9.5 shall be delivered to the MBMS UE. The MBMS UE uses the File Repair procedure as described in the received associated delivery procedure description fragment. The file repair procedure is defined in clause 9.3.
An HTTP GET request with "action" value set to "register" or "Register" shall be sent to register the MBMS UE for unicast file delivery service. The request shall also include the serviceId and the MSISDN of the MBMS UE. The format for the MSISDN is defined in TS 23.003. The following is an example for a registration request:
GET
/unicasDelivery?action=Register&serviceId=urn:3gpp:0010120123hotdog&MSISDN=436642012345 HTTP/1.1
Host: bmsc.example.com
An HTTP GET request with "action" value set to "deregister" or "Deregister" shall be sent to deregister the MBMS UE from the unicast file delivery service. The request also includes the service ID and the MSISDN number of the MBMS UE as shown in the following example:
GET
/unicasDelivery?action=Deregister&serviceId=urn:3gpp:0010120123hotdog&MSISDN=436642012345 HTTP/1.1
Host: bmsc.example.com
Up

7.4.3  MBMS Download Delivery Method over OMA push bearersp. 69

MBMS Download over OMA Push bearers are formatted according to the OMA Push OTA specification [79].
OTA-WSP shall be used over unicast bearers. Application port addressing shall be used as specified in [79]. The application ID to be used is 0x9045 as allocated by OMNA [85].
OTA-HTTP may be used over the HTTP push bearer. Application port addressing shall be used as specified in [79]. The application ID to be used is 0x9045 as allocated by OMNA [85].
The Content-Encoding header shall be included if GZip is used.
The MBMS UE receives the FLUTE FDT instance and the Download Header instance via OMA Push OTA protocol [79]. Both documents are encapsulated in a multipart MIME document. Optionally, an associated delivery description fragment as specified in clause 9.5 is part of the pushed document. The FLUTE FDT instance is identified by the MIME media type "application/fdt+xml" and the associated delivery description fragment by the MIME media type specified in clause C.7. The Download Header instance should use a default MIME media type "application/xml".
The XML schema for the Download Header fragment is specified in Listing 7.4.3-1 below. The serviceId element contains the unique identifier of the MBMS service. The MBMS UE uses the Service Id to select the target application and has received the serviceId with the User Service Annoucement fragment. The format of the serviceId element is defined in clause 11.2.1.1.
The fdtInstanceId element of the Download Header instance shall contain the FDT instance Identifier for the sent FDT instance.
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="urn:3GPP:metadata:2007:MBMS:downloadHeader"
 xmlns="urn:3GPP:metadata:2007:MBMS:downloadHeader"
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 attributeFormDefault="unqualified">
 <xs:annotation>
  <xs:documentation>MBMS Download Header schema</xs:documentation>
  <xs:documentation>3GPP TS 26.346 clause 7.4.3</xs:documentation>
  <xs:documentation>Copyright © 2007, 3GPP Organizational Partners
  (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.</xs:documentation>
 </xs:annotation>
 <xs:element name="mbmsDownloadHeader">
  <xs:complexType>
   <xs:sequence>
    <xs:element name="serviceId" type="xs:anyURI"/>
    <xs:element name="fdtInstanceId" type="xs:unsignedInt"/>
    <xs:any namespace="##other" processContents="lax" minOccurs="0"/>
   </xs:sequence>
  </xs:complexType>
 </xs:element>
</xs:schema>
The UE will then have necessary information about all Transport Objects in the FLUTE session, including their fileURIs, content encodings, content lengths etc.
Up

7.5  FLUTE session setup and control with RTSP |R7|p. 70

7.5.1  Introductionp. 70

In case the MBMS User Service contains MBMS streaming and MBMS download sessions, it may be beneficial to control all flows with RTSP. The prime use case of FLUTE session set-up and control with RTSP is for sending MBMS streaming associated presentation data.

7.5.2  SDP handlingp. 70

The FLUTE specific SDP extensions are defined in clause 7. For the FLUTE session establishment using RTSP, a control URI as defined in RFC 2326 shall be present for the FLUTE media description. Note, a control URI is defined by the "a=control:" SDP field according to RFC 2326.

7.5.3  RTSP SETUP methodp. 71

The control URI as defined in RFC 2326 shall be present for each FLUTE media description in the SDP. The control URI is used within the RTSP SETUP method to establish the described FLUTE sessions.
The RTSP transport protocol specifier for FLUTE as defined in RFC 2326 shall be "FLUTE/UDP". One and only one UDP port is allocated for each FLUTE channel.
The following RTP specific parameters shall be used in the transport request and responds header for FLUTE sessions:
  • client_port: This parameter provides the unicast FLUTE port(s) on which the client has chosen to receive FLUTE data.
  • server_port: This parameter provides the unicast FLUTE port(s) on which the server has chosen to send data.
Up

7.5.4  RTSP PLAY methodp. 71

The PLAY method tells the server to start sending data including FLUTE session data as defined in RFC 2326. The RTSP server forwards the FLUTE packets as according by the RTSP range header in the RTSP PLAY.
Only ntp and clock range units may be used with the "Range" headers. Normal Play Time (NPT) indicates the stream absolute position relative to the beginning of the presentation. The NPT consists of a decimal fraction. The clock range header describe the absolute time expressed as ISO 8601 timestamps, using UTC (GMT).
Up

7.5.5  RTSP PAUSE methodp. 71

The PAUSE request causes the stream delivery including all FLUTE sessions to be interrupted (halted) as defined in RFC 2326.

7.5.6  RTSP TEARDOWN methodp. 71

The TEARDOWN client to server request stops the stream delivery including all FLUTE data delivery for the given URI, freeing the resources associated with it. Details for the TEARDOWN method are defined in RFC 2326.

7.6  Hybrid service offerings for DASH-over-MBMS User Service and Generic Application Service |R11|p. 71

7.6.1  Introduction |R12|p. 71

As conveyed by the application service document (e.g. a unified MPD in case of DASH), an Application Service belonging to a MBMS User Service and carried by the MBMS download delivery method may be made available such that the resources are partly available on broadcast and are partly available in unicast.
This clause uses the generic term "resources". However, in case of DASH-over-MBMS, the term "resources" is expected to refer to Segments associated to Representations.
Two main use cases are considered in this context:
  1. unicast fallback reception should the UE move outside the MBMS coverage area of the corresponding User Service. Subsequently, should the UE move back into MBMS coverage, it may be required by network operator policy that only broadcast reception of the Service is permitted (network policy and the means for its delivery and execution is outside the scope of this specification). It may also be desired by the MBMS service provider that reception of individual broadcast resources are restricted by MBMS service areas.
  2. unicast-supplemented service offerings, for which certain resources are only available on unicast and these resources provide an additional user experience and therefore should be accessible by the application, regardless whether the MBMS Client is in the coverage for broadcast reception or not.
In this specification, the MBMS User Service Bundle Description fragment is extended to support these capabilities. The extensions comprise two parts:
  1. Parameters are added to the deliveryMethod child element of the userServiceDescription element, which identify whether content requested by the client application of the MBMS Client, e.g., a DASH client, is carried over unicast or broadcast transport (or both), and if the information is redundant or supplementary to the user experience. In addition, for application service content delivered via broadcast, the MBMS service areas in which it is restricted for reception can be specified.
  2. A new child element is added to the userServiceDescription element for providing the identities of identical and alternative versions of an application service content item which can be substituted for one another, in accordance to coverage conditions (i.e., inside or outside of MBMS coverage), or policy requirements (e.g., "only broadcast reception of content is allowed when the UE is within MBMS coverage"). In addition, a reference is provided to an Application Service Description document, that describes both broadcast and unicast resources, to enable the MBMS Client to acquire this metadata fragment and subsequently passing it to the corresponding application. In the case that the application service is DASH content delivered over MBMS, the unified MPD is passed to the DASH client. For details on a proper communication between the DASH client and the MBMS Client, refer to clause 7 of TS 26.347.
Up

7.6.2  Extension of the deliveryMethod element |R12|p. 72

7.6.2.1  Broadcast resource-specific metadatap. 72

As a child element of deliveryMethod, each instance of r12:broadcastAppService denotes all resources that are available over broadcast, i.e. the resources are carried over the MBMS bearer. Each entry of basePattern under all r12:broadcastAppService element(s) is for use by the MBMS Client to match against a portion of the entire resource URL used by the application to request files. A match implies that the corresponding requested resource is carried over an MBMS bearer. For example in DASH over MBMS, should the URL associated with a Segment request contain the BaseURL "http://example.com/per-3/rep-512", and the same BaseURL value were to appear in an instance of r12:broadcastAppService.basePattern, it means that the Representation with Representation@id = '512' is available over broadcast. The basePattern value may, but is not required to, be identical to that of the Representation.BaseURL if present in the MPD.
In addition, each r12:broadcastAppService element may contain one or more serviceArea child elements which specify the service area(s) in which the associated broadcast resources (as identified by basePattern) is delivered/accessible. The semantics of serviceArea complies to the MBMS Service Area Identity as defined in TS 23.003 and TS 36.443. A given broadcast resource may be available in a set of service area(s) in common with, or different from, the service area(s) of any other broadcast resources. Absence of the serviceArea element implies that the availability of the broadcast resources is not restricted by service area. The serviceArea element(s) that may be present in one instance of r12:broadcastAppService element must be a subset of the MBMS Service Area Identities included in the userServiceDescription.availabilityInfo.infoBinding.serviceArea elements for the same serviceId. When one or more serviceArea element(s) are included under one or more r12:broadcastAppService, the union of all the MBMS Service Area Identities identified by the serviceArea elements under all the r12:broadcastAppService must match the list of MBMS Service Area Identities included in the userServiceDescription.availabilityInfo.infoBinding.serviceArea elements for the same serviceId.
Up

7.6.2.2  Redundant unicast resource-specific metadatap. 72

The deliveryMethod element may also include one instance of the r12:unicastAppService element that denotes unicast resources that are redundant to resources available as broadcast resources. Similar to r12:broadcastAppService, each entry of basePattern element under the r12:unicastAppService element is for use by the MBMS Client to match against a portion of the entire file URL used by the application to request files provided in the application service document. A match implies that the associated file is available over unicast delivery, but if broadcast resources are available to the application service, then these resources are of no additional benefit for the user experience. Typically, such resources are particularly relevant in case broadcast resources are not available and the MBMS Client may provide these resources for unicast fallback and service continuity.
For example for DASH over MBMS, should the URL associated with a Segment request contain the BaseURL "http://example.com/per-3/rep-256", and the same BaseURL value were to appear in an instance of r12: unicastAppService.basePattern, it means that the Representation with Representation@id = '256' is available over unicast. The basePattern value may, but is not required to, be identical to that of the Representation.BaseURL if present in the MPD.
Up

7.6.2.2A  Supplementary unicast resource-specific metadata |R15|p. 73

The deliveryMethod element may also include one or more instances of the r15:supplementaryUnicastAppService element to denote one or more available unicast resources which are supplemental to resources provided on broadcast, i.e. they provide an additional user experience. Similar to r12:unicastAppService, each entry of the basePattern element child of the r15:supplementaryUnicastAppService element typically represents a media component delivered over unicast, but with the difference that the information is not redundant and therefore is expected to also be of benefit for the application service when in broadcast coverage.
Up

7.6.2.3  Additional pointsp. 73

A given resource may be delivered/available over one or both transport modes. The broadcast version might be deemed as preferable or even required for reception, for example, in accordance with service provider policy pertaining to location of the UE with respect to MBMS coverage. Based on user preference, and when the UE is in broadcast coverage, the UE may receive media resources delivered over broadcast, as well as additional resources delivered over unicast under r15:supplementaryUnicastAppService.
The presence of the r12:broadcastAppService and/or r12:unicastAppService element under deliveryMethod signifies that the parent MBMS User Service is an application service which contains resources delivered via broadcast and/or unicast modes. One or both of these child elements of deliveryMethod must be present when its parent userServiceDescription element contains the r12:appService element (see clause 7.6.3).
Up

7.6.3  Extension of the userServiceDescription element |R12|p. 73

7.6.3.0  Generalp. 73

Presence of the r12:appService child element of userServiceDescription indicates that the associated MBMS User Service is an application service explicitly linked to the r12:broadcastAppService and r12:unicastAppService elements under deliveryMethod. The r12:appService element may contain either or both the child elements identicalContent and alternativeContent. r12:appService also has the attributes appServiceDescriptionURI and mimeType.

7.6.3.1  Identical contentp. 73

Each identicalContent element under userServiceDescription contains two or more interchangeable URLs, as indicated by the basePattern values, for the same resources. The implication is that the resource could be interchanged in accordance to coverage condition, policy requirements, etc.

7.6.3.2  Alternative contentp. 73

Each alternativeContent element under userServiceDescription contains two or more interchangeable URLs, as indicated by the basePattern values, corresponding to different resources available over broadcast and unicast transport but which could be substituted for one another in accordance to coverage condition, policy requirements, etc. In practical deployment of a DASH-over-MBMS service, eligibility for such switching may additionally require the following conditions to be met:
  1. the employed media codecs and configuration information must be identical between the requested and substituted Representations,
  2. the request does not contain a byte range, and
  3. Segments of the alternative Representations must be time-aligned.
The UE may support the processing of the alternativeContent element.
identicalContent and/or alternativeContent may be present under the r12:appService element because Representations listed in the MPD may be encoded differently, or associated with different configurations for a given encoding scheme, as defined by their Initialization Segments (represented by Initialization Segment Description fragments). Therefore, the mere presence of basePattern entries under r12:broadcastAppService and r12:unicastAppService does not imply that the associated Representations are automatically eligible for interchange between broadcast and unicast reception.
The alternativeContent element shall not be present if the application service is not DASH-over-MBMS.
Up

7.6.3.3  Reference to Unified MPD and other Application Service Documentsp. 74

The attribute appServiceDescriptionURI of r12:appService references an Application Service Deescription which may be a Media Presentation Description fragment corresponding to a unified MPD. In this case, the attribute mimeType of r12:appService specifies the MIME type of the MPD, which may include the optional 'profiles' parameter. The latter parameter declares the interoperability and signals the use of features associated with the DASH Media Presentation described by this MPD. An example value of mimeType is the string "application/dash+xml;profiles=urn:3GPP:PSS:profile:DASH10", which denotes an MPD conforming to the 3GP-DASH Release-10 profile.
Other types of Application Service Description fragments may be supported.
A UE compliant with this specification shall ignore the r12:appService element whose mimeType attribute value is not supported by the UE.
Up

7.7  Keep Updated service |R12|p. 74

7.7.1  Registration procedurep. 74

The MBMS UE may register and deregister for the keep-updated service, if the User Service Description for this eMBMS service includes one KeepUpdatedService element.
The HTTP POST method as specified in RFC 9112 is used for this purpose. A Keep Updated Registration XML fragment is sent to the BM-SC as the body of the POST request. This fragment shall conform to the XML schema in Listing 7.7.1-1 with the filename "TS26346_KeepUpdatedRegistration.xsd".
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="urn:3GPP:metadata:2007:MBMS:downloadHeader"
 xmlns="urn:3GPP:metadata:2007:MBMS:downloadHeader"
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified" attributeFormDefault="unqualified">
 <xs:annotation>
  <xs:documentation>MBMS Keep Updated Registration schema</xs:documentation>
  <xs:documentation>3GPP TS 26.346 clause 7.7.1</xs:documentation>
  <xs:documentation>Copyright © 2007, 3GPP Organizational Partners
  (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.</xs:documentation>
 </xs:annotation>
 <xs:element name="KeepUpdated" type="KeepUpdatedType"/>
 <xs:complexType name="KeepUpdatedType">
  <xs:sequence>
   <xs:element name="fileURL" type="xs:anyURI" maxOccurs="unbounded"/>
  </xs:sequence>
  <xs:attribute name="request" type="RequestType" use="optional" default="Register"/>
  <xs:attribute name="MSISDN" type="xs:string" use="optional"/>
 </xs:complexType>
 <xs:simpleType name="RequestType">
  <xs:restriction base="xs:string">
   <xs:enumeration value="Register"/>
   <xs:enumeration value="Deregister"/>
  </xs:restriction>
 </xs:simpleType>
</xs:schema>
The keep-updated XML fragment shall have the following MIME media type: "application/vnd.3gpp.keep-updated+xml".
An MBMS UE shall de-register when it no longer requires to receive the service. The HTTP POST method is used for de-registration. The set of files that the receiver wishes to de-register may be provided in the de-registration message as the body of the HTTP request. The MBMS UE may de-register all files that it has earlier registered for by sending an empty list.
As part of the request for registration or de-registration, the MBMS UE shall provide its MSISDN number, that may be used by the BM-SC to identify the MBMS Client.
The BM-SC shall respond with an "200 OK" status code in case of a successful registration or deregistration. The body of the reply shall contain a Keep Updated XML fragment that contains all files for which the BM-SC is willing to provide update notifications.
In case the BM-SC is not able to provide the service or if the request fails for any other reason, the BM-SC shall reply with an HTTP 4xx or a 5xx error response code.
Up

7.7.2  Client notification about updatesp. 75

When the BM-SC detects an update on a file or set of files that at least one user has registered for, it shall determine if delivery over MBMS is beneficial or not. The BM-SC should inform all MBMS UEs that have registered for that particular file about the existing file update(s).
The BM-SC informs the UEs about the forthcoming delivery of the file updates using eMBMS by sending an update of the Schedule Description metadata fragment of the keep-updated service USD using the MBMS service announcement procedures over unicast as defined in clause 5.2.5. For updated files that the BM-SC does not intend to broadcast, the file should be marked as unicast only using the r12:unicastOnly attribute in the Schedule Description metadata fragment. The file shall then be accessible using the same URI as provided by the fileURI element.
Up

7.8  Location-specific deliveryMethod |R12|p. 75

An MBMS User Service may be distributed using different delivery methods (i.e., multiple instances of the deliveryMethod child element of the userServiceDescription element), each of which is available only in certain areas. These delivery methods may be carrying exactly the same content but over different MBMS bearers (e.g. over different PLMNs).
For the case that the FLUTE session parameters are exactly the same but are distributed over different MBMS bearers with different TMGIs, the alternative-tmgi attribute as defined in clause 7.3.2.12 shall be used.
For the case that the FLUTE session parameters are different (e.g. different destination IP address, port number, or TSI), the userServiceDescription element shall signal one of the following options:
  • One or more deliveryMethod elements each of which declares the geographical area where the deliveryMethod instance is applicable, and an indication that this deliveryMethod belongs to a group of alternative deliveryMethod elements. The UE shall only use the deliveryMethod whose applicable area matches the current UE location
  • Deliver the session description file (SDP) over unicast, where the UE will receive the SDP file applicable to the UE's location
Up

7.9  Partial file handling |R13|p. 75

7.9.1  Generalp. 75

Files may be lost entirely or partially during the transmission and the MBMS Client may not be able to recover the lost files. This clause provides recommended procedures for handling partial files in the MBMS Client.
A partial file is defined as follows:
  • an FDT Instance is received that contains a File entry with a specific TOI.
  • the object associated to the TOI was not recovered by any recovery procedure (FEC, file repair, etc.). The MBMS Client determines that a file will not be recovered. A file is not recovered if the starting time of the ADPD as defined in clause 9.3.2 is reached for that file and if present, the file repair for that file has not succeeded,
The partial file is the collection of all FDT Instance data that is assigned to the file, i.e.
  • Content-Location (URI of a file).
  • Content-Length (source file length in bytes)
  • Content-Type (content MIME type)
as well as all received bytes including their position in the original file. In addition, the mbms2015:IndependentUnitPositions attribute may be present.
If the application supports the handling of partial files, then the MBMS Client should provide the partial file to the application including the position of all received bytes. The partial file handling capability information from the application to the MBMS Client as well as the handing of the partial file data is generally out of scope of this specification.
However, if the application communicates with the MBMS Client using HTTP methods then
  • the MBMS Client may signal the availability of a partial file to a request according to the Response format as defined in clause 7.9.2.2.
  • The application may signal the capability to handle partial files for using a partial-file-accept request as defined in clause 7.9.2.1. If a partial-file-accept request is sent,
  • the MBMS Client should respond. If it responds it shall use the HTTP Response format as defined in clause 7.9.2.2 and shall include all received bytes in the response.
  • Appropriate examples in the context of DASH over MBMS is provided in clause 7.9.2.3.
Independent units are defined in clause 7.9.3. The MBMS Client may also support handling of independent units. If an MBMS Client supports handling of independent units, it shall also support partial file handling.
Up

7.9.2  Partial file handling with HTTP GET methodp. 76

7.9.2.1  Partial-File-Accept requestp. 76

An application using HTTP GET requests to retrieve files may include in the GET request, the 'Accept' request header as defined in RFC 7231, along with a new 3GPP-defined media type 'application/3gpp-partial'.
By providing this header and issuing such a partial-file-accept request, the application signals that is capable to receive partial file responses as defined in clause 7.9.2.2.
An example of the use of such Accept header is:
Accept: */*, application/3gpp-partial
In this example, the application indicates that it will accept all media types in the response, as well as the specific "incomplete" type designated by application/3gpp-partial.
Up

7.9.2.2  HTTP response format for partial filesp. 76

If the MBMS Client receives a regular HTTP GET request that includes the 'Accept' header but which does not contain media type 'application/3gpp-partial', and the MBMS Client has received a partial file with at least one byte, it should respond with HTTP/1.1 404 Not Found, and include in the response the 'Content-Type' header set to 'application/3gpp-partial'.
  • The response code shall be set to 200 OK
  • The Content-Type header shall be set to application/3gpp-partial.
  • The message body is a multipart message body shall be exactly the same format as the multipart/byteranges media type as described in Appendix A of RFC 7233. The multipart/byteranges media type includes one or more body parts, each with its own Content-Type and Content-Range fields as the means to convey the byte range(s) of the partial file being returned. Each Content-Type header shall be set to the value of the Content-Type provided in the FDT Instance for this file. An extension header may be added 3gpp-access-position providing a byte position at which the handler of assigned to the Content-Type of the file may access the file. The value may be created from the mbms2015: IndependentUnitPositions, if present.
  • A cache directive should be included in the response to prevent any intermediate proxies from storing an incomplete file and serving it to another application. Example for such cache directive are "Cache-Control: max-age=0" or "Cache-Control: no-cache"
If the MBMS Client receives a partial-file-accept request, and the MBMS Client has received a partial file with no bytes (i.e. only the FDT Instance describing the file metadata is received), then the MBMS Client may respond with a partial file response defined as follows:
  • The response code shall be set to 416 Requested Range Not Satisfiable
  • The Content-Type header shall be set to the value of the Content-Type provided in the FDT Instance for this file.
  • The Content-Range shall be set to bytes */Content-Length with Content-Length the value of the attribute Content-Length provided in the FDT Instance for this file.
Up

7.9.2.3  Example client and server implementation for DASH-over-MBMSp. 77

As an example, assume the Media Segment of interest is identified by the URL: "http://www.example.com/Period-2012-08-04T08-45-00/rep-xyz12345/seg-777.3gp". In addition, the client is willing to receive the incomplete portion of the Segment (777) available at the Server when the request is received. The DASH client sends the partial-accept request as follows:
GET  /Period-2015-08-04T08-45-00/rep-xyz12345/seg-777.3gp  HTTP/1.1
Host: www.example.com
…
Accept: */*, application/3gpp-partial
Assume that the server receives the above GET request for Segment 777, and it has the following sets of byte ranges of the requested Segment of size 256000 bytes at the time it receives the request: 0-19999, 50000-85000, 105500-199888, and 201515-229566. Due to the presence of the specific Accept header in the request, the server will return the partial Segment via the 200 response, by indicating the same content type for the message body as indicated in the request (i.e., application/3gpp-partial), but whereby the message body is constructed identically to the multipart/byteranges format. In addition, the response header Cache-Control: no-cache may be included in the response to prevent downstream caching of the message. The server's response in this case is shown below:
HTTP/1.1 200 OK
Date: Tue, 04 Aug 2015 08:45:05 GMT
…
Content-Length: 172441
Content-Type: application/3gpp-partial; boundary=SEPARATION_STRING
Cache-Control: no-cache
--SEPARATION_STRING
Content-Type: video.3gpp; codecs=avc1.64001E, mp4a.40.2
Content-Range: bytes 0-19999
...<the first range>...
-- SEPARATION_STRING
Content-type: video.3gpp; codecs=avc1.64001E, mp4a.40.2
Content-range: bytes 50000-79999
...<the second range>…
-- SEPARATION_STRING
Content-type: video.3gpp; codecs=avc1.64001E, mp4a.40.2
Content-range: bytes 105500-199888
...<the third range>…
-- SEPARATION_STRING
Content-type: video.3gpp; codecs=avc1.64001E, mp4a.40.2
Content-range: bytes 201515-229566
...<the fourth range>…
-- SEPARATION_STRING
As an extension to the example, assume that the first byte range is lost as well and FDT Instance contains an mbms2015:IndependentUnitPositions attribute with value "0 60000 80000 110000":
The server's response in this case is shown below:
HTTP/1.1 200 OK
Date: Tue, 04 Aug 2015 08:45:05 GMT
…
Content-Length: 172441
Content-Type: application/3gpp-partial; boundary=SEPARATION_STRING
Cache-Control: no-cache
-- SEPARATION_STRING
Content-type: video.3gpp; codecs=avc1.64001E, mp4a.40.2
Content-range: bytes 55000-79999
3gpp-access-position: 60000
...<the second range>…
-- SEPARATION_STRING
Content-type: video.3gpp; codecs=avc1.64001E, mp4a.40.2
Content-range: bytes 105500-199888
3gpp-access-position: 110000
...<the third range>…
-- SEPARATION_STRING
Content-type: video.3gpp; codecs=avc1.64001E, mp4a.40.2
Content-range: bytes 201515-229566
...<the fourth range>…
-- SEPARATION_STRING
Up

7.9.3  Signalling Independent Unitsp. 78

7.9.3.1  Introductionp. 78

Independent Units may be signalled in the File entry of an FDT Instance using the attribute mbms2015: IndependentUnitPositions. The FDT Instance signaling is defined in clause 7.9.3.2.
MBMS Clients that support partial file handling may also support the handling of independent units. The details of handling independent units are provided in clause 7.9.2.
Up

7.9.3.2  FDT Instance signallingp. 78

Independent Units represent a non-empty list of byte locations, each of which is the location of the first byte of an Independent Unit.
An Independent Unit is the chunk of bytes between two consecutive entries in the IndependentUnitPositions list, except for the last Independent Unit which ranges from the last entry in the list to the end of the file.
The position of an Independent Unit is the byte position in the file, at which the handler assigned to the Content-Type for the file may access the file.
If Independent Units are signalled in the FDT Instance, the following restrictions apply:
  • The attribute mbms2015: IndependentUnitPositions shall not be used in combination with the use of the Content-Encoding.
  • The generation of the IndependentUnitPositions values is beyond the scope of the present document.
The XML syntax of the IndependentUnitPositions attribute within the FLUTE FDT is specified in Listing 7.2.10.2-6, and the attribute is further referred to by the main FDT schema of clause 7.2.10.1.
Up

7.10  File Delivery Manifest |R14|p. 78

The File Delivery Manifest that is used within the xMB interface is defined in the xMB reference point specification TS 26.348.

Up   Top   ToC