Closed dsilhavy closed 6 months ago
Basic functionality is implemented.
In general, and this is also true for the other metrics, the XML serialization is pretty painful. I am currently using org.simpleframework.xml.core.Persister
with annotations in the corresponding model classes, for instance:
data class HttpList(
@field:ElementList(name = "HttpList") val entries: ArrayList<HttpListEntry>
)
@Root(name = "HttpListEntry")
data class HttpListEntry(
@field:Attribute(name = "tcpid")
@param:Attribute(name = "tcpid")
val tcpid: Int = -1,
@field:Attribute(name = "type")
@param:Attribute(name = "type")
val type: String = HttpListEntryType.OTHER.value,
@field:Attribute(name = "url")
@param:Attribute(name = "url")
val url: String = "",
@field:Attribute(name = "actualurl")
@param:Attribute(name = "actualurl")
val actualurl: String = "",
@field:Attribute(name = "range")
@param:Attribute(name = "range")
val range: String = "",
@field:Attribute(name = "trequest")
@param:Attribute(name = "trequest")
val trequest: Long = -1,
@field:Attribute(name = "tresponse")
@param:Attribute(name = "tresponse")
val tresponse: Long = -1,
@field:Attribute(name = "responsecode")
@param:Attribute(name = "responsecode")
val responsecode: Int = -1,
@field:Attribute(name = "interval")
@param:Attribute(name = "interval")
val interval: Int = -1,
@field:ElementList(name = "Trace") val entries: ArrayList<Trace>
)
@Root(name = "TraceEntry")
data class Trace(
@field:Attribute(name = "s")
@param:Attribute(name = "s")
val s: Long = -1,
@field:Attribute(name = "d")
@param:Attribute(name = "d")
val d: Long = -1,
@field:Attribute(name = "b")
@param:Attribute(name = "b")
val b: Int = -1,
)
enum class HttpListEntryType(val value : String) {
MPD("MPD"),
XLINK_EXPANSION("Xlink expansion"),
INITIALIZATION_SEGMENT("Initialization Segment"),
INDEX_SEGMENT("Index Segment"),
MEDIA_SEGMENT("Media Segment"),
BITSTREAM_SWITCHING_SEGMENT("Bitstream Switching Segment"),
REMOTE_XLINK_ELEMENT("Remote xlink element"),
MPD_PATCH("MPD patch"),
OTHER("other")
}
Unfortunately the output is not always as expected, for instance a <httpList>
element is added for reasons I don't understand at this point. As an example:
<httpList>
<HttpList>
<HttpListEntry actualurl="https://livesim.dashif.org/livesim/sts_1687272968/sid_c3592d4a/testpic_2s/A48/843636490.m4s" interval="187" range="" responsecode="200" tcpid="-1" trequest="1687272982207" tresponse="1687272982207" type="Media Segment" url="https://livesim.dashif.org/livesim/sts_1687272968/sid_c3592d4a/testpic_2s/A48/843636490.m4s">
<Trace>
<TraceEntry b="13294" d="187" s="1687272982207"/>
</Trace>
</HttpListEntry>
</HttpList>
</httpList>
This needs further investigation to find the right format. It is always possible to manipulate the final string afterwards, similar to what I did for removing <object>
tags here: https://github.com/5G-MAG/rt-5gms-media-stream-handler/blob/51053fe3ab50b7f49d1fec5189fce8f45839d000/app/src/main/java/com/fivegmag/a5gmsmediastreamhandler/qoeMetrics/threeGPP/QoEMetricsExoPlayer.kt#L64
Moved to Jackson for conversion from data classes to XML. Seems to work much better than the framework that I used before.
Example of a (work in progress) metric report as being received by the MediaSessionHandler at this moment:
<?xml version="1.0"?>
<ReceptionReport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
contentURI="https://livesim.dashif.org/livesim/testpic_2s/Manifest.mpd"
xmlns="urn:3gpp:metadata:2011:HSD:receptionreport"
xsi:schemaLocation="urn:3gpp:metadata:2011:HSD:receptionreport DASH-QoE-Report.xsd">
<QoeReport periodID="-1" reportPeriod="-1" reportTime="-1">
<QoeMetric>
<BufferLevel>
<BufferLevelEntry level="3994" t="1688933137353" />
</BufferLevel>
</QoeMetric>
<QoeMetric>
<HttpList>
<HttpListEntry
actualurl="https://livesim.dashif.org/livesim/sts_1688933135/sid_209688d2/testpic_2s/Manifest.mpd"
interval="933" range="" responsecode="200" tcpid="-1" trequest="1688933135347"
tresponse="1688933135347" type="MPD"
url="https://livesim.dashif.org/livesim/sts_1688933135/sid_209688d2/testpic_2s/Manifest.mpd">
<Trace b="1955" d="933" s="1688933135347" />
</HttpListEntry>
<HttpListEntry
actualurl="https://livesim.dashif.org/livesim/sts_1688933135/sid_209688d2/testpic_2s/V300/init.mp4"
interval="128" range="" responsecode="200" tcpid="-1" trequest="1688933136362"
tresponse="1688933136362" type="Initialization Segment"
url="https://livesim.dashif.org/livesim/sts_1688933135/sid_209688d2/testpic_2s/V300/init.mp4">
<Trace b="715" d="128" s="1688933136362" />
</HttpListEntry>
<HttpListEntry
actualurl="https://livesim.dashif.org/livesim/sts_1688933135/sid_209688d2/testpic_2s/V300/844466553.m4s"
interval="240" range="" responsecode="200" tcpid="-1" trequest="1688933136500"
tresponse="1688933136500" type="Media Segment"
url="https://livesim.dashif.org/livesim/sts_1688933135/sid_209688d2/testpic_2s/V300/844466553.m4s">
<Trace b="39424" d="240" s="1688933136500" />
</HttpListEntry>
<HttpListEntry
actualurl="https://livesim.dashif.org/livesim/sts_1688933135/sid_209688d2/testpic_2s/A48/init.mp4"
interval="676" range="" responsecode="200" tcpid="-1" trequest="1688933136363"
tresponse="1688933136363" type="Initialization Segment"
url="https://livesim.dashif.org/livesim/sts_1688933135/sid_209688d2/testpic_2s/A48/init.mp4">
<Trace b="651" d="676" s="1688933136363" />
</HttpListEntry>
<HttpListEntry
actualurl="https://livesim.dashif.org/livesim/sts_1688933135/sid_209688d2/testpic_2s/A48/844466553.m4s"
interval="123" range="" responsecode="200" tcpid="-1" trequest="1688933137040"
tresponse="1688933137040" type="Media Segment"
url="https://livesim.dashif.org/livesim/sts_1688933135/sid_209688d2/testpic_2s/A48/844466553.m4s">
<Trace b="13237" d="123" s="1688933137040" />
</HttpListEntry>
<HttpListEntry
actualurl="https://livesim.dashif.org/livesim/sts_1688933135/sid_209688d2/testpic_2s/V300/844466554.m4s"
interval="232" range="" responsecode="200" tcpid="-1" trequest="1688933137043"
tresponse="1688933137043" type="Media Segment"
url="https://livesim.dashif.org/livesim/sts_1688933135/sid_209688d2/testpic_2s/V300/844466554.m4s">
<Trace b="38429" d="232" s="1688933137043" />
</HttpListEntry>
<HttpListEntry
actualurl="https://livesim.dashif.org/livesim/sts_1688933135/sid_209688d2/testpic_2s/A48/844466554.m4s"
interval="120" range="" responsecode="200" tcpid="-1" trequest="1688933137165"
tresponse="1688933137165" type="Media Segment"
url="https://livesim.dashif.org/livesim/sts_1688933135/sid_209688d2/testpic_2s/A48/844466554.m4s">
<Trace b="13286" d="120" s="1688933137165" />
</HttpListEntry>
</HttpList>
</QoeMetric>
<QoeMetric>
<RepSwitchList>
<RepSwitchEvent mt="270000" t="1688933136505" to="V300" />
<RepSwitchEvent mt="270000" t="1688933137050" to="A48" />
</RepSwitchList>
</QoeMetric>
</QoeReport>
</ReceptionReport>
I put that through the XML schema for urn:3gpp:metadata:2011:HSD:receptionreport
and found:
QoEReport@reportTime
should be formatted an ISO 8601 date-time string. (Doesn't seem to be properly specified anywhere in TS 26.247.)QoEReport@reportPeriod
should be an integer greater than or equal to 0. (Doesn't seem to be properly specified anywhere in TS 26.247.)QoEReport@periodID
should be a period identifier string from the MPD. (Doesn't seem to be properly specified anywhere in TS 26.247, so not sure how to populate this mandatory attribute when there are no periods listed in the MPD.)QoEReport/QoeMetric/BufferLevel/BufferLevelEntry@t
should be formatted an ISO 8601 date-time string.QoEReport/QoeMetric/HttpList
is in scope for QoE metrics reporting for DASH. (In fact, I can't find anything in that specification that uses this element, so I don't understand why it's even in the schema!)QoEReport/QoeMetric/RepSwitchList/RepSwitchEvent@t
should be formatted as an ISO 8601 date-time string.QoEReport/QoeMetric/RepSwitchList/RepSwitchEvent@mt
should be formatted as an ISO 8601 period string.<sv:delimiter>0</sv:delimiter>
element after the last QoeMetric
in a QoEReport
and the definition of this element needs to be imported from the name space urn:3gpp:metadata:2016:PSS:schemaVersion
(see bottom of clause 10.6.2 for its schema). Note that this required element is missing from the example in clause 10.6.3 of TS 26.247!Example:
<?xml version="1.0"?>
<ReceptionReport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:3gpp:metadata:2011:HSD:receptionreport"
xmlns:sv="urn:3gpp:metadata:2016:PSS:schemaVersion"
xsi:schemaLocation="urn:3gpp:metadata:2011:HSD:receptionreport receptionreport.xsd"
contentURI="https://livesim.dashif.org/livesim/testpic_2s/Manifest.mpd">
<QoeReport periodID="period1" reportTime="2023-07-10T09:00:00Z" reportPeriod="120000">
<QoeMetric>
<BufferLevel>
<BufferLevelEntry level="3994" t="2023-07-10T09:00:00Z" />
</BufferLevel>
</QoeMetric>
<QoeMetric>
<RepSwitchList>
<RepSwitchEvent mt="PT75H" t="2023-07-10T09:00:00Z" to="V300" />
<RepSwitchEvent mt="PT75H" t="2023-07-10T09:00:00Z" to="A48" />
</RepSwitchList>
</QoeMetric>
<sv:delimiter>0</sv:delimiter>
</QoeReport>
</ReceptionReport>
Thanks @rjb1000 this is very useful. Some of the errors should be fixed with my latest commit. Can you point me to the .xsd file you used for the validation? I see the definition in 10.6.2 but I am not sure where to find the corresponding .xsd file.
I extracted the XSD from the paper specification manually and "fixed" a couple of things to make it valid.
I don't believe it is available from any other source. It isn't even a separate file in the specification zip archive.
I'll send you a copy.
Update with a current reporting example. I still need to validate against the xsd
provided by @rjb1000 .
<sv:delimiter>0</sv:delimiter>
still missingmt
has the wrong format<?xml version="1.0"?>
<ReceptionReport xmlns:sv="urn:3gpp:metadata:2016:PSS:schemaVersion"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
contentURI="https://livesim.dashif.org/livesim/testpic_2s/Manifest.mpd"
xmlns="urn:3gpp:metadata:2011:HSD:receptionreport"
xsi:schemaLocation="urn:3gpp:metadata:2011:HSD:receptionreport DASH-QoE-Report.xsd">
<QoeReport periodID="p0" reportPeriod="10000" reportTime="2023-07-10T15:52:41.139Z">
<QoeMetric>
<BufferLevel>
<BufferLevelEntry level="0" t="2023-07-10T15:52:37.269Z" />
<BufferLevelEntry level="0" t="2023-07-10T15:52:39.047Z" />
<BufferLevelEntry level="0" t="2023-07-10T15:52:40.024Z" />
<BufferLevelEntry level="0" t="2023-07-10T15:52:40.411Z" />
<BufferLevelEntry level="0" t="2023-07-10T15:52:40.450Z" />
<BufferLevelEntry level="2000" t="2023-07-10T15:52:40.748Z" />
<BufferLevelEntry level="2000" t="2023-07-10T15:52:40.783Z" />
<BufferLevelEntry level="3962" t="2023-07-10T15:52:41.117Z" />
</BufferLevel>
</QoeMetric>
<QoeMetric>
<HttpList>
<HttpListEntry
actualurl="https://livesim.dashif.org/livesim/sts_1689004357/sid_48c87c39/testpic_2s/Manifest.mpd"
interval="1742" range="" responsecode="200" tcpid="-1"
trequest="2023-07-10T15:52:37.280Z" tresponse="2023-07-10T15:52:37.293Z"
type="MPD"
url="https://livesim.dashif.org/livesim/sts_1689004357/sid_48c87c39/testpic_2s/Manifest.mpd">
<Trace b="1955" d="1742" s="2023-07-10T15:52:37.293Z" />
</HttpListEntry>
<HttpListEntry
actualurl="https://livesim.dashif.org/livesim/sts_1689004357/sid_48c87c39/testpic_2s/V300/init.mp4"
interval="194" range="" responsecode="200" tcpid="-1"
trequest="2023-07-10T15:52:39.809Z" tresponse="2023-07-10T15:52:39.820Z"
type="Initialization Segment"
url="https://livesim.dashif.org/livesim/sts_1689004357/sid_48c87c39/testpic_2s/V300/init.mp4">
<Trace b="715" d="194" s="2023-07-10T15:52:39.820Z" />
</HttpListEntry>
<HttpListEntry
actualurl="https://livesim.dashif.org/livesim/sts_1689004357/sid_48c87c39/testpic_2s/V300/844502164.m4s"
interval="327" range="" responsecode="200" tcpid="-1"
trequest="2023-07-10T15:52:40.063Z" tresponse="2023-07-10T15:52:40.073Z"
type="Media Segment"
url="https://livesim.dashif.org/livesim/sts_1689004357/sid_48c87c39/testpic_2s/V300/844502164.m4s">
<Trace b="40241" d="327" s="2023-07-10T15:52:40.073Z" />
</HttpListEntry>
<HttpListEntry
actualurl="https://livesim.dashif.org/livesim/sts_1689004357/sid_48c87c39/testpic_2s/A48/init.mp4"
interval="577" range="" responsecode="200" tcpid="-1"
trequest="2023-07-10T15:52:39.859Z" tresponse="2023-07-10T15:52:39.867Z"
type="Initialization Segment"
url="https://livesim.dashif.org/livesim/sts_1689004357/sid_48c87c39/testpic_2s/A48/init.mp4">
<Trace b="651" d="577" s="2023-07-10T15:52:39.867Z" />
</HttpListEntry>
<HttpListEntry
actualurl="https://livesim.dashif.org/livesim/sts_1689004357/sid_48c87c39/testpic_2s/A48/844502164.m4s"
interval="323" range="" responsecode="200" tcpid="-1"
trequest="2023-07-10T15:52:40.406Z" tresponse="2023-07-10T15:52:40.415Z"
type="Media Segment"
url="https://livesim.dashif.org/livesim/sts_1689004357/sid_48c87c39/testpic_2s/A48/844502164.m4s">
<Trace b="13267" d="323" s="2023-07-10T15:52:40.415Z" />
</HttpListEntry>
<HttpListEntry
actualurl="https://livesim.dashif.org/livesim/sts_1689004357/sid_48c87c39/testpic_2s/V300/844502165.m4s"
interval="325" range="" responsecode="200" tcpid="-1"
trequest="2023-07-10T15:52:40.440Z" tresponse="2023-07-10T15:52:40.450Z"
type="Media Segment"
url="https://livesim.dashif.org/livesim/sts_1689004357/sid_48c87c39/testpic_2s/V300/844502165.m4s">
<Trace b="39931" d="325" s="2023-07-10T15:52:40.450Z" />
</HttpListEntry>
<HttpListEntry
actualurl="https://livesim.dashif.org/livesim/sts_1689004357/sid_48c87c39/testpic_2s/A48/844502165.m4s"
interval="270" range="" responsecode="200" tcpid="-1"
trequest="2023-07-10T15:52:40.828Z" tresponse="2023-07-10T15:52:40.837Z"
type="Media Segment"
url="https://livesim.dashif.org/livesim/sts_1689004357/sid_48c87c39/testpic_2s/A48/844502165.m4s">
<Trace b="13256" d="270" s="2023-07-10T15:52:40.837Z" />
</HttpListEntry>
</HttpList>
</QoeMetric>
<QoeMetric>
<RepSwitchList>
<RepSwitchEvent mt="270000" t="2023-07-10T15:52:40.047Z" to="V300" />
<RepSwitchEvent mt="270000" t="2023-07-10T15:52:40.476Z" to="A48" />
</RepSwitchList>
</QoeMetric>
</QoeReport>
</ReceptionReport>
Fixed some additional issues:
<?xml version="1.0"?>
<ReceptionReport xmlns:sv="urn:3gpp:metadata:2016:PSS:schemaVersion"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
contentURI="https://livesim.dashif.org/livesim/testpic_2s/Manifest.mpd"
xmlns="urn:3gpp:metadata:2011:HSD:receptionreport"
xsi:schemaLocation="urn:3gpp:metadata:2011:HSD:receptionreport DASH-QoE-Report.xsd">
<QoeReport periodID="p0" reportPeriod="10000" reportTime="2023-07-10T16:38:09.671Z">
<QoeMetric>
<BufferLevel>
<BufferLevelEntry level="0" t="2023-07-10T16:38:05.880Z" />
<BufferLevelEntry level="0" t="2023-07-10T16:38:07.539Z" />
<BufferLevelEntry level="0" t="2023-07-10T16:38:08.538Z" />
<BufferLevelEntry level="0" t="2023-07-10T16:38:08.933Z" />
<BufferLevelEntry level="0" t="2023-07-10T16:38:08.960Z" />
<BufferLevelEntry level="2000" t="2023-07-10T16:38:09.257Z" />
<BufferLevelEntry level="2000" t="2023-07-10T16:38:09.287Z" />
<BufferLevelEntry level="3972" t="2023-07-10T16:38:09.623Z" />
<BufferLevelEntry level="3930" t="2023-07-10T16:38:09.659Z" />
</BufferLevel>
</QoeMetric>
<QoeMetric>
<HttpList>
<HttpListEntry
actualurl="https://livesim.dashif.org/livesim/sts_1689007086/sid_5f9c16fa/testpic_2s/Manifest.mpd"
interval="1630" range="" responsecode="200" trequest="2023-07-10T16:38:05.886Z"
tresponse="2023-07-10T16:38:05.898Z" type="MPD"
url="https://livesim.dashif.org/livesim/sts_1689007086/sid_5f9c16fa/testpic_2s/Manifest.mpd">
<Trace b="1955" d="1630" s="2023-07-10T16:38:05.898Z" />
</HttpListEntry>
<HttpListEntry
actualurl="https://livesim.dashif.org/livesim/sts_1689007086/sid_5f9c16fa/testpic_2s/V300/init.mp4"
interval="229" range="" responsecode="200" trequest="2023-07-10T16:38:08.288Z"
tresponse="2023-07-10T16:38:08.298Z" type="InitializationSegment"
url="https://livesim.dashif.org/livesim/sts_1689007086/sid_5f9c16fa/testpic_2s/V300/init.mp4">
<Trace b="715" d="229" s="2023-07-10T16:38:08.298Z" />
</HttpListEntry>
<HttpListEntry
actualurl="https://livesim.dashif.org/livesim/sts_1689007086/sid_5f9c16fa/testpic_2s/V300/844503528.m4s"
interval="325" range="" responsecode="200" trequest="2023-07-10T16:38:08.591Z"
tresponse="2023-07-10T16:38:08.601Z" type="MediaSegment"
url="https://livesim.dashif.org/livesim/sts_1689007086/sid_5f9c16fa/testpic_2s/V300/844503528.m4s">
<Trace b="37793" d="325" s="2023-07-10T16:38:08.601Z" />
</HttpListEntry>
<HttpListEntry
actualurl="https://livesim.dashif.org/livesim/sts_1689007086/sid_5f9c16fa/testpic_2s/A48/init.mp4"
interval="592" range="" responsecode="200" trequest="2023-07-10T16:38:08.355Z"
tresponse="2023-07-10T16:38:08.361Z" type="InitializationSegment"
url="https://livesim.dashif.org/livesim/sts_1689007086/sid_5f9c16fa/testpic_2s/A48/init.mp4">
<Trace b="651" d="592" s="2023-07-10T16:38:08.361Z" />
</HttpListEntry>
<HttpListEntry
actualurl="https://livesim.dashif.org/livesim/sts_1689007086/sid_5f9c16fa/testpic_2s/A48/844503528.m4s"
interval="325" range="" responsecode="200" trequest="2023-07-10T16:38:08.899Z"
tresponse="2023-07-10T16:38:08.921Z" type="MediaSegment"
url="https://livesim.dashif.org/livesim/sts_1689007086/sid_5f9c16fa/testpic_2s/A48/844503528.m4s">
<Trace b="13261" d="325" s="2023-07-10T16:38:08.921Z" />
</HttpListEntry>
<HttpListEntry
actualurl="https://livesim.dashif.org/livesim/sts_1689007086/sid_5f9c16fa/testpic_2s/V300/844503529.m4s"
interval="324" range="" responsecode="200" trequest="2023-07-10T16:38:08.948Z"
tresponse="2023-07-10T16:38:08.955Z" type="MediaSegment"
url="https://livesim.dashif.org/livesim/sts_1689007086/sid_5f9c16fa/testpic_2s/V300/844503529.m4s">
<Trace b="40219" d="324" s="2023-07-10T16:38:08.955Z" />
</HttpListEntry>
<HttpListEntry
actualurl="https://livesim.dashif.org/livesim/sts_1689007086/sid_5f9c16fa/testpic_2s/A48/844503529.m4s"
interval="284" range="" responsecode="200" trequest="2023-07-10T16:38:09.323Z"
tresponse="2023-07-10T16:38:09.331Z" type="MediaSegment"
url="https://livesim.dashif.org/livesim/sts_1689007086/sid_5f9c16fa/testpic_2s/A48/844503529.m4s">
<Trace b="13284" d="284" s="2023-07-10T16:38:09.331Z" />
</HttpListEntry>
<HttpListEntry
actualurl="https://livesim.dashif.org/livesim/sts_1689007086/sid_5f9c16fa/testpic_2s/V300/844503530.m4s"
interval="301" range="" responsecode="200" trequest="2023-07-10T16:38:09.342Z"
tresponse="2023-07-10T16:38:09.349Z" type="MediaSegment"
url="https://livesim.dashif.org/livesim/sts_1689007086/sid_5f9c16fa/testpic_2s/V300/844503530.m4s">
<Trace b="39290" d="301" s="2023-07-10T16:38:09.349Z" />
</HttpListEntry>
</HttpList>
</QoeMetric>
<QoeMetric>
<RepSwitchList>
<RepSwitchEvent mt="P0Y0DT0H4M30S" t="2023-07-10T16:38:08.559Z" to="V300" />
<RepSwitchEvent mt="P0Y0DT0H4M28S" t="2023-07-10T16:38:08.979Z" to="A48" />
</RepSwitchList>
</QoeMetric>
</QoeReport>
</ReceptionReport>
As HttpList
looks fine to me I am posting updates about the complete structure to this issue: #27
Any thoughts on this, @dsilhavy?
Looking at TS 26.247 clause 10.4, I don't think QoEReport/QoeMetric/HttpList is in scope for QoE metrics reporting for DASH. (In fact, I can't find anything in that specification that uses this element, so I don't understand why it's even in the schema!)
Any thoughts on this, @dsilhavy?
Looking at TS 26.247 clause 10.4, I don't think QoEReport/QoeMetric/HttpList is in scope for QoE metrics reporting for DASH. (In fact, I can't find anything in that specification that uses this element, so I don't understand why it's even in the schema!)
I would like to pick this up on Friday. As you pointed out HttpList
is not listed in 26247 10.4 but it is defined in 23009-1 Annex D. Maybe @haudiobe can clarify this.
I talked to @haudiobe and HttpList
should be included as a metric. This should be fixed in 26.247
Ah. OK. It would be helpful raise new new issue in the Standards repository to capture this deficiency in TS 26.247 and to track the fix.
@dsilhavy, @haudiobe: I have done some archaeological digging on this one, and found that the HttpList
metric was deliberately removed from TS 26.247 V14.0.0 by CR0093r1 (agreed at SA4#92 as S4-170227 and approved at SA#75 as SP-170027) with the following rationale:
Summary of change: Remove the HttpList metric from the QoE reporting. Reason for change: The HttpList metrics report includes the media URL used, which can be seen as sensitive information for the end-user. As the HttpList metric is not necessary for almost any QoE-related use-case, this privacy breach is not motivated. Consequences if not approved: Privacy breach, or possibly we need to add active end-user consent to (at least parts of) the QoE reporting concept.
This explains why TS 26.247 clause 10.2.2 is void from V14.1.0 onwards.
It looks like the CR forget to remove the HttpList
element from the schema in clause 10.6.2, and it has remained there redundantly ever since despite no longer being in scope for DASH reporting in PSS (and, hence, in 5GMS).
This was an Ericsson-contributed Change Request under the IQoE work item. Maybe @gheikkila or @tlohmar can recall this from early 2017?
Based on the discussion in the call I deactivated HTTPList
by default. The metric will only be reported if enabled explicitly in the clientMetricsReportingConfigurations.metrics
array
@dsilhavy raised issue 5G-MAG/Standards#79 to try and get this fixed in TS 26.247.
Implemented in #67. Not that this metric needs to be explicitly enabled via the metrics
property in the ServiceAccessInformation as it is not included in TS 26.247 anymore
Feature description
HTTP List entries should be captured by the
ExoPlayerListener
class and included in the QoE metrics report.Relevant specifications and corresponding clauses
Example