Commit 28517a1c authored by Jesus de Gregorio's avatar Jesus de Gregorio
Browse files

SA#104

parent 37508475
Loading
Loading
Loading
Loading
Loading

TS26113_QoEMetrics.xsd

0 → 100644
+72 −0
Original line number Diff line number Diff line
<?xml version="1.0"?>
<xs:schema version="TSG104-Rel18" xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="urn:3gpp:metadata:2023:RTC:QoEMetrics"
xmlns:sv="urn:3gpp:metadata:2016:PSS:schemaVersion"
    xmlns="urn:3gpp:metadata:2023:RTC:QoEMetrics" elementFormDefault="qualified">

	<xs:import namespace="urn:3gpp:metadata:2016:PSS:schemaVersion" schemaLocation="TS26247_SchemaVersion.xsd"/>

    <xs:element name="QoeMetric" type="QoeMetricType"/>
    
    <xs:complexType name="QoeMetricType">
        <xs:sequence>
            <xs:choice>
                <xs:element name="Corruption_Duration" type="CorruptionDurationType"/>
                <xs:element name="Successive_Loss" type="SuccessiveLossType"/>
                <xs:element name="Frame_Rate" type="doubleVectorType"/>
                <xs:element name="Jitter_Duration" type="JitterDurationType"/>
                <xs:element name="SyncLoss_Duration" type="SyncLossType"/>
                <xs:element name="Round_Trip_Time" type="RoundTripTimeType"/>
                <xs:element name="Average_Codec_Bitrate" type="AverageBitRateType"/>
            </xs:choice>
            <xs:element ref="sv:delimiter"/>
            <xs:any namespace="##other" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:anyAttribute processContents="skip"/>
    </xs:complexType>

    <xs:complexType name="CorruptionDurationType">
        <xs:attribute name="totalCorruptionDuration" type="unsignedLongVectorType" use="required"/>
        <xs:attribute name="numberOfCorruptionEvents" type="unsignedLongVectorType" use="required"/>
        <xs:anyAttribute processContents="skip"/>
    </xs:complexType>

    <xs:complexType name="SuccessiveLossType">
        <xs:attribute name="totalNumberOfSuccessivePacketLosses" type="unsignedLongVectorType" use="required"/>
        <xs:attribute name="numberOfSuccessiveLossEvents" type="unsignedLongVectorType" use="required"/>
        <xs:attribute name="numberOfReceivedPackets" type="unsignedLongVectorType" use="required"/>
        <xs:anyAttribute processContents="skip"/>
    </xs:complexType> 

    <xs:complexType name="JitterDurationType">
        <xs:attribute name="totalJitterDuration" type="doubleVectorType" use="required"/>
        <xs:attribute name="numberOfJitterEvents" type="unsignedLongVectorType" use="required"/>
        <xs:anyAttribute processContents="skip"/>
    </xs:complexType>

    <xs:complexType name="SyncLossType">
        <xs:attribute name="totalSyncLossDuration" type="doubleVectorType" use="required"/>
        <xs:attribute name="numberOfSyncLossEvents" type="unsignedLongVectorType" use="required"/>
        <xs:anyAttribute processContents="skip"/>
    </xs:complexType>

    <xs:complexType name="RoundTripTimeType">
        <xs:attribute name="networkRTT" type="unsignedLongVectorType" use="required"/>
        <xs:attribute name="internalRTT" type="unsignedLongVectorType" use="required"/>
        <xs:anyAttribute processContents="skip"/>
    </xs:complexType>

    <xs:complexType name="AverageBitRateType">
        <xs:attribute name="averageCodecBitRate" type="doubleVectorType" use="required"/>
        <xs:anyAttribute processContents="skip"/>
    </xs:complexType>

    <xs:simpleType name="unsignedLongVectorType">
        <xs:list itemType="xs:unsignedLong"/>
	</xs:simpleType>

	<xs:simpleType name="doubleVectorType">
        <xs:list itemType="xs:double"/>
	</xs:simpleType>

</xs:schema>
+193 −0
Original line number Diff line number Diff line
<?xml version="1.0"?>
<xs:schema version="TSG104-Rel18" xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="urn:3gpp:metadata:2017:HSD:receptionreport"
	xmlns:sup="urn:3gpp:metadata:2016:PSS:SupplementQoEMetric"
	xmlns:rtc="urn:3gpp:metadata:2023:RTC:QoEMetrics"
	xmlns:src="urn:3gpp:metadata:2024:RTC:SR_MSEQoEMetrics"
	xmlns:evex="urn:3gpp:metadata:2024:PSS:SupplementalEventExposureReportingFields"
	xmlns:sv="urn:3gpp:metadata:2016:PSS:schemaVersion"
    xmlns="urn:3gpp:metadata:2017:HSD:receptionreport" elementFormDefault="qualified">

	<xs:import namespace="urn:3gpp:metadata:2016:PSS:SupplementQoEMetric" schemaLocation="TS26247_SupplementalQoEMetric.xsd"/>
	<xs:import namespace="urn:3gpp:metadata:2023:RTC:QoEMetrics" schemaLocation="TS26113_QoEMetrics.xsd"/>
	<xs:import namespace="urn:3gpp:metadata:2024:RTC:SR_MSEQoEMetrics" schemaLocation="TS26565_SR_MSEQoEMetrics.xsd"/>
	<xs:import namespace="urn:3gpp:metadata:2024:PSS:SupplementalEventExposureReportingFields" schemaLocation="TS26247_SupplementalEventExposureReporting.xsd"/>
     <xs:import namespace="urn:3gpp:metadata:2016:PSS:schemaVersion" schemaLocation="TS26247_SchemaVersion.xsd"/>

    <xs:element name="ReceptionReport" type="ReceptionReportType"/>

    <xs:complexType name="ReceptionReportType">
        <xs:sequence>
            <xs:element name="QoeReport" type="QoeReportType" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element ref="sv:delimiter"/>
            <xs:any namespace="##other" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="contentURI" type="xs:anyURI" use="required"/>
        <xs:attribute name="clientID" type="xs:string" use="optional"/>
    </xs:complexType>

    <xs:complexType name="QoeReportType">
        <xs:sequence>
            <xs:element name="QoeMetric" type="QoeMetricType" minOccurs="1" maxOccurs="unbounded"/>
            <xs:element ref="sup:supplementQoEMetric" minOccurs="0" maxOccurs="1"/>
            <xs:element ref="sv:delimiter"/>
            <xs:element ref="rtc:QoeMetric" minOccurs="0"/>
            <xs:element ref="sv:delimiter"/>
            <xs:element ref="src:QoeMetric" minOccurs="0"/>
            <xs:element ref="sv:delimiter"/>
            <xs:element ref="evex:SliceInfo" minOccurs="0" maxOccurs="1"/>
            <xs:element ref="evex:DNN" minOccurs="0" maxOccurs="1"/>
            <xs:element ref="evex:Locations" minOccurs="0" maxOccurs="1"/>
            <xs:element ref="sv:delimiter"/>
            <xs:any namespace="##other" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="periodID" type="xs:string" use="required"/>
        <xs:attribute name="reportTime" type="xs:dateTime" use="required"/>
        <xs:attribute name="reportPeriod" type="xs:unsignedInt" use="required"/>
        <xs:attribute name="qoeReferenceId" type="xs:hexBinary" use="optional"/>
        <xs:attribute name="recordingSessionId" type="xs:hexBinary" use="optional"/>
        <xs:anyAttribute processContents="skip"/>
    </xs:complexType>
    <xs:complexType name="QoeMetricType">
        <xs:choice>
            <xs:element name="RepSwitchList" type="RepSwitchListType"/>
            <xs:element name="AvgThroughput" type="AvgThroughputType" maxOccurs="unbounded"/>
            <xs:element name="InitialPlayoutDelay" type="xs:unsignedInt"/>
            <xs:element name="BufferLevel" type="BufferLevelType"/>
            <xs:element name="PlayList" type="PlayListType"/>
            <xs:element name="MPDInformation" type="MpdInformationType" maxOccurs="unbounded"/>
            <xs:element name="PlayoutDelayforMediaStartup" type="xs:unsignedInt"/>
        </xs:choice>
        <xs:anyAttribute processContents="skip"/>
    </xs:complexType>

    <xs:complexType name="RepSwitchListType">
        <xs:choice>
            <xs:element name="RepSwitchEvent" type="RepSwitchEventType" maxOccurs="unbounded"/>
        </xs:choice>
        <xs:anyAttribute processContents="skip"/>
    </xs:complexType>

    <xs:complexType name="RepSwitchEventType">
        <xs:attribute name="to" type="xs:string" use="required"/>
        <xs:attribute name="mt" type="xs:duration" use="optional"/>
        <xs:attribute name="t" type="xs:dateTime" use="optional"/>
        <xs:attribute name="lto" type="xs:unsignedInt" use="optional"/>
        <xs:anyAttribute processContents="skip"/>
    </xs:complexType>

    <xs:complexType name="AvgThroughputType">
        <xs:attribute name="numBytes" type="xs:unsignedInt" use="required"/>
        <xs:attribute name="activityTime" type="xs:unsignedInt" use="required"/>
        <xs:attribute name="t" type="xs:dateTime" use="required"/>
        <xs:attribute name="duration" type="xs:unsignedInt" use="required"/>
        <xs:attribute name="accessbearer" type="xs:string" use="optional"/>
        <xs:attribute name="inactivityType" type="InactivityType" use="optional"/>
        <xs:anyAttribute processContents="skip"/>
    </xs:complexType>

    <xs:simpleType name="InactivityType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Pause"/>
            <xs:enumeration value="BufferControl"/>
            <xs:enumeration value="Error"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="BufferLevelType">
        <xs:choice>
            <xs:element name="BufferLevelEntry" type="BufferLevelEntryType" maxOccurs="unbounded"/>
        </xs:choice>

        <xs:anyAttribute processContents="skip"/>
    </xs:complexType>

    <xs:complexType name="BufferLevelEntryType">
        <xs:attribute name="t" type="xs:dateTime" use="required"/>
        <xs:attribute name="level" type="xs:unsignedInt" use="required"/>
        <xs:anyAttribute processContents="skip"/>
    </xs:complexType>

    <xs:complexType name="PlayListType">
        <xs:choice>
            <xs:element name="Trace" type="PlayListEntryType" maxOccurs="unbounded"/>
        </xs:choice>

        <xs:anyAttribute processContents="skip"/>
    </xs:complexType>

    <xs:complexType name="PlayListEntryType">
        <xs:choice>
            <xs:element name="TraceEntry" type="PlayListTraceEntryType" maxOccurs="unbounded"/>
        </xs:choice>
        <xs:attribute name="start" type="xs:dateTime" use="required"/>
        <xs:attribute name="mstart" type="xs:duration" use="required"/>
        <xs:attribute name="startType" type="StartType" use="required"/>
        <xs:anyAttribute processContents="skip"/>
    </xs:complexType>

    <xs:complexType name="PlayListTraceEntryType">
        <xs:attribute name="representationId" type="xs:string" use="optional"/>
        <xs:attribute name="subrepLevel" type="xs:unsignedInt" use="optional"/>
        <xs:attribute name="start" type="xs:dateTime" use="required"/>
        <xs:attribute name="sstart" type="xs:duration" use="required"/>
        <xs:attribute name="duration" type="xs:unsignedInt" use="required"/>
        <xs:attribute name="playbackSpeed" type="xs:double" use="optional"/>
        <xs:attribute name="stopReason" type="StopReasonType" use="optional"/>
        <xs:attribute name="stopReasonOther" type="xs:string" use="optional"/>
        <xs:anyAttribute processContents="skip"/>
    </xs:complexType>

    <xs:simpleType name="StartType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="NewPlayoutRequest"/>
            <xs:enumeration value="Resume"/>
            <xs:enumeration value="OtherUserRequest"/>
            <xs:enumeration value="StartOfMetricsCollectionPeriod"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="StopReasonType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="RepresentationSwitch"/>
            <xs:enumeration value="Rebuffering"/>
            <xs:enumeration value="UserRequest"/>
            <xs:enumeration value="EndOfPeriod"/>
            <xs:enumeration value="EndOfContent"/>
            <xs:enumeration value="EndOfMetricsCollectionPeriod"/>
            <xs:enumeration value="Failure"/>
            <xs:enumeration value="Other"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="MpdInformationType">
        <xs:choice>
            <xs:element name="Mpdinfo" type="RepresentationType" maxOccurs="unbounded"/>
        </xs:choice>
        <xs:attribute name="representationId" type="xs:string" use="required"/>
        <xs:attribute name="subrepLevel" type="xs:unsignedInt" use="optional"/>
        <xs:anyAttribute processContents="skip"/>
    </xs:complexType>

    <xs:complexType name="RepresentationType">
        <xs:attribute name="codecs" type="xs:string" use="required"/>
        <xs:attribute name="bandwidth" type="xs:unsignedInt" use="required"/>
        <xs:attribute name="qualityRanking" type="xs:unsignedInt" use="optional"/>
        <xs:attribute name="frameRate" type="xs:double" use="optional"/>
        <xs:attribute name="width" type="xs:unsignedInt" use="optional"/>
        <xs:attribute name="height" type="xs:unsignedInt" use="optional"/>
        <xs:attribute name="mimeType" type="xs:string" use="required"/>
        <xs:anyAttribute processContents="skip"/>
    </xs:complexType>

    <xs:simpleType name="DoubleVectorType">
        <xs:list itemType="xs:double"/>
    </xs:simpleType>

    <xs:simpleType name="StringVectorType">
        <xs:list itemType="xs:string"/>
    </xs:simpleType>

    <xs:simpleType name="UnsignedIntVectorType">
        <xs:list itemType="xs:unsignedInt"/>
    </xs:simpleType>

</xs:schema>
+5 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="urn:3gpp:metadata:2016:PSS:schemaVersion" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:3gpp:metadata:2016:PSS:schemaVersion" elementFormDefault="qualified">
	<xs:element name="schemaVersion" type="xs:string"/>
	<xs:element name="delimiter" type="xs:byte"/>
</xs:schema>
+83 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="urn:3gpp:metadata:2024:PSS:SupplementalEventExposureReportingFields" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:3gpp:metadata:2024:PSS:SupplementalEventExposureReportingFields" elementFormDefault="qualified" version="TSG104-Rel18">
	<!-- Slice identification -->
	<xs:simpleType name="SliceDifferentiatorType">
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Fa-f0-9]{6}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="SliceInfoType">
		<xs:annotation>
			<xs:documentation>Information about a network slice.</xs:documentation>
		</xs:annotation>
		<xs:attribute name="sst" type="xs:unsignedByte" use="required">
			<xs:annotation>
				<xs:documentation>Slice/Service Type, expressed as an integer between 0 and 255 inclusive.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="sd" type="SliceDifferentiatorType" use="optional">
			<xs:annotation>
				<xs:documentation>Slice Differentiator, expressed as a 6-digit hexadecimal string.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:anyAttribute processContents="skip"/>
	</xs:complexType>
	<xs:element name="SliceInfo" type="SliceInfoType"/>
	<!-- Data Network naming -->
	<xs:element name="DNN" type="xs:string" nillable="false"/>
	<!-- Location identification -->
	<xs:simpleType name="CGIType">
		<xs:restriction base="xs:string">
			<xs:pattern value="\d{2,3}-^\d{3}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ECGIType">
		<xs:restriction base="xs:string">
			<xs:pattern value="\d{2,3}-^\d{3}$-[A-Fa-f0-9]{7}(-[A-Fa-f0-9]{11})+"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="NCGIType">
		<xs:restriction base="xs:string">
			<xs:pattern value="\d{2,3}-^\d{3}-[A-Fa-f0-9]{9}(-[A-Fa-f0-9]{11})+"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="UserLocationsType">
		<xs:annotation>
			<xs:documentation>A set of UE locations.</xs:documentation>
		</xs:annotation>
		<xs:sequence maxOccurs="unbounded">
			<xs:choice>
				<xs:element name="CGI" type="CGIType">
					<xs:annotation>
						<xs:documentation>A string of four numeric codes separated by hyphen characters that encode a Cell Global Identification per clause 4.3.1 of 3GPP TS 23.003:
-- Mobile Country Code (MCC) part of the PLMN ID, as defined in clause 9.3.3.5 of 3GPP TS 38.413, encoded using a string of 2 or 3 decimal digits.
- Mobile Network Code (MNC) part of the PLMN ID, as defined in clause 9.3.3.5 of 3GPP TS 38.413, encoded using a string of exactly 3 decimal digits.
- A Location Area Code (LAC) encoded using a string of 4 hexadecimal digits with the most significant nybble appearing first, and padded with leading zeroes as necessary.
- A Cell Identification (CI) encoded using a string of 4 hexadecimal digits with the most significant nybble appearing first, and padded with leading zeroes as necessary.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="ECGI" type="ECGIType">
					<xs:annotation>
						<xs:documentation>A string of four numeric codes separated by hyphen characters that encode a E-UTRAN Cell Global Identification per clause 19.6 of 3GPP TS 23.003:
- Mobile Country Code (MCC) part of the PLMN ID, as defined in clause 9.3.3.5 of 3GPP TS 38.413, encoded using a string of 2 or 3 decimal digits.
- Mobile Network Code (MNC) part of the PLMN ID, as defined in clause 9.3.3.5 of 3GPP TS 38.413, encoded using a string of exactly 3 decimal digits.
- E-UTRAN Cell Identity (ECI), as specified in clause 9.3.1.9 of 3GPP TS 38.413, encoded as a string of 7 hexadecimal digits with the most significant nybble appearing first, and padded with leading zeroes as necessary.
- Optional Network Identifier (NID), as specified in 3GPP TS 23.003 and clause 5.30.2.1 3GPP TS 23.501, encoded as a string of 11 hexadecimal digits with the most significant nybble appearing first, and padded with leading zeroes as necessary.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="NCGI" type="NCGIType">
					<xs:annotation>
						<xs:documentation>A string of four numeric codes separated by hyphen characters that encode a E-UTRAN Cell Global Identification per clause 19.6 of 3GPP TS 23.003:
- Mobile Country Code (MCC) part of the PLMN ID, as defined in clause 9.3.3.5 of 3GPP TS 38.413, encoded using a string of 2 or 3 decimal digits.
- Mobile Network Code (MNC) part of the PLMN ID, as defined in clause 9.3.3.5 of 3GPP TS 38.413, encoded using a string of exactly 3 decimal digits.
- NR Cell Identity (NCI), as specified in clause 9.3.1.7 of 3GPP TS 38.413, encoded as a string of 9 hexadecimal digits with the most significant nybble appearing first, and padded with leading zeroes as necessary.
- Optional Network Identifier (NID), as specified in 3GPP TS 23.003 and clause 5.30.2.1 of 3GPP TS 23.501, encoded as a string of 11 hexadecimal digits with the most significant nybble appearing first, and padded with leading zeroes as necessary.</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:choice>
			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:anyAttribute processContents="skip"/>
	</xs:complexType>
	<xs:element name="Locations" type="UserLocationsType"/>
</xs:schema>
+36 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema 
	xmlns="urn:3gpp:metadata:2016:PSS:SupplementQoEMetric" 
	xmlns:xs="http://www.w3.org/2001/XMLSchema" 
	targetNamespace="urn:3gpp:metadata:2016:PSS:SupplementQoEMetric" 
	elementFormDefault="qualified">

	<xs:element name="supplementQoEMetric" type="SupplementQoEMetricType"/>

    <xs:complexType name="SupplementQoEMetricType">
		<xs:sequence>
			<xs:element name="deviceinformation" type="DeviceInformationType" minOccurs="0"/>
			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
    </xs:complexType>

    <xs:complexType name="DeviceInformationType">
        <xs:choice>
            <xs:element name="Entry" type="DeviceInformationEntryType" maxOccurs="unbounded"/>
        </xs:choice>
        <xs:anyAttribute processContents="skip"/>
    </xs:complexType>

    <xs:complexType name="DeviceInformationEntryType">
        <xs:attribute name="start" type="xs:dateTime" use="required"/>
        <xs:attribute name="mstart" type="xs:duration" use="required"/>
        <xs:attribute name="videoWidth" type="xs:unsignedInt" use="required"/>
        <xs:attribute name="videoHeight" type="xs:unsignedInt" use="required"/>
        <xs:attribute name="screenWidth" type="xs:unsignedInt" use="required"/>
        <xs:attribute name="screenHeight" type="xs:unsignedInt" use="required"/>
        <xs:attribute name="pixelWidth" type="xs:double" use="required"/>
        <xs:attribute name="pixelHeight" type="xs:double" use="required"/>
        <xs:attribute name="fieldOfView" type="xs:double" use="required"/>
        <xs:anyAttribute processContents="skip"/>
    </xs:complexType>
</xs:schema>
Loading