5.6 File Delivery Manifest
26.3483GPPNorthbound Application Programming Interface (API) for Multimedia Broadcast/Multicast Service (MBMS) at the xMB reference pointRelease 17TS
5.6.1 General
File-based services originating from 3rd party Content Providers may be ingested over the xMB interface and delivered to UEs using the download delivery method. This clause specifies the File Delivery Manifest, which represents an alternative to the FileList property and its subordinate parameters of the “session” resource whose stage 2 text is described in subclause 5.4.6.
5.6.2 File Delivery Manifest
The fields and description of the File Delivery Manifest, assuming such document is delivered as a JSON-encoded document, are shown in Table 5.6-1.
Table 5.6-1: Description of File Delivery Manifest
|
Field Name |
JSON Value Type |
Default |
Description |
|||
|---|---|---|---|---|---|---|
|
Child Parameter |
Units |
Value |
||||
|
Child Parameter |
||||||
|
FileList |
array |
Container for the set of files, for delivery over MBMS, whose properties or transport parameters are given in the File Delivery Manifest. This field may contain the following child parameters: – fileURL – fileDisplayURL – fileEarliestFetchTime – fileLatestFetchTime – fileSize – targetReceptionCompletionTime – keepUpdatedInterval – unicastAvailability – byteRange – ETag – fileRepetition |
||||
|
string |
fileURL |
– |
– |
– |
In the case of pull-based content ingestion, the resource location of the file, as an HTTP(S) URL, at the Content Provider server from which the BM-SC can request the file. |
|
|
string |
fileDisplayURL |
– |
– |
– |
HTTP(S) URL of the file as provided to the MBMS-aware application. |
|
|
integer |
fileEarliestFetchTime |
– |
UTC time with second-level precision |
– |
In the case of pull-based content ingestion, the absolute time, expressed as the 32-bit integer portion of an NTP time stamp, representing the earliest time that the BM-SC can request the file from the Content Provider server. Absence of this parameter is an indication that the BM-SC may submit a request for the file at a time of its choosing. |
|
|
integer |
fileLatestFetchTime |
– |
UTC time with second-level precision |
– |
In the case of pull-based content ingestion, the absolute time, expressed as the 32-bit integer portion of an NTP time stamp, representing the latest time that the BM-SC can request the file from the Content Provider server. Absence of this parameter is an indication that the BM-SC may submit a request for the file at a time of its choosing. |
|
|
integer |
fileSize |
– |
bytes |
– |
Precise or estimated size of the file in units of bytes. If this parameter is absent, it means that the file size is not known to the Content Provider. |
|
|
integer |
targetReceptionCompletionTime |
– |
UTC time with second-level precision |
– |
A hint from the CP to the BM-SC on the nominally expected time, expressed as the 32-bit integer portion of an NTP time stamp, at which the file should be completely received by the MBMS client and made available to the MBMS-aware application. The BM-SC is expected to schedule and order transmission of the file in accordance to this attribute. Absence of this parameter is an indication that there is no explicit requirement by the CP on when the reception of the file at the MBMS client should occur, other than it should not be earlier than earliestReceptionCompletionTime, if present, in the File Delivery Manifest. |
|
|
integer |
keepUpdatedInterval |
milliseconds |
– |
Interval that the BM-SC is expected to check for update of the file if it belongs to a Keep-Updated Service. |
||
|
boolean |
unicastAvailability |
– |
– |
false |
Indication that the file is also available for unicast acquisition by the application at a Content Provider server whose location is given by the HTTP(S) URL corresponding to the value of the parameter fileDisplayURL. |
|
|
boolean |
byteRange |
— |
— |
false |
If present and set to “true”, indicates that the HTTP(S) URL given in the fileDisplayURL parameter can be used for Byte-Range-Based file repair (subclause 9.3) otherwise fileDisplayURL parameter should not be used for Byte-Range-Based file repair. |
|
|
string |
ETag |
— |
— |
— |
represents the value of the ETag as defined in RFC 2616 [18] which may also serve as the version identifier for the file in the Byte-Range-Based file repair requests. The ETag should only be supplied by the 3rd party content provider if it is expected that it is different from the one provided over xMB-U when fetching the file. |
|
|
number |
fileRepetition |
– |
– |
– |
The number of times the file shall be sent on the session (a value of 1 means the file shall be sent only once). This counter shall be decremented each time the file has been transmitted. When the counter reaches zero, the file shall cease to be delivered. The BM-SC may send FEC repair symbols instead of source symbols. Default value is 1. Note that the expected behaviour is that the BM-SC first sends all the files as ordered in “FileList”, then decrements the counter for each file, and subsequently retransmits the list of files again (only those files whose counter > 0 are transmitted). This process is repeated until either the counter reaches ‘0’, or the session stop time has elapsed, whichever event occurs first. |
|
5.6.3 JSON Schema for File Delivery Manifest
When encoded as a JSON document, the schema of the File Delivery Manifest, whose description is provided in clause 5.6.2, and specified according to JSON Schema [11], is shown below.
{
"FileManifest": {
"type": "object",
"description": "Refer to Table 5.6-1 for detailed description.",
"properties": {
"FileList": {
"type": "array",
"description": "Refer to Table 5.6-1 for detailed description.",
"items": {
"type": "object",
"properties": {
"fileURL": {
"type": "string",
"description": "Refer to Table 5.6-1 for detailed description."
},
"fileDisplayURL": {
"type": "string",
"description": "Refer to Table 5.6-1 for detailed description."
},
"fileEarliestFetchTime": {
"type": "integer",
"format": "int32",
"description": "Refer to Table 5.6-1 for detailed description."
},
"fileLatestFetchTime": {
"type": "integer",
"format": "int32",
"description": "Refer to Table 5.6-1 for detailed description."
},
"fileSize": {
"type": "integer",
"format": "int32",
"description": "Refer to Table 5.6-1 for detailed description."
},
"targetReceptionCompletionTime": {
"type": "integer",
"format": "int32",
"description": "Refer to Table 5.6-1 for detailed description."
},
"keepUpdatedInterval": {
"type": "integer",
"format": "int32",
"description": "Refer to Table 5.6-1 for detailed description."
},
"unicastAvailability": {
"type": "boolean",
"description": "Refer to Table 5.6-1 for detailed description."
},
"byteRange": {
"type": "boolean",
"description": "Refer to Table 5.6-1 for detailed description."
},
"ETag": {
"type": "string",
"description": "Refer to Table 5.6-1 for detailed description."
},
"fileRepetition": {
"type": "number",
"description": "Refer to Table 5.6-1 for detailed description."
}
}
}
}
}
}
}
Annex A (informative):
xMB User Plane (xMB-U)