| .. |
| SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org> |
| SPDX-License-Identifier: Apache-2.0 |
| |
| SD-Core 1.0 Release |
| =================== |
| |
| SD-Core supports 4G & 5G network functions. SD-Core provides APIs for configuration, telemetry, policy |
| management. Access network can connected to AMF or MME depending on type of access used. Below is the |
| summary of the features delivered in SD-Core. |
| |
| Highlights |
| ---------- |
| |
| **Support of REST APIs to configure SD-Core:** Configuring multiple network functions to enable/disable a |
| service in a network is complex. Single entry point for REST api based configuration is easy to use |
| and less error prone. Our main motivation behind this work item was to hide the complexity of the network |
| and make APIs more intuitive for the operator. These APIs work well for both 4G & 5G network functions. |
| |
| **Subscriber Management Interface**: 3gpp requires user security keys to be configured in the network function. |
| We have provided two interfaces to configure subscribers in SD-Core. One of the way to configure subscribers |
| is through REST api calls to SD-Core. The other way is to add/delete/modify subscription through helm charts. |
| APIs are extensible and can be easily integrated with 3rd party sim provision solution. Also while operator |
| is updating the subscriptions, there is no need to restart any of the SD-Core components. This interface |
| to SD-Core is access agnostic and same interface works for 4G as well as 5G access. |
| |
| **3gpp defined procedures validation and hardening for error scenarios:** SD-Core has been deployed in Aether |
| Network for more than 2 years now and in the year 2021 we added 5G support in the SD-Core. SD-Core is used in |
| couple of operator trials. Also multiple Aether sites using different access networks to connect to |
| centralized SD-Core control plane. |
| This exercise has helped 4G/5G 3gpp procedures validations with multiple access networks, tools and user equipments. |
| Some of the widely used procedures are UE Registration/De-registration, UE PDU Establishment/modification/Deletion, |
| Xn handover, UE Context Release & Service request etc. This activity also includes handling of retransmission of |
| messages, retrying the messages when packet loss is observed over the network, handling no response from the peer |
| network functions,handling of network function failures or handling of reject responses from peer network functions. |
| |
| |
| **Operations support to manage multiple PLMN within Core Network:** SD-Core supports configuration |
| of multiple slices with different PLMN. This helps in sharing the same core network among multiple |
| operator networks. Each SD-Core network function is capable of handling multiple PLMN in the network. |
| |
| **Multiple User plane support using APN (4G) and Slice Id (5G) using CUPS call flows:** SD-Core |
| supports connections from multiple user planes. Even multiple user planes from the same edge can |
| connect to same control plane. Control plane uses APN or Slice ID to identify user plane. |
| |
| **Metrics exposure to get visibility of radio network connections and UE connections:** SD-core |
| uses prometheus to export metrics. These metrics are useful to get the status of various |
| gNodeB/eNodeB connected to Core Network. Also SD-Core gives the metrics to share current user |
| connectivity status. |
| |
| **SD-Core Scale support:** SD-Core 5G solution is build on top of free5gc open source code. |
| Numerous enhancements done on the base code to get the production quality stability. One of |
| the important goal we achieved was getting 5000 subscribers with 10 subscribers attach per |
| second with single instance. We will be pushing for higher limits in upcoming changes. |
| To achieve this limit, AMF & SMF has seen numerous architecture level changes. SD-Core 4G is |
| built on top of OMEC project. 4G is tested for 16000 calls at the rate of 100 calls per second. |
| All these results are achieved with distributed user plane. Vertical scaling can be done easily |
| to achieve higher call setup rates. |
| |
| **Application Filtering Support:** Network slice really becomes |
| useful when operator has the capability to apply access control. Operator can deploy multiple |
| applications at the edge or internet and can restrict the users from accessing it based on the |
| slice user belongs to. This adds extra layer of security in the edge app deployment. |
| |
| **Policy framework to support QoS at multiple levels:** SD-Core makes use of policy network |
| function (PCF/PCRF) to enforce qos decisions on the subscriber session. Policies are configured |
| per network slice using configuration interface. PCF/PCRF binds those policies to the subscribers. |
| APIs gives the flexibility to Operator to assign UE level QoS, per application QoS and also slice level QoS. |
| |
| **5G gNB simulator:** gNB simulator simulates 5G UE & 5G gNodeB. gNBSim is capable of supporting |
| multiple UEs and multiple gNodeBs. The tool is also capable of doing data tests. This assists quick |
| development of the features. This tool can be used to run automated tests for the 5G core network. |
| Please refer :ref:`gNB-Simulator` documentation for more details. |
| |
| Testing |
| ------- |
| For various testing related details refer (see :ref:`sdcore-testing`) |
| |
| Documentation |
| ------------- |
| |
| SD-Core documentation is available at `docs.sd-core.opennetworking.org |
| <https://docs.sd-core.opennetworking.org>`_ |
| |
| |
| Known Issues and Limitations |
| ---------------------------- |
| |
| - Same IMSI can not part of multiple device groups |
| - Only 5 application filtering rules can be added per Slice |
| - Application filtering should be configured with only /32 endpoint address. Subnet is not supported |
| - Application filtering does not work if port ranges are used in filter configuration |
| - Each device group should have unique DNN configuration |
| |
| .. note:: |
| For any 3gpp release compliance refer - (:ref:`4g-compliance`) and (:ref:`5g-compliance`) |
| |
| Component Versions in the 1.0 Release |
| ------------------------------------- |
| |
| Helm Chart Versions and their component charts and containers: |
| |
| * sdcore-helm-chart: ``0.9.17`` |
| * omec-control-plane: ``0.9.15`` |
| * hssdb: ``registry.aetherproject.org/proxy/omecproject/c3po-hssdb:master-771c0c3`` |
| * hss : ``registry.aetherproject.org/proxy/omecproject/c3po-hss:master-771c0c3`` |
| * pcrf : ``registry.aetherproject.org/proxy/omecproject/c3po-pcrf:pcrf-a6bdc3d`` |
| * pcrfdb : ``registry.aetherproject.org/proxy/omecproject/c3po-pcrf:pcrf-a6bdc3d`` |
| * config4g : ``registry.aetherproject.org/omecproject/5gc-webui:onf-release3.0.5-e29f159`` |
| * spgwc : ``registry.aetherproject.org/omecproject/spgw:master-144bd86`` |
| * mme : ``registry.aetherproject.org/proxy/omecproject/nucleus:master-ccdbf69`` |
| * omec-sub-provision: ``0.3.2`` |
| * simapp: ``registry.aetherproject.org/omecproject/simapp:main-329c82d`` |
| * 5g-control-plane: ``0.5.5`` |
| * amf: ``registry.aetherproject.org/omecproject/5gc-amf:onf-release3.0.5-9683d5c`` |
| * smf: ``registry.aetherproject.org/omecproject/5gc-smf:onf-release3.0.5-46dfe2d`` |
| * nrf: ``registry.aetherproject.org/omecproject/5gc-nrf:onf-release3.0.5-13304e8`` |
| * nssf: ``registry.aetherproject.org/omecproject/5gc-nssf:onf-release3.0.5-aa3a60b`` |
| * pcf: ``registry.aetherproject.org/omecproject/5gc-pcf:onf-release3.0.5-9f7734b`` |
| * udm: ``registry.aetherproject.org/omecproject/5gc-udm:onf-release3.0.5-c28433a`` |
| * udr: ``registry.aetherproject.org/omecproject/5gc-udr:onf-release3.0.5-deef506`` |
| * ausf: ``registry.aetherproject.org/omecproject/5gc-ausf:onf-release3.0.5-be7d4ac`` |
| * User Plane ``0.5.4`` |
| * bess: ``"registry.aetherproject.org/proxy/omecproject/upf-epc-bess:master-103b198"`` |
| * pfcpiface: ``"registry.aetherproject.org/proxy/omecproject/upf-epc-pfcpiface:master-103b198"`` |
| * 5g-ran-sim ``0.3.2`` |
| * gnbsim: ``registry.aetherproject.org/omecproject/5gc-gnbsim:dev-new-gnbsim-025ae2b`` |