13.9 SAND extension messages XML schema

26.2473GPPProgressive Download and Dynamic Adaptive Streaming over HTTP (3GP-DASH)Release 17Transparent end-to-end Packet-switched Streaming Service (PSS)TS

The XML schema for the SAND extension messages is defined in Table 13-20.

Note: Support for the schema is only required when required by the specific SAND mode.

Table 13-20: XML schema for SAND extension messages

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
targetNamespace="urn:3gpp:dash:schema:sandmessageextension:2017"
attributeFormDefault="unqualified"
elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="urn:3gpp:dash:schema:sandmessageextension:2017">

<xs:annotation>
<xs:appinfo>SAND Messages Extension</xs:appinfo>
<xs:documentation xml:lang="en">
This Schema defines the Server And Network Assisted DASH (SAND) messages extension for 3GPP.
</xs:documentation>
</xs:annotation>

<!– SAND message: main element –>
<xs:element name="SANDMessage" type="SANDEnvelopeType"/>

<!– SAND common envelope Type –>
<xs:complexType name="SANDEnvelopeType">
<xs:choice maxOccurs="unbounded">
<xs:element name="NetworkAssistanceInitiationRequest" type="NetworkAssistanceInitiationRequestType"/>
<xs:element name="NetworkAssistanceInitiationResponse" type="NetworkAssistanceInitiationResponseType"/>
<xs:element name="NetworkAssistanceTermination" type="NetworkAssistanceTerminationType"/>
<xs:element name="SegmentDuration" type="SegmentDurationType"/>
<xs:element name="DeliveryBoostRequest" type="DeliveryBoostRequestType"/>
<xs:element name="DeliveryBoostResponse" type="DeliveryBoostResponseType"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attribute name="senderId" type="xs:token"/>
<xs:attribute name="generationTime" type="xs:dateTime"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>

<!– SAND message base Type –>
<xs:complexType name="SANDMessageType">
<xs:attribute name="messageId" type="xs:unsignedInt"/>
<xs:attribute name="validityTime" type="xs:dateTime"/>
</xs:complexType>

<!– NetworkAssistanceInitiationRequest Type –>
<xs:complexType name="NetworkAssistanceInitiationRequestType">
<xs:attribute name="MediaServerIPAddress" type="xs:string" use="required"/>
<xs:attribute name="PortNumber" type="xs:unsignedInt" use="required"/>
</xs:complexType>

<!– NetworkAssistanceInitiationResponse Type –>
<xs:complexType name="NetworkAssistanceInitiationResponseType">
<xs:attribute name="sessionId" type="xs:unsignedInt" minOccurs="1" maxOccurs="1"/>
<xs:attribute name="PortNumber" type="xs:unsignedInt" minOccurs="0" maxOccurs="1"/>
<xs:attribute name="WebSocketRequired" type="WebSocketRequiredType" minOccurs="0" maxOccurs="1"/>
</xs:complexType>

<!– NetworkAssistanceTermination Type –>
<xs:complexType name="NetworkAssistanceTerminationType">
<xs:attribute name="sessionId" type="xs:unsignedInt" use="required"/>
</xs:complexType>

<!– SegmentDuration Type –>
<xs:complexType name="SegmentDurationType">
<xs:attribute name="duration" type="xs:unsignedInt" use="required"/>
</xs:complexType>

<!– DeliveryBoostRequest Type –>
<xs:complexType name="DeliveryBoostRequestType">
<xs:attribute name="DeliveryBoostRequest" type="xs:string" fixed="Affirmed"/>
</xs:complexType>

<!– DeliveryBoostResponse Type –>
<xs:complexType name="DeliveryBoostResponseType">
<xs:attribute name="DeliveryBoostStatus" type="DeliveryBoostStatusType" use="required"/>
</xs:complexType>

<!—- DeliveryBoostStatus Type –>
<xs:simpleType name="DeliveryBoostStatusType">
<xs:restriction base="xs:string">
<xs:enumeration value="granted"/>
<xs:enumeration value="declined"/>
</xs:restriction>
</xs:simpleType>

<!– WebSocketRequiredType Type –>
<xs:complexType name="WebSocketRequiredType">
<xs:attribute name="WebSocketRequired" type="xs:string" fixed="Affirmed"/>
</xs:complexType>

</xs:schema>