See also: Developer Exchange.
Category: 3GPP Implementations
What This Project Implements
This project provides the 5G network infrastructure that other 5G-MAG reference tools run against. 5G-MAG maintains forks of established open-source Radio Access Network (RAN) and Core software, adds the components needed for its media and broadcast work, and documents how to stand up a working network in a lab or testbed.
In 5G terminology the RAN can be split into a Central Unit (CU) and a Distributed Unit (DU); the network core is the 5G Core (5GC); and Software Defined Radio (SDR) hardware is used to transmit and receive the radio signal. The forks below add support for the different delivery technologies 5G-MAG works on.
A note on the delivery technologies referenced here:
- MBS (Multicast-Broadcast Services), also written 5MBS, is the 3GPP feature for delivering the same content to many devices over the 5G Core and NR radio.
- 5G Broadcast (LTE-based) delivers free-to-air TV and radio over LTE/eMBMS radio, without a 5G core or return channel. It reuses Further evolved Multimedia Broadcast Multicast Service (FeMBMS).
These are distinct technologies; the branch mapping below follows this split.
Upstream software we build on
Some Reference Tools Projects make use of software developed by other Open-Source Software initiatives.
In particular:
-
srsRAN Project, in its two variants:
srsran/srsRAN_Project: Open source O-RAN 5G CU/DU solution from Software Radio Systems (SRS), used primarily as the NG-RAN to build Reference Tools demonstrators and PoCs and as the basis for the development of NG-RAN related components for MBSsrsran/srsRAN_4G: Open source SDR 4G software suite from Software Radio Systems (SRS), used primarily as the basis for the LTE-based 5G Broadcast components, emergency alerts over 5G Broadcast and the development of UE functionalities for MBS
-
Open5GS Project, used primarily as the 5GC to build Reference Tools demonstrators and PoCs and as the basis for the development of 5GC related components for MBS
What this project provides
This project does not deliver media itself; it provides a working radio access network and core so that MBS and 5G Broadcast components have something to attach to in a lab or testbed. The pieces map to 5G terminology as follows:
- NG-RAN (gNB), split into CU and DU: built from
rt-srsRAN_Project, 5G-MAG's fork of the srsRAN Project (an O-RAN-native 5G CU/DU with a full L1/L2/L3 implementation from Software Radio Systems). This is the NR side used for MBS demonstrators and for developing NG-RAN components for MBS. - 5G Core (5GC): built from 5G-MAG's fork of Open5GS. For MBS this includes the multicast/broadcast core functions; published 5G-MAG material describes using Open5GS for functions including the AMF, MB-SMF and MB-UPF.
- LTE-based radio and UE, for 5G Broadcast: built from
srsRAN_4G(the SDR 4G suite from SRS). This is the basis for the LTE-based 5G Terrestrial Broadcast transmitter and for developing UE-side functionality. - SDR hardware: Software Defined Radio front-ends transmit and receive the radio signal that the software above generates and processes.
The two delivery technologies, and why the forks split
The forks are organised around two distinct delivery technologies, and the branch mapping below follows that split.
| MBS (5MBS) | 5G Broadcast (LTE-based) | |
|---|---|---|
| Radio | 5G NR | LTE / eMBMS (reuses FeMBMS) |
| Core | 5G Core (multicast/broadcast functions) | None; free-to-air, no return channel |
| RAN software basis | rt-srsRAN_Project (NR CU/DU) | srsRAN_4G (eNodeB with MBMS) |
| Typical use | Same content to many devices over 5GC and NR | Free-to-air TV and radio over broadcast, receive-only |
Further evolved Multimedia Broadcast Multicast Service (FeMBMS) is the LTE broadcast feature reused by 5G Broadcast. Published 5G-MAG material notes that the LTE-based 5G Broadcast transmitter builds on the MBMS implementation in the srsRAN_4G eNodeB, extended towards the 3GPP Release 17 LTE-based 5G Terrestrial Broadcast feature set (for example channel estimation and reference signals for the 1.25 kHz and 7.5 kHz subcarrier spacings used by dedicated broadcast). The dedicated 5G Broadcast transmitter and modem live in separate repositories (for example rt-mbms-tx and rt-mbms-modem), which depend on this project for the underlying radio software.
How this relates to the media reference tools
The MBS and 5G Broadcast media stacks depend on a working network to run against. This project supplies that network so the media components do not each have to stand up a RAN and core. Because the RAN and core are forks of upstream open-source projects (srsRAN, Open5GS), 5G-MAG tracks the upstream projects and maintains the additions needed for its broadcast and multicast work on dedicated branches rather than in the mainline.
Getting Started
- Decide which technology you are building for: MBS (5G NR plus 5GC) or LTE-based 5G Broadcast. This determines which fork and branch you need.
- For MBS, build the NG-RAN from 5G-MAG/rt-srsRAN_Project and the core from 5G-MAG/open5gs, selecting the MBS-related branches.
- For 5G Broadcast, use the LTE-based transmitter path built on
srsRAN_4G; see the dedicated transmitter and modem repositories in the branch table below. - Follow the Tutorials for the network and SDR setup guides, including SDR front-end configuration.
The branch table below maps each fork and branch to its use case, which is the fastest way to find the exact branch for your scenario.
Branches at a glance
Each fork carries a main/master branch tracking the upstream project, plus branches that add the delivery technology 5G-MAG works on. PWS (Public Warning System) is the cell-broadcast mechanism used for emergency alerts. The mapping below shows which branch to use for which purpose.
| Repository | Branch | Use case |
|---|---|---|
| open5gs | main | Regular 5G network (baseline core) |
| open5gs | 5mbs | 5MBS implementations (main line) |
| open5gs | 5mbs-development | 5MBS development branch |
| rt-srsRAN_Project | main | Regular 5G network (baseline NG-RAN) |
| rt-srsRAN_Project | 5mbs | 5MBS implementations (main line) |
| rt-srsRAN_Project | 5mbs-development | 5MBS development branch |
| srsRAN_4G | master | Baseline srsRAN_4G fork |
| srsRAN_4G | 5mbs | 5MBS implementations |
| srsRAN_4G | fembms | LTE-based 5G Broadcast / MBMS |
| srsRAN_4G | pws-enb | Emergency alerts (Public Warning System) |
| srsRAN | main_srsran_4g | Baseline srsRAN fork |
| srsRAN | fembms | LTE-based 5G Broadcast / MBMS |
Fork of Open5GS
The branches available under this repository are:
- main - A fork of the "main" branch of Open5GS primarily used for building a regular 5G Network.
- 5mbs - Acts as the "main" branch for implementations related to 5MBS.
- 5mbs-development - Acts as the "development" branch for the 5mbs branch.
Fork of srsRAN Project
The branches available under this repository are:
- main - A fork of the "main" branch of srsRAN Project primarily used for building a regular 5G Network.
- 5mbs - Acts as the "main" branch for implementations related to 5MBS.
- 5mbs-development - Acts as the "development" branch for the 5mbs branch.
Fork of srsRAN_4G
The branches available under this repository are:
- master - A fork of the "master" branch of srsRAN_4G.
- 5mbs - Acts as the "main" branch for implementations related to 5MBS.
- fembms - Acts as the "main" branch for implementations related to 5G Broadcast / MBMS.
- pws-enb - Acts as the "main" branch for implementations related to Emergency Alerts.
Fork of srsRAN (discontinued version prior to srsRAN_4G)
The branches available under this repository are:
- main_srsran_4g - A fork of the "main" branch of srsRAN.
- fembms - Acts as the "main" branch for implementations related to 5G Broadcast / MBMS.
Related
- Repositories & Releases
- Slide deck: 3GPP RAN and Core Platforms overview
- Multicast & Broadcast in 5G on the Tech portal
- Standards: 5G Multicast & Broadcast Services, 5G Broadcast
- Projects built on these platforms: 5G Multicast & Broadcast Services, 5G Broadcast, 5G Core Service Consumers
Refer to the rt-srsRAN_Project and open5gs repositories to contribute to this project. See How to Contribute for the process.