
Scope Project Roadmap GitHub Repos Releases Tutorials Requirements
Scope
The 5G Core presents several Network Functions, each of which has its own set of service interfaces. This project hosts a collection of reusable service consumer libraries designed to talk to the 5G Core Network Functions using some of these service interfaces.
Technical documentation providing context to this project can be found in the link below.
Tech: Streaming, Media Delivery & Data Collection
Tech: Multicast and Broadcast Services in 5G Networks
A list of relevant specifications can be found in the link below.
Standards: 5G Core Service Consumers
What is being implemented?
A series of reusable service consumer libraries to invoke service operations on various 5GC network functions.
Within the context of 5G Media Streaming, the 5GMS AF needs to communicate with the 5G Core in order to manipulate network Quality of Service (QoS) for ongoing media streaming sessions.

The following libraries are available:
- libscbsf - Binding Support Function (BSF) service consumer library
- libscpcf - Policy Control Function (PCF) service consumer library
libscbsf - Binding Support Function (BSF) service consumer library
- Responsible for maintaining a mapping between UE PDU Session and the PCF which is managing that PDU Session.
- The
libscbsflibrary aids in discovery of the BSF in the 5G Core (by interrogating the NRF) and subsequently looking up which PCF is managing the PDU Session for a UE, identified by its IP address. - This library implements the service consumer end of the following service-based APIs:
Nbsf_Management
libscpcf - Policy Control Function (PCF) service consumer library
- Responsible for applying charging and network policy to the PDU sessions of UEs. The
Npcf_PolicyAuthorizationservice API is used at reference point N5 by an Application Function (AF) to request policy changes to the PDU session on behalf of the UE. This allows an Application Function to manipulate particular network QoS parameters for selected IP traffic flows within the PDU session. - The
libscpcflibrary allows an application to connect to a PCF and request anAppSessionContextwhich it can then use to manipulate the network routing policies for traffic passing across specific application flows within a UE’s PDU Session. - This library implements the service consumer end of the following service-based APIs:
Npcf_PolicyAuthorization
Command line tool: pcf-policyauthorization
The pcf-policyauthorization tool manipulates the network Quality of Service parameters of Application Session Contexts in the PCF by using the PCF service consumer library to invoke operations on the Npcf_PolicyAuthorization service API.
The PCF address can be explicitly specified at the command line if this is already known. Alternatively, the tool can also use the BSF service consumer library to look up which PCF instance is managing the PDU Session of interest ( based on the IP address of a UE registered with the AMF).
Within the context of 5G Multicast/Broadcast Services (MBS), the Multicast/Broadcast Session Management Function (MB-SMF) is responsible for allocating and deallocating Temporary Mobile Group Identities (TMGIs) and for the management of Multicast/Broadcast Services on the Multicast/Broadcast User Plane Function (MB-UPF).

The following libraries are available:
- libscmbsmf - Multicast/Broadcast Session Management Function (MB-SMF) service consumer library
libscmbsmf - Multicast/Broadcast Session Management Function (MB-SMF) service consumer library
- Responsible for allocating and deallocating Temporary Mobile Group Identities (
TMGIs) and for the management of Multicast/Broadcast Services (MBS) on the Multicast/Broadcast User Plane Function (MB-UPF). - The
Nmbsmf_TMGIservice API is used at reference pointNmb1for the allocation and deallocation ofTMGIs, and theNmbsmf_MBSSessionservice API is used to reference pointNmb1for the creation, modification and destruction of MBS Sessions and for the management of notification subscriptions to events arising on those MBS Sessions. - The
libscmbsmflibrary provides a simple create/destroy interface forTMGImanagement and an MBS Session and notifications subscriptions model for management of MBS Sessions. - This library implements the service consumer end of the following service-based APIs:
Nmbsmf_TMGINmbsmf_MBSSession
Command line tool: tmgi-tool
The tmgi-tool provides a simple command line interface to either request the creation or destruction of a TMGI using the interfaces provided by the MB-SMF service consumer library to invoke operations on the Nmbsmf_TMGI service API.
Command line tool: mbs-service-tool
The mbs-service-tool can register an MBS Session and will then wait for notifications for that MBS Session. It does this by using the interfaces provided by the MB-SMF service consumer library to invoke operations on the Nmbsmf_MBSSession service API.
5G Downlink Media Streaming (5GMSd) with 5GC Service Consumers

5G Media Streaming: Repositories 5GC Service Consumers: Repositories 3GPP RAN and Core Platforms: Repositories Common Tools: Repositories
5G Multicast Broadcast Services (MBS) with 5GC Service Consumers

5G Multicast Broadcast Services: Repositories Multimedia content delivery protocols: Repositories 5GC Service Consumers: Repositories 3GPP RAN and Core Platforms: Repositories Common Tools: Repositories