Category: 3GPP Implementations
What This Project Implements
The functional entities of 5G Media Streaming, instantiated for 5G Unicast Downlink Media Streaming (5GMSd), including support for various of the features specified, reference points and APIs.
5G Media Streaming (5GMS) is a 3GPP framework for high-quality, efficient delivery of media, supporting services from Mobile Network Operators (MNOs) and third parties in both Downlink (5GMSd) and Uplink (5GMSu) Media Streaming. The 5GMS architecture is functionally divided into independent components, enabling deployments with various degrees of integration between 5G MNOs and Content Providers. For acronyms used here, see the Glossary.
The reference points below use a trailing d to indicate the downlink variant (for example M1d, M4d, M5d). The following table summarises the interfaces you will meet on this page.
| Reference point | Connects | Purpose |
|---|---|---|
| M1 / M1d | 5GMS Application Provider to 5GMS Application Function (AF) | Provisioning of streaming sessions (content hosting, certificates, policies, reporting configurations) |
| M2d | 5GMS Application Provider to 5GMS Application Server (AS) | Content ingest into the AS (HTTP push or pull) |
| M3 / M3d | 5GMS Application Function to 5GMS Application Server | Internal configuration of the AS by the AF |
| M4d | 5GMS Application Server to 5GMS Client | Delivery of media to the client (for example DASH over HTTP) |
| M5 / M5d | 5GMS Client to 5GMS Application Function | Media session handling and reporting (Service Access Information, consumption, metrics) |
| M6d | Media Session Handler to Media Player / 5GMSd-Aware Application (in the UE) | Client-side API between the session handler and the player or application |
| M7d | Media Player to Media Session Handler (in the UE) | Client-side API used by the player to drive the session handler |
| M8 | 5GMS Application Provider to 5GMSd-Aware Application | Application-level information (out of 3GPP scope), for example the stream list |
The reference tools developed by 5G-MAG for 5GMSd consist of four main components: the 5GMSd Application Function (AF) (rt-5gms-application-function), which exposes the M1 provisioning and M5 session handling interfaces; the 5GMSd Application Server (AS) (rt-5gms-application-server), which caches and delivers media objects to clients; the Media Session Handler (rt-5gms-media-session-handler), an Android background service that manages the streaming session on the User Equipment (UE) side; and the Media Stream Handler (rt-5gms-media-stream-handler), which handles media playback using the configuration provided by the Media Session Handler. In TS 26.501 terms the Media Stream Handler plays the role of the downlink Media Player.
Scope boundaries worth noting up front:
- The uplink direction (5GMSu), where the UE is the media source, is defined by the same specifications but is not implemented by these tools.
- Several fields accepted by the M1 Content Hosting API are not yet implemented (Content Preparation, Edge Resources, geo-fencing and URL signing); see the notes in the "Feature: Content Hosting" and "Summary of APIs" sections.
- The generic UE data collection and event exposure framework (TS 26.531 and TS 26.532) is provided as a separate project (UE Data Collection, Reporting and Event Exposure) and is not yet wired into 5GMS; see the "Feature: Data collection, reporting and exposure" section.
The reference tools implement the downlink direction (5GMSd) against the Release 17 normative baseline. They track the Release 18 changes (where the session-handling APIs move from TS 26.512 into TS 26.510 and are generalised across the 5GMS and RTC systems); the "Summary of APIs" table below maps the Release 17 and Release 18 API filenames side by side and marks which are implemented today.
Technical documentation providing context to this project can be found in the link below.
Tech: Streaming, Media Delivery & Data Collection
A list of relevant specifications can be found in the link below.
High-level architecture
The Reference Tools can be combined in several deployment configurations, each pairing 5G Media Streaming with a different set of supporting projects.
5G Downlink Media Streaming (5GMSd)
The baseline configuration: the 5GMSd tools delivering adaptive bitrate streaming over 5G unicast.
5G Media Streaming: Resources 3GPP RAN and Core Platforms: Resources Common Tools: Repositories
5G Downlink Media Streaming (5GMSd) with UE Data Collection Reporting and Event Exposure
Adds the UE Data Collection, Reporting and Event Exposure project so that consumption and quality data can feed analytics and event subscribers.
5G Media Streaming: Resources UE Data Collection, Reporting and Event Exposure: Resources 3GPP RAN and Core Platforms: Resources Common Tools: Repositories
5G Downlink Media Streaming (5GMSd) with 5GC Service Consumers
Adds the 5G Core (5GC) Service Consumers project, letting the AF consume core network APIs (for example for policy and QoS control).
5G Media Streaming: Resources 5GC Service Consumers: Resources 3GPP RAN and Core Platforms: Resources Common Tools: Repositories
5G Downlink Media Streaming (5GMSd) over eMBMS
Combines 5GMSd with the 5G Broadcast and multimedia content delivery projects to distribute content over evolved Multimedia Broadcast Multicast Service (eMBMS) broadcast bearers.
5G Media Streaming: Resources 5G Broadcast: Resources Multimedia content delivery protocols: Resources 3GPP RAN and Core Platforms: Resources Common Tools: Repositories
5G Unicast Downlink Media Streaming (5GMSd)
A functional 5GMSd implementation is available with the building blocks highlighted with the green tick below.
Figure: 5GMSd downlink architecture. Entities marked with a green tick are implemented by the 5G-MAG Reference Tools.
This includes the implementation of the following entities: 5GMSd Application Provider, 5GMSd AS, 5GMSd AF, 5GMSd Client (with Media Session Handler and Media Player) and 5GMSd-Aware Application.
Note that before the required features of the 5GMS System can be used by 5GMS Clients, they are first provisioned by a 5GMS Application Provider creating one or more Provisioning Sessions. The 5GMSd Application Provider can then specify one or more 5GMSd features in the Provisioning Session. The Provisioning Session information may include Content Hosting Configurations, Content Preparation Templates, Server Certificates, Policy Templates, a Consumption Reporting Configuration, Metrics Reporting Configurations, Edge Resources Configurations and Event Data Processing Configurations.
Once created, this is a representation of a Provisioning Session:
{
"provisioningSessionId": "string",
"provisioningSessionType": "DOWNLINK",
"aspId": "string",
"appId": "string",
"serverCertificateIds": ["string"],
"contentPreparationTemplateIds": ["string"],
"metricsReportingConfigurationIds": ["string"],
"policyTemplateIds": ["string"],
"edgeResourcesConfigurationIds": ["string"],
"eventDataProcessingConfigurationIds": ["string"]
}
Where:
provisioningSessionId: A unique identifier for this Provisioning Session.provisioningSessionType: The type of Provisioning Session.aspId: The identity of the Application Service Provider responsible for this Provisioning Session.appId: The Application Identifier to which this Provisioning Session pertains.
Feature: Content Hosting
The content hosting feature provides a service equivalent to a Content Delivery Network (CDN) deployed inside or outside the Trusted DN. It includes selecting the ingest protocol and format, caching and proxying of media objects, content preparation, access protection (e.g. URL signing) and indicating a target distribution area (e.g. through geofencing). Once a Provisioning Session is established, Content Hosting is configured via a Content Hosting Configuration at M1 (optionally secured by a provisioned Server Certificate); the supported ingest protocols in Release 17 are HTTP pull-based ingest (urn:3gpp:5gms:content-protocol:http-pull-ingest) and DASH-IF push-based ingest (urn:3gpp:5gms:content-protocol:dash-if-ingest). Content Preparation, Edge Resources, geo-fencing and URL signing are accepted by the API but not yet implemented by the Reference Tools.
Feature deep dive: Content Hosting covers the full reference points and APIs, the Content Hosting Configuration JSON schema, and worked examples.
Feature: Network Assistance
The network assistance feature enables the 5GMS Client in the UE to interrogate or manipulate the network Quality of Service (QoS) for an ongoing media streaming session, via interactions with the Policy Control Function (AF-based network assistance) or via Access Network Bitrate Recommendation (ANBR) signalling between the UE modem and the Radio Access Network (RAN-based network assistance). It covers two capabilities: Bit Rate Recommendation (Throughput Estimation), which keeps the client synchronised with the network's current capabilities, and Delivery Boost, a reactive request for a temporary increase in bit rate. Of the two, only Delivery Boost is currently implemented by the Reference Tools; Throughput Estimation is still in development.
Feature deep dive: Network Assistance covers both mechanisms in detail and the M5 reference points/APIs involved.
Feature: Dynamic Policies
The dynamic policies feature enables the 5GMS Client in the UE to manipulate the network traffic handling policies for an ongoing media streaming session. When the feature is offered and selected, the 5GMSd Application Provider specifies a set of policies in the Provisioning Session which can be invoked for the session, and the UE becomes aware of the selected policies as a list of valid Policy Template Ids (covering QoS, network slice/DNN context and charging treatment).
Feature deep dive: Dynamic Policies covers the M1/M5 reference points and APIs and the Policy Template JSON schema.
Feature: Consumption Reporting
The consumption reporting feature allows consumption of downlink media streaming to be logged by the 5GMS System and exposed for analysis. Once a Provisioning Session is established, Consumption Reporting is configured via a Consumption Reporting Configuration that sets the reporting interval, the sample percentage of clients that report, and whether location and access-network-change reporting are required.
Feature deep dive: Consumption Reporting covers the M1/M5 reference points and APIs and the full configuration schema.
Feature: QoE Metrics Reporting
The QoE metrics reporting feature enables the 5GMS System to log and expose streaming performance data for further analysis, via two distinct paths: RAN-based reporting (metrics sent to the Operations, Administration and Maintenance system via the Radio Access Network) and AF-based reporting (metrics sent directly to the 5GMS AF). A Metrics Reporting Configuration selects which DASH quality metrics (3GPP scheme urn:3GPP:ns:PSS:DASH:QM10) are collected; the Reference Tools currently support the HTTP request/response list, the list of Representation Switch Events, Buffer Level and MPD Information.
Feature deep dive: QoE Metrics Reporting covers the full metric list, the M1/M5 reference points/APIs and the configuration schema.
Feature: Data collection, reporting and exposure
This feature is not yet implemented within the framework of 5GMS. A generic architecture for UE Data Collection and Reporting is available separately (see the note below).
The data collection, reporting and exposure feature would enable the 5GMS System to log data relating to media streaming sessions and expose this to subscribers in the form of Events, via the Event Data Processing provisioning API at M1 and the Metrics Reporting / Consumption Reporting APIs at M5.
At the moment, a generic architecture for UE Data Collection and Reporting is available in the Reference Tools under the following project: UE Data Collection, Reporting and Event Exposure. Note these entities are not yet implemented within the framework of 5GMS.
Feature deep dive: Data collection, reporting and exposure covers the reference points and APIs involved.
Summary of features supported by the 5GMS Application Function
The release versions of the 5GMSd Application Function support differing sets of interfaces and differing levels of feature support for those interfaces, tracked release by release across the M1, M3, M5, N5, N33, R4, R5/R6 and Nbsf interface points.
Feature deep dive: full feature-support matrix gives the interface-by-interface breakdown, the specification versions used, and which protocols and features are supported, in development, or unimplemented.
Summary of APIs supported for 5G Media Streaming
The reference tools track the 3GPP 5G Media Streaming APIs across Release 17 (TS 26.512) and Release 18 (TS 26.510 & TS 26.512), where the media session handling APIs move from TS 26.512 into TS 26.510 to generalise them across the 5GMS and Real-Time media Communication (RTC) systems.
Feature deep dive: full Release 17 / Release 18 API mapping shows, file by file, which APIs are already implemented in the Reference Tools, which are on the roadmap, and which are not yet started.
Docker deployment support
Docker-Compose setups are provided to run the 5GMS Application Function, the 5GMS Application Server and the 5GMS Application Provider in Docker container environments.
Getting Started
The following tutorials cover the deployment of an end-to-end 5GMSd implementation.
Go to the Tutorial: 5G MSd End-to-End deployment (with Docker)
Go to the Tutorial: 5G MSd End-to-End deployment with 5G Network
The following tutorials cover the deployment and testing of 5GMSd AS and AF.
Go to the Tutorial: Developing and Testing the 5GMS Application Server
Go to the Tutorial: Testing the 5GMS Application Function
Go to the Tutorial: Testing M1 and M5 APIs with Postman
For the source code, packages and releases behind each component, see Resources.
Roadmap
The Kanban board below tracks the planned and in-progress work for the 5G Media Streaming Reference Tools (DASH-based media delivery, Application Server and Application Function components). It is maintained live on GitHub.
The work is also broken down into individual feature streams, each organised as a Minimum Viable Product (MVP), a self-contained increment that delivers one working capability. For the current status of any item, the linked Kanban board is always authoritative.
| Feature stream | Kanban board |
|---|---|
| Basic Media stream handling (MVP#1) | Kanban board |
| Media session handling (MVP#2) | Kanban board |
| M1d Provisioning | Kanban board |
| M3 Link (AF to AS RESTful OpenAPI) | Kanban board |
| Network Assistance and Dynamic Policies | Kanban board |
| QoE metrics collection and reporting | Kanban board |
| Consumption collection and reporting | Kanban board |
| Application Provider User Interface | Kanban board |
| TS 26.512 V17.5.0 uplift | Kanban board |
| Cloud infrastructure | Kanban board |
| DVB-I Service using 5G Media Streaming | Kanban board |
Related
- Resources
- Tutorials
- Standards: 5G Media Streaming specifications — the full specification list (TS 26.501, TS 26.510, TS 26.511, TS 26.512) and the Release-19 work
- Tech: 5G Media Streaming architecture and analysis
Refer to the rt-5gms-application-function and related 5G-MAG Reference Tools repositories to contribute to this project.