SAND

Server and Network Assisted DASH

Services →
Introduced in Rel-12

SAND is a 3GPP framework enabling communication between a DASH client and network or server entities to optimize streaming delivery by providing hints and metrics for smarter adaptation decisions.

Category
Services
Introduced
Rel-12
Where
Services › Codecs
Specifications
8 specs
SAND Description Purpose Related Classification Detected Changes Specifications

Description

Server and Network Assisted DASH (SAND) is a standardized framework defined by 3GPP to enhance the performance of Dynamic Adaptive Streaming over HTTP (DASH) through collaboration between the client and the network/service provider. Traditional DASH relies solely on client-side heuristics (like buffer level and measured throughput) to select the quality of the next media segment. SAND introduces a bidirectional message channel that allows external entities—a SAND server or network nodes—to send assistance data to the DASH client, and optionally for the client to report back.

The architecture involves several key components: the DASH Client, the SAND Server (or Network-Assisting Server), and the SAND message channel. The DASH client is enhanced with a SAND message processor. The SAND server can be operated by the content provider, network operator, or a third party. The message channel typically uses HTTP POST/GET requests. The framework defines a set of message types, such as Metrics Messages (from client to server reporting player state), Parameters Messages (from server to client providing network conditions like available bandwidth or congestion), and Operation Messages (like SAMMO for MBMS).

Operationally, a SAND server might collect data from network probes (e.g., PCRF, PCEF) or other clients to build a view of network conditions. It can then send a Parameters Message to a client indicating that the network path to a specific CDN server is congested, suggesting the client switch to an alternative server or lower its bitrate preemptively. Conversely, a client can send a Metrics Message reporting its buffer status, enabling the server to tailor its advice. The messages are defined in XML format, ensuring interoperability. SAND does not mandate specific client actions; it provides recommendations, leaving the final adaptation decision to the client's logic, thus maintaining the client-driven nature of DASH while enriching its decision-making data.

Purpose & Motivation

SAND was created to address the limitations of purely client-driven adaptation in DASH, which can lead to suboptimal outcomes both for Quality of Experience (QoE) and network efficiency. A client has only a localized, downstream view of the network. It cannot see upstream congestion, impending network policy changes, or the availability of more efficient delivery methods like multicast. This can result in all clients reacting similarly to congestion (causing oscillations), missing opportunities to use broadcast, or overloading a specific server.

Introduced in Release 12, SAND's purpose is to enable network-assisted optimizations without breaking the HTTP-based, client-driven DASH model. It solves the problem of information asymmetry. By allowing the network—which has a global view of traffic, topology, and services—to communicate relevant information to the client, SAND enables more stable streaming, better utilization of network resources (e.g., offloading to broadcast), and improved overall QoE. It was motivated by the need for smarter streaming in managed networks (like mobile operator networks) and for enabling converged unicast-broadcast services, laying the groundwork for advanced media delivery features in later releases.

Classification

Part ofDASH
Specific typesSAMMO
Related approachesMBMSQoECDN

Release Timeline

Detected Changes Across Releases

from 3GPP Change Requests

Specific changes extracted from the „Change history“ tables of 3GPP specifications (3 CRs across 1 releases). Complements the general historical overview above with the evidence-based evolution of this function.

Rel-15 3 changes

In Release 15, the SAND (Server and Network Assisted DASH) function was newly introduced with support for the PSS (Packet-switched Streaming Service) and for MBMS (Multimedia Broadcast Multicast Service). This framework, as specified for network assistance, was applied to enable the exchange of messages between a VAE server and a VAE client to enhance Quality of Experience (QoE). Specifically, this initial support aimed to help maintain sustainable QoE for V2X UEs receiving video streams from a V2X application server.

Explore further

Broader topics and technologies where SAND plays a role.

Defining Specifications

3GPP specifications that define or reference SAND, with the latest known release. Sourced from the 3GPP document catalog — see methodology.

SpecificationTitleRelease
TS 23.795 vg10 V2X Application Architecture Study Rel-16
TS 26.233 vf00 3GPP Packet-Switched Streaming Service (PSS) Rel-15
TS 26.247 vj00 3GPP Progressive Download & DASH over HTTP Rel-19
TS 26.347 vj00 MBMS Transport Protocol and API (TRAPI) Rel-19
TS 26.804 vj10 5G Media Streaming Extensions Study Rel-19
TS 26.852 ve20 MBMS user service profiles, APIs and transport enabler study Rel-14
TR 26.946 vj00 MBMS User Services Overview Rel-19
TR 26.957 vj00 Evaluation of MPEG DASH SAND for 3GPP Rel-19
Patrick Zandl

About the author: Patrick Zandl (b. 1974)

Telecommunications specialist, technology journalist (founder of the Mobil server), and developer who has been running since 2025 — the largest Czech-language resource on AI-assisted programming. Formerly Chief Wizard Architect at Prusa3D and head of development for Turris at CZ.NIC; currently a consultant and instructor on AI implementation in companies.