< back to overview

ONF Releases SD-Core v1.2.0, Bringing Cloud-Native Capabilities to SD-Core

Oct 11, 2022
Ajay Thakur
Ajay Thakur About the author

SD-Core is a disaggregated mobile core that supports 4G and 5G network functions and includes APIs for configuration, telemetry, and policy management. Access networks can connect to Access & Mobility Management Function (AMF) or Mobility Management Entity (MME) depending on the type of access used. Below is the summary of the features delivered in the SD-Core v1.2.0 Release.

SD-Core v1.2.0 Release Highlights

Release v1.2.0 is the first version of SD-Core focused on support for Cloud Native 5G network functions.  All new functionality in this release contributes to this support. 

NRF Keepalive: All 5G network functions now register with NRF and enable the keepalive feature. Each network function periodically updates its subscriptions towards NRF. NRF now removes the Network Function which fails to send keepalive for a configured number of seconds. This is one of the foundational features for running multiple instances of network functions. 

Multiple SMF Instances: Aether can be deployed with multiple instances of SMF. If required, SMF deployment can be manually scaled up to add more instances or deployment can be scaled down to reduce the number of SMF instances. A new Kubernetes POD UPF-Adapter pod is deployed as an anchor POD. UPF adapter POD talks to UPF NF. All SMF instances share the resources like SEID, IP address, TEID. SMF now stores subscriber states in MongoDB. MongoDB should be deployed in cluster mode for cloud native SD-Core.

SDCore 1 2 0 Blog Fig 1 jpg

Multiple AMF Instances: Aether can be deployed with multiple instances of AMF. If required, AMF deployment can be manually scaled up to add more instances of AMF, or deployment can be scaled down to reduce the number of AMF instances. A new Kubernetes POD SCTP-LB is added to terminate sctp connections from gNB.  All AMF instances share the resources pool like TMSI, AMF-NGAPId. AMF now stores subscriber states in MongoDB. MongoDB should be deployed in cluster mode for cloud native SD-Core.

SDCore 1 2 0 BLog Fig 2 jpg

gNBSim Improvements: Several exciting changes are available in gNBSim now. Notable changes include:

  • gNBSim now supports custom profiles. Users can define a set of procedures to be executed for a given use case.
  • All the subscribers within a profile can run in parallel. Similarly, if multiple profiles are configured then all profiles can run in parallel. These features are important to make multiple parallel transactions in the core network.
  • User-defined delay between the procedures of the custom profile. This helps the user to customize gNBSim in their test environment.
  • Step profile is introduced which helps execute one procedure at a time and wait for users to call APIs to trigger the next procedure for the Users. This is a really helpful feature for the developers who want more control on their test case execution.

Documentation Improvements: The SD-Core documentation has been updated with clear separation of 4G/5G documentation where information diverges. Additional  documentation was also added around deployment of 5G, new PODs and their resource requirements. 

Some of the new sections have been added to provide details on QoS support, application filtering and upf configuration. Also, a process has begun to move most of the internal design documents to Google Drive which can be accessed by any community member. The SD-Core public documents can be found here.

Minor Enhancements: 

  • SMF supports UPF based UE address allocation: SMF need not manage UE address pool now, if UPF supports UE address allocation.
  • Helm Chart changes to run MongoDB in the cluster mode to give database redundancy in the 5G Core Network. 
  • Image size reduction: gNBSim, simapp now have a small container image size.
  • Dockerfile cleanup: Multiple Dockerfile are cleaned to follow best practices and to update the base images of compile time and run time images. 
  • Subscriber config and slice config APIs in the simapp now support http2. 
  • network functions now handle error in grpc connection towards webconsole.
  • SMF now sends correct QFI towards UPF instead of 5QI.
  • Dockerfile improvements to use recent golang version and latest runtime alpine image.
  • Purge UE api now available in the AMF.
  • Fixing QoS issues by sending correct AMBR rates towards UE.

Known Limitations:

  • Only one instance of the UPF-adapter pod should be deployed.
  • Only one instance of SCTP-Lb pod should be deployed.
  • If webui pod is restarted and if callback configuration is not provided in webui pod then simapp does not download the config again to webui. Restarting the simapp pod solves the problem most of the time. 
  • UPF Pod needs to have UE pool configuration and UPF does not use UE IP Pool configuration from Slice APIs.
  • AMF Handover code does not store updated subscriber context in the database. 


We received many contributions from community members and in particular wish to recognize GS Lab, Infosys, Intel and Purdue University for their efforts. We sincerely thank all contributors and look forward to their continued support. To stay updated on SD-Core activities please join our mailing list.

SD-Core v1.2.0 Techinar

Join us on October 25th at 9:00am Pacific for an overview of the latest SD-Core release capabilities, and Q&A which will be led by an ONF SD-Core expert. Register now to attend.



Share this post:
Ajay Thakur