Skip to main content
5G Multicast Broadcast Services (MBS)

Scope

Category: 3GPP Implementations

What This Project Implements

These reference tools implement parts of the 3GPP 5G Multicast Broadcast Services (MBS) feature. They are aimed at developers and integrators who want to run and inspect MBS delivery over a 5G Core, using multicast and broadcast to send the same media to many devices at once. To try the tools hands-on, see the Tutorials.

Key terms
  • 5GC: 5G Core network. NG-RAN: the 5G radio access network. UE: User Equipment (the device).
  • MBSF / MBSTF: MBS Function (control) and MBS Transport Function (media data plane), the two MBS User Services network functions.
  • MB-SMF / MB-UPF: the multicast/broadcast versions of the Session Management Function and User Plane Function in the 5G Core.
  • AF / AS: the Application Function and Application Server on the MBS Application Provider side.
  • TMGI: Temporary Mobile Group Identifier, the identifier for an MBS session. SSM: Source-Specific Multicast address.
  • FLUTE / ALC: File Delivery over Unidirectional Transport, carried in Asynchronous Layered Coding packets, used to send files one-way.
  • PFCP: Packet Forwarding Control Protocol (control between MB-SMF and MB-UPF). GTP-U: the user-plane tunnelling protocol between core and RAN.
  • PTM: Point-to-Multipoint delivery. NTN: Non-Terrestrial Network (satellite) access.
  • MRB: MBS Radio Bearer, the radio bearer carrying broadcast traffic. MCCH / MTCH: the MBS Control and Traffic logical channels — MCCH announces the live sessions over the air, MTCH carries their content. G-RNTI: the group radio identity a session's MTCH is scheduled on.

In the context of 3GPP standards, the Multicast Broadcast Services System, MBS System, is designed to support multicast and broadcast services in 5G networks. It introduces a flexible architecture that supports both Multicast (for specific groups with high reliability) and Broadcast (for wide-area distribution to all users), allowing the network to dynamically switch between point-to-point and point-to-multipoint delivery. While the MBS System handles the heavy lifting of moving data through the 5G core and radio, MBS User Services defines how that content is actually packaged, discovered, and consumed by the end-user's application.

Technical documentation providing context to this project can be found in the link below.

Tech: Multicast and Broadcast Services in 5G Networks

Relevant specifications are listed below.

Standards: 5G Multicast Broadcast Services

Standards: Multimedia Delivery Protocols

In short

The complete MBS Broadcast delivery chain: the MBS Application Provider side, the MBS User Services network functions (MBSF, MBSTF), the 5GC (MB-SMF, MB-UPF, AMF), the NG-RAN (gNB), and the UE side (modem, MBSF Client and MBS-Aware Application). MBS Multicast is not yet implemented.

High-level architecture

Architecture as defined by 3GPP TS 23.247 (system architecture) and TS 26.502 (user services), with the repository implementing each part.

Application providerTS 26.502

MBS Application ProviderTS 26.502rt-mbs-application-provider

Reference pointsNmb10Nmb8

MBS User ServicesTS 26.502, TS 26.517

MBSFTS 26.502, Nmb10 per TS 29.580rt-mbs-functionPartially implemented
MBSTFTS 26.502, Nmb2 per TS 29.581rt-mbs-transport-functionPartially implemented

Reference pointsNmb2Nmb1Nmb9MBS-4-MC

5G CoreTS 23.247

MB-SMFTS 23.247, Nmb1 per TS 29.532open5gs (5mbs)Partially implemented
MB-UPFTS 23.247, N4mb per TS 29.244open5gs (5mbs)
AMFNamf_MBSBroadcast per TS 29.518open5gs (5mbs)Partially implemented
NEFNmb5, N29mbopen5gs
SMFN16mb, N4, N11open5gs
UPFN19mb, N3open5gs

Reference pointsN4mbN6mbN3mbN19mbN16mbNmb5N29mbNamf_MBSBroadcast

NG-RANTS 38.300 family

gNB (CU-CP, CU-UP, DU)TS 38.413, TS 38.463, TS 38.473rt-srsRAN_Project (5mbs)Partially implemented

Reference pointsN2 (NGAP)E1APF1APUu (MCCH/MTCH)

UETS 26.502, TS 38.331

UE modemTS 38.331 (SIB20, MCCH, MTCH)srsRAN_4G (5mbs)Partially implemented
MBS ClientTS 26.502, MBS-4-MC receptionrt-mbs-client
MBS-Aware ApplicationTS 26.502, MBS-6 and MBS-7 consumerrt-mbs-application

Reference pointsUuMBS-4-MCMBS-6MBS-7

Implementation state is derived from the per-feature audit below.

The chain above is the MBS Broadcast delivery mode. MBS Multicast (UE session join via the SMF, PTP/PTM switching, group paging) is defined by the same architecture but is not yet implemented in any component.

Implementation status

Every functional entity in the MBS Broadcast chain is audited per feature against its defining specifications. Each section below is split into plainly labelled groups, so you can jump straight to the component you care about.

Audit baseline

This describes the development branches of the MBS User Services repositories and the 5mbs-development branches of the Open5GS and srsRAN forks as of 2026-08-12, including the changes currently in review. It is a source-level reading of the code against the specification text, backed by live end-to-end testing of the MBS Broadcast delivery chain (portal → MBSF → MBSTF → MB-SMF/MB-UPF → gNB → UE → MBSF Client → MBS-Aware Application), not a maintainer sign-off.

Broadcast first, Multicast later

The tools currently implement the MBS Broadcast delivery mode end-to-end. The MBS Multicast delivery mode (UE session join via the SMF, PTP/PTM switching, group paging) is not yet implemented in any component of the chain — the MB-SMF/MB-UPF multicast data path (N6mb ingest, shared GTP-U delivery) exists, but the session-join control plane does not.

Across the whole chainYes 64Partial 0Hold 2No 1985 audited items
MBSFrt-mbs-function22 of 29 implemented, 2 on hold
MBSTFrt-mbs-transport-function11 of 14 implemented
MB-SMFOpen5GS fork8 of 10 implemented
AMFOpen5GS fork2 of 4 implemented
gNBsrsRAN Project fork7 of 12 implemented
Uu radio (gNB + UE)srsRAN Project + srsRAN 4G forks14 of 16 implemented
TS 29.580MBSF services at Nmb1014/18
FeatureStatusNotes
MBS User Service: create (POST `/mbs-user-services`)Yes
MBS User Service: retrieve individual (GET `.../{userServiceId}`)Yes
MBS User Service: retrieve collection (GET `/mbs-user-services`)Norejected as an invalid resource; the portal keeps its own registry instead
MBS User Service: update (PUT)Yes
MBS User Service: modify (PATCH, RFC 7396)Holdpending Standards#182 (issue #45) — use PUT
MBS User Service: deleteYes
CreateMBSUserDataIngSession (POST `/sessions`)Yes
RetrieveIndMBSUserDataIngSession (GET `.../{sessionId}`)Yes
RetrieveMBSUserDataIngSessions (GET `/sessions`)Nosame collection-endpoint gap as above
UpdateIndMBSUserDataIngSession (PUT)Yeswith the §5.3.2.4.2 update rules enforced: create-only attributes (`mbsSessionId`, `mbsDistSessionId`, `locationDependent`) protected; INACTIVE-only attributes (`objDistrInfo`, `pckDistrInfo`, `maxContBitRate`, ...) rejected while active; any-time attributes (`mbsServInfo`, `tgtServAreas`, `extTgtServAreas`, `nrRedCapUeInfo`, ...) applied live
ModifyIndMBSUserDataIngSession (PATCH, RFC 7396)Holdsame as above
DeleteIndMBSUserDataIngSessionYes
Scheduled activation (`actPeriods` / `actPeriodsRepRule`, mutually exclusive)Yes
CreateMBSUserDataIngStatSubsc (POST `/status-subscriptions`)Yes
RetrieveMBSUserDataIngStatSubscs / RetrieveInd (GET)Yesreturned objects carry no id of their own — see Standards#191
UpdateIndMBSUserDataIngStatSubsc (PUT) / ModifyInd (PATCH)Yes
DeleteMBSUserDataIngStatSubscYes
MBSUserDataIngStatNotif (notification to the provider callback URL, §6.2.5)Yes
TS 26.502 / TS 26.517MBS User Services procedures and formats8/11
FeatureWhereStatusNotes
Service Announcement mode `PASSED_BACK` — bundle handed back to the Application Provider at Nmb10 for out-of-band distribution (not delivered over any MBS reference point)MBSFYes
Service Announcement mode `VIA_MBS_DISTRIBUTION_SESSION` — MBSF's own broadcast announcement carousel, delivered **over MBS-4-MC** (multicast/broadcast) on a fixed, configurable SSM address/portMBSF generates + MBSTF transmits; MBSF Client receivesYes
Service Announcement mode `VIA_MBS_5` — unicast retrieval by the client **over MBS-5**Nono MBS-5 network API
User Service Description bundle, `multipart/related` (TS 26.517 §5.3.1A): `UserServiceDescriptions` document plus one SDP per Distribution SessionMBSF generates; MBSF Client decomposes and parsesYesincluding document version ordering (§5.2.2) and relative Content-Location resolution (RFC 2557)
`ServiceScheduleDescription` activation time windows (§5.2.7)MBSF ClientYes
Session Description / SDP for FLUTE sessions (§6.2.2): `m=` FLUTE lines, `flute-tsi`, SSM `source-filter`, `mbs-servicetype`, timingMBSF generates; MBSF Client parsesYesmulti-session SDPs supported
Object distribution method over FLUTE, per the TS 26.346 Download profile (§6.2), delivered over **MBS-4-MC**MBSTF transmit; MBSF Client receive (both via rt-libflute)Yessee the [rt-libflute audit](/reference-tools/multimedia/scope) for the transport-layer detail, including the Raptor FEC gap
MBS-6 / MBS-7 exposure to the MBS-Aware ApplicationMBSF ClientYesas local HTTP APIs: list announced services, activate/deactivate reception, inspect the received-content store, fetch received objects at their original Content-Location paths
MBS-Aware Applicationrt-mbs-applicationYesdashboard: announced services with play/deactivate, received-object cache, decomposed announcement bundle
MBS-4-UC (unicast object repair)Nono unicast repair path; also outside TS 29.581's own scope
File repair / reception reporting (associated delivery procedures)No
TS 29.581MBSTF distribution session services at Nmb211/14
FeatureStatusNotes
Create Distribution Session (POST `/dist-sessions`)Yes
Retrieve Distribution Session (GET `.../{distSessionRef}`)Yes
Update Distribution Session (PATCH, RFC 6902 JSON Patch)Yesstate-only activate/deactivate and reconfiguration
Destroy Distribution Session (DELETE)Yes
StatusSubscribe / StatusUnsubscribe (`.../subscriptions`)Yescreate, update, delete
StatusNotify (events to the MBSF callback)Yesfailed notifications retried, not dropped
Object distribution method: `SINGLE` operating mode, pull and push acquisition (per-session push-ingest endpoint advertised as `objIngestBaseUrl`)Yes
Object distribution method: `STREAMING` operating mode (MPEG-DASH MPD, live profile, pull and push)Yes
Object distribution method: `CAROUSEL` operating mode (`application/3gpp-mbs-object-manifest+json`; runs the Service Announcement channel)Yes
Object distribution method: `COLLECTION` operating modeNo
Streaming manifest types other than MPEG-DASH MPD (e.g. HLS)Nodelivered as plain objects, not parsed for scheduling
Packet distribution method: `PACKET_FORWARD_ONLY` and `PACKET_PROXY` operating modesYes
FLUTE/ALC delivery towards the MB-UPF at Nmb9 (unicast UDP tunnel to the MB-SMF-assigned ingress address, path-MTU detection)Yes
AL-FEC beyond Compact No-Code (Raptor, mandatory for download receivers per TS 26.346 §7.2.2)Noin the transmission path (available in rt-libflute; not yet wired in)
TS 29.532MB-SMF session management services at Nmb15/6
FeatureStatusNotes
Nmbsmf_TMGI: Allocate (including refresh of previously allocated TMGIs)Yes
Nmbsmf_TMGI: Deallocate (specific list or all; TMGIs referenced by a live MBS session are protected)Yes
Nmbsmf_MBSSession: Create (broadcast service type)Yes
Nmbsmf_MBSSession: Update (§5.3.2.3, activity status)Yes
Nmbsmf_MBSSession: ReleaseYes
Nmbsmf_MBSSession: StatusSubscribe / StatusNotifyNo
TS 29.518Namf_MBSBroadcast2/4
FeatureStatusNotes
ContextCreate (§5.6.2.2) — drives NGAP Broadcast Session Setup towards the gNBYes
ContextUpdate (broadcast session modification)No
ContextRelease — drives NGAP Broadcast Session ReleaseYes
ContextStatusNotifyNo
TS 29.244N4mb PFCP3/4
FeatureStatusNotes
PFCP Session Establishment / Modification / Deletion with the Release-17 MBS IEsYes
Local Ingress Tunnel (§8.2.209; the Nmb9 ingest address returned to the MBSF)Yes
Common TEID / FSSM shared-delivery forwarding behaviour (§8.2.207, §5.34.2.2)Yes
PFCP Session Report for MBS sessionsNo
TS 38.413NGAP broadcast procedures2/5
FeatureStatusNotes
Broadcast Session Setup (Request/Response, with the MBS Session Setup Request Transfer carrying TMGI and shared-delivery tunnel information)Yeson both ends, dynamically (no pre-provisioned session configuration required)
Broadcast Session ReleaseYeson both ends
Broadcast Session ModificationNo
Broadcast Session Release Required (gNB-initiated)No
Distribution Setup/Release, Multicast Session Activation/Deactivation/Update, Multicast Group PagingNomulticast mode
TS 38.463 / TS 38.473E1AP and F1AP broadcast contexts5/7
FeatureStatusNotes
E1AP BC Bearer Context Setup (with failure reporting)Yes
E1AP BC Bearer Context Modification (per-MRB F1-U tunnel information)Yes
E1AP BC Bearer Context ReleaseYes
F1AP Broadcast Context Setup (with per-MRB setup-failure reporting)Yes
F1AP Broadcast Context ReleaseYes
F1AP Broadcast Context ModificationNosession reconfiguration is handled DU-internally
E1AP MC Bearer Context / F1AP multicast proceduresNomulticast mode
TS 38.331 / TS 38.321 / TS 38.322 / TS 38.323Uu broadcast radio protocols14/16
FeaturegNB (transmit)UE (receive)Notes
SIB20 (MCCH configuration, TS 38.331)YesYes
MCCH: MBSBroadcastConfiguration-r17 covering every live session's MRBs, transmission windowsYesYesUE (receive): with periodic re-acquisition, so sessions created later are still discovered
MCCH change notification (DCI 4-0)YesN/A
MTCH scheduling / reception per session G-RNTI, concurrent sessions independently servedYesYesUE (receive): multiple simultaneous G-RNTIs, per-G-RNTI HARQ state
MRB LCID managementYesYesgNB (transmit): DU-wide unique LCIDs across concurrent sessions; UE (receive): All MRBs of all advertised sessions wired
RLC-UM (TS 38.322)YesYes
PDCP broadcast MRB (TS 38.323; 18-bit SN)YesYesUE (receive): with the §5.2.1 SN-based receive-window bootstrap (a UE tuning in mid-stream has no COUNT synchronisation)
Delivery of received multicast IP to the MBSF ClientN/AYesUE (receive): TUN interface
Multicast MRBs, PTP/PTM switching, MBS Interest Indication, group pagingNoNo

User plane path

SegmentBetweenStatus
Nmb8 object ingest (pull or push)MBS Application Provider → MBSTFImplemented
Nmb9 FLUTE/ALC unicast tunnelMBSTF → MB-UPFImplemented
N6mb direct multicast ingest (alternative to the MBSTF path)AF/AS → MB-UPFImplemented
N3mb shared GTP-U delivery, with the mandatory PDU Session Container extension header (TS 38.415) on every downlink G-PDUMB-UPF → gNB(s)Implemented
Uu PTM broadcast (MCCH/MTCH)gNB → UEsImplemented
MBS-4-MC FLUTE reception (including a raw-capture relay for software TUN radio links)UE → MBSF ClientImplemented

Out of scope today (all components)

  • MBS Multicast delivery mode (TS 23.247): multicast session join via the SMF, PTP/PTM switching, group paging — see the caution above.
  • MB-PCF policy control (TS 29.537), NEF exposure (TS 29.522 / Nmb5), MBS security (TS 33.501 traffic keys — delivery is unprotected), charging (TS 32.279).
  • MBS-specific NRF NFDiscovery query extensions (TS 29.510) — standard NF registration/discovery is used; discovery by TMGI or MBS-session parameters is not.
  • Location-dependent (multi-area) MBS sessions and Xn mobility / service continuity.

Getting Started

To try the tools hands-on, follow the Tutorials: they cover the two ways to provision the 5GC (direct MBS core functions, or via the 5GC Service Consumers libraries), the Docker-Compose deployment, and the individual MBSF/MBSTF walkthroughs. For the source code, packages and releases behind each component, see Resources; for the specification background, see Standards: 5G Multicast Broadcast Services.

Roadmap

This page tracks the roadmap for the 5G Multicast Broadcast Services (5MBS) reference tools. The work is organised into two workstreams that build on each other: first the 5G Core (5GC) functions (MB-SMF, MB-UPF, AMF and basic multicast support), then the MBS User Services layer (MBSF, MBSTF and the MBS Application Function/Application Server) that runs on top of them.

General Project Roadmap

The Kanban board below tracks the planned and in-progress work for the 5G Multicast Broadcast Services (5MBS) reference tools (5G Core multicast functions and the MBS User Services layer). It is maintained live on GitHub.

Kanban board: Roadmap

Developer Kanban Boards

5MBS: 5G Core functions

Initial implementation of MB-SMF, MB-UPF, AMF and basic multicast support in the 5G Core

5MBS: MBS User Services

Initial implementation of MBSF, MBSTF, MBS AF and MBS AS for supporting media multicast/broadcast. This builds on top of the 5G Core functions indicated above.