13.4 SAND Messages and Protocols for 3GP-DASH
26.2473GPPProgressive Download and Dynamic Adaptive Streaming over HTTP (3GP-DASH)Release 17Transparent end-to-end Packet-switched Streaming Service (PSS)TS
3GP-DASH clients supporting SAND functionality in the ‘Proxy Caching’ mode shall support the following SAND messages (as described further in clause 13.7):
– ClientCapabilities, as defined in clause 6.4.7 of ISO/IEC 23009-5 [54]
– DaneCapabilities, as defined in clause 6.5.9 of ISO/IEC 23009-5 [54]
– AnticipatedRequests, as defined in clause 6.4.1 of ISO/IEC 23009-5 [54]
– AcceptedAlternatives, as defined in clause 6.4.3 of ISO/IEC 23009-5 [54]
– DeliveredAlternative, as defined in clause 6.5.8 of ISO/IEC 23009-5 [54]
– ResourceStatus, as defined in clause 6.5.1 of ISO/IEC 23009-5 [54]
– MPDValidityEndTime, as defined in clause 6.5.4 of ISO/IEC 23009-5 [54]
In a PSS service environment with SAND support, DANEs in the ‘Proxy Caching’ mode shall also support these messages.
3GP-DASH clients supporting SAND functionality in the ‘Network Assistance’ mode shall support the following SAND messages (as described further in clause 13.6):
– ClientCapabilities, as defined in clause 6.4.7 of ISO/IEC 23009-5 [54]
– DaneCapabilities, as defined in clause 6.5.9 of ISO/IEC 23009-5 [54]
– SharedResourceAssignment, as defined in clause 6.5.3 of ISO/IEC 23009-5 [54]
– SharedResourceAllocation, as defined in clause 6.4.2 of ISO/IEC 23009-5 [54]
– NetworkAssistanceInitiationRequest, as defined in clause 13.6
– NetworkAssistanceInitiationResponse, as defined in clause 13.6
– NetworkAssistanceTermination, as defined in clause 13.6
– SegmentDuration, as defined in clause 13.6
– DeliveryBoostRequest, as defined in clause 13.6
– DeliveryBoostResponse, as defined in clause 13.6
In a PSS service environment with SAND support, DANEs in the ‘Network Assistance’ modes shall also support these messages.
3GP-DASH clients supporting SAND functionality in the ‘Consistent QoE/QoS’ mode shall support the following SAND messages (as described further in clause 13.8):
– ClientCapabilities, as defined in clause 6.4.7 of ISO/IEC 23009-5 [54]
– DaneCapabilities, as defined in clause 6.5.9 of ISO/IEC 23009-5 [54]
– SharedResourceAssignment, as defined in clause 6.5.3 of ISO/IEC 23009-5 [54]
– SharedResourceAllocation, as defined in clause 6.4.2 of ISO/IEC 23009-5 [54]
– QoSInformation, as defined in clause 6.5.7 of ISO/IEC 23009-5 [54]
In a PSS service environment with SAND support, DANEs in the ‘Consistent QoE/QoS’ modes shall also support these messages.
In case the DASH client connects to a DANE, the 3GP-DASH client shall send the status message ClientCapabilities in order to inform the DANE about the SAND mode(s) it supports. The 3GP-DASH client shall use the messageSetUri parameter to indicate which SAND mode(s) it supports based on the following URNs:
– urn:3gpp:dash:sand:messageset:pc:2016 to indicate support for the ‘Proxy Caching’ mode
– urn:3gpp:dash:sand:messageset:na:2016 to indicate support for the ‘Network Assistance’ mode
– urn:3gpp:dash:sand:messageset:qoe:2016 to indicate support for the ‘Consistent QoE/QoS’ mode
– urn:3gpp:dash:sand:messageset:sand4m:2018 to indicate support for the ‘SAND for Multi-Network Access’ mode
Depending on the SAND mode(s) supported by the 3GP-DASH client, one or more of these URNs may be included in the ClientCapabilities message.
In case the DANE connects to a 3GP-DASH client, the DANE shall send the PER message DaneCapabilities in order to inform the 3GP-DASH client about the SAND mode(s) it supports. The DANE shall use the messageSetUri parameter to indicate which SAND mode(s) it supports based on the following URNs:
– urn:3gpp:dash:sand:messageset:pc:2016 to indicate support for the ‘Proxy Caching’ mode
– urn:3gpp:dash:sand:messageset:na:2016 to indicate support for the ‘Network Assistance’ mode
– urn:3gpp:dash:sand:messageset:qoe:2016 to indicate support for the ‘Consistent QoE/QoS’ mode
– urn:3gpp:dash:sand:messageset:sand4m:2018 to indicate support for the ‘SAND for Multi-Network Access’ mode
Depending on the SAND mode(s) supported by the DANE, one or more of these URNs may be included in the DaneCapabilities message.
If the 3GP-DASH client has already discovered the DANE via the use of mode-specific FQDNs provided in clause 13.3 (i.e., with first labels ‘nadane’, ‘qoedane’ and ‘pcdane’ as defined in clause 13.3), the exchange of ClientCapabilities and DaneCapabilities messages shall not be performed on connection to a DANE.
If SAND is supported, HTTP shall be supported as the minimum transport protocol for carrying SAND messages. This does not preclude that other additional transport protocols could also be implemented. The mandatory use of HTTP as a minimum transport protocol for SAND messages shall be in accordance with Table 13-1 (bold font represents mandatory):
Table 13-1: Mandatory usages of HTTP for carrying SAND messages
Metrics messages |
HTTP POST |
Status messages |
HTTP headers HTTP POST |
PER messages |
HTTP GET |
For SAND status messages, carriage in HTTP headers shall be used for communicating with in-band DANEs, while HTTP POST shall be used for communicating with out-of-band DANEs. This distinction between two kinds of DANE is introduced in the high-level architecture in clause 4.2.8 of TS 26.233 [2].
3GP-DASH clients supporting SAND functionality as well as DANEs in the ‘Network Assistance’ or ‘Consistent QoE/QoS’ modes shall further support the WebSocket protocol specified in IETF RFC 6455 [56], provided that HTTP over TLS (HTTPS) is supported by the respective 3GP-DASH client or DANE. If HTTP over TLS (HTTPS) is not supported by a 3GP-DASH client, then that 3GP-DASH client should support the WebSocket protocol for the ‘Consistent QoE/QoS’ and ‘Network Assistance’ modes. Similarly, if HTTP over TLS (HTTPS) is not supported by a DANE, then that DANE should support the WebSocket protocol for the ‘Consistent QoE/QoS’ and ‘Network Assistance’ modes. When WebSockets is supported for the ‘Consistent QoE/QoS’ mode, as specified in ISO/IEC 23009-5 [54], the MPD shall contain a sand:Channel element whose @schemeIdUri is "urn:mpeg:dash:sand:channel:websocket:2016" and WebSocket URI in the @endpoint attribute.