ajay | b3f4098 | 2021-12-08 14:26:11 -0800 | [diff] [blame] | 1 | .. |
| 2 | SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org> |
| 3 | SPDX-License-Identifier: Apache-2.0 |
| 4 | |
Zack Williams | ccaa38a | 2021-11-16 15:36:05 -0700 | [diff] [blame] | 5 | SD-Core 1.0 Release |
| 6 | =================== |
| 7 | |
ajay | ce0380c | 2021-12-14 21:51:00 -0800 | [diff] [blame^] | 8 | SD-Core supports 4G & 5G network functions. SD-Core provides APIs for configuration, telemetry, policy |
| 9 | management. Access network can connected to AMF or MME depending on type of access used. Below is the |
| 10 | summary of the features delivered in SD-Core. |
ajay | d19711c | 2021-12-07 12:07:04 -0800 | [diff] [blame] | 11 | |
Zack Williams | ccaa38a | 2021-11-16 15:36:05 -0700 | [diff] [blame] | 12 | Highlights |
| 13 | ---------- |
| 14 | |
ajay | ce0380c | 2021-12-14 21:51:00 -0800 | [diff] [blame^] | 15 | **Support of REST APIs to configure SD-Core:** Configuring multiple network functions to enable/disable a |
| 16 | service in a network is complex. Single entry point for REST api based configuration is easy to use |
| 17 | and less error prone. Our main motivation behind this work item was to hide the complexity of the network |
| 18 | and make APIs more intuitive for the operator. These APIs work well for both 4G & 5G network functions. |
ajay | d19711c | 2021-12-07 12:07:04 -0800 | [diff] [blame] | 19 | |
ajay | ce0380c | 2021-12-14 21:51:00 -0800 | [diff] [blame^] | 20 | **Subscriber Management Interface**: 3gpp requires user security keys to be configured in the network function. |
| 21 | We have provided two interfaces to configure subscribers in SD-Core. One of the way to configure subscribers |
| 22 | is through REST api calls to SD-Core. The other way is to add/delete/modify subscription through helm charts. |
| 23 | APIs are extensible and can be easily integrated with 3rd party sim provision solution. Also while operator |
| 24 | is updating the subscriptions, there is not need to restart any of the SD-Core components. This interface |
| 25 | to SD-Core is access agnostic and same interface works for 4G as well as 5G access. |
ajay | d19711c | 2021-12-07 12:07:04 -0800 | [diff] [blame] | 26 | |
ajay | ce0380c | 2021-12-14 21:51:00 -0800 | [diff] [blame^] | 27 | **3gpp defined procedures validation and hardening for error scenarios:** SD-Core has been deployed in Aether |
| 28 | Network for more than 2 year now and in the year 2021 we added 5G support in the SD-Core. SD-Core is used in couple of |
| 29 | trials. Also multiple Aether sites using different access networks to connect to centralized SD-Core control plane. |
| 30 | This exercise has helped 4G/5G 3gpp procedures validations with multiple access networks, tools and user equipments. |
| 31 | Some of the widely used procedures are UE Registration/De-registration, UE PDU Establishment/modification/Deletion, |
| 32 | Xn handover, UE Context Release & Service request etc. This activity also includes handling of retransmission of |
| 33 | messages, retrying the messages when packet loss is observed over the network, handling no response from the peer |
| 34 | network functions,handling of network function failures or handling of reject responses from peer network functions. |
ajay | d19711c | 2021-12-07 12:07:04 -0800 | [diff] [blame] | 35 | |
ajay | d19711c | 2021-12-07 12:07:04 -0800 | [diff] [blame] | 36 | |
ajay | ce0380c | 2021-12-14 21:51:00 -0800 | [diff] [blame^] | 37 | **Operations support to manage multiple PLMN within Core Network:** SD-Core supports configuration |
| 38 | of multiple slices with different PLMN. This helps in sharing the same core network among multiple |
| 39 | operator networks. Each SD-Core network function is capable of handling multiple PLMN in the network. |
ajay | d19711c | 2021-12-07 12:07:04 -0800 | [diff] [blame] | 40 | |
ajay | ce0380c | 2021-12-14 21:51:00 -0800 | [diff] [blame^] | 41 | **Multiple User plane support using APN (4G) and Slice Id (5G) using CUPS call flows:** SD-Core |
| 42 | supports connections from multiple user planes. Even multiple user planes from the same edge can |
| 43 | connect to same control plane. Control plane uses APN or Slice ID to identify user plane. |
ajay | d19711c | 2021-12-07 12:07:04 -0800 | [diff] [blame] | 44 | |
ajay | ce0380c | 2021-12-14 21:51:00 -0800 | [diff] [blame^] | 45 | **Metrics exposure to get visibility of radio network connections and UE connections:** SD-core |
| 46 | uses prometheus to export metrics. These metrics are useful to get the status of various |
| 47 | gNodeB/eNodeB connected to Core Network. Also SD-Core gives the metrics to share current user |
| 48 | connectivity status. |
ajay | d19711c | 2021-12-07 12:07:04 -0800 | [diff] [blame] | 49 | |
ajay | ce0380c | 2021-12-14 21:51:00 -0800 | [diff] [blame^] | 50 | **SD-Core support 5000 calls at the rate of 10 calls per second per instance:** SD-Core 5G |
| 51 | solution is build on top of free5gc open source code. Numerous enhancements done on the base |
| 52 | code to get the production quality stability. One of the important goal we achieved was getting |
| 53 | 5000 subscribers with 10 subscribers attach per second. We will be pushing for higher limits in |
| 54 | upcoming changes. To achieve this limit, AMF & SMF has seen numerous architecture level |
| 55 | changes. |
ajay | d19711c | 2021-12-07 12:07:04 -0800 | [diff] [blame] | 56 | |
ajay | ce0380c | 2021-12-14 21:51:00 -0800 | [diff] [blame^] | 57 | **Slice Application Access Control using policy configuration:** Network slice really becomes |
| 58 | useful when operator has the capability to apply access control. Operator can deploy multiple |
| 59 | applications at the edge or internet and can restrict the users from accessing it based on the |
| 60 | slice user belongs to. This adds extra layer of security in the edge app deployment. |
ajay | d19711c | 2021-12-07 12:07:04 -0800 | [diff] [blame] | 61 | |
ajay | d19711c | 2021-12-07 12:07:04 -0800 | [diff] [blame] | 62 | |
ajay | ce0380c | 2021-12-14 21:51:00 -0800 | [diff] [blame^] | 63 | **Policy framework to support QoS at multiple levels** SD-Core makes use of policy network |
| 64 | function (PCF/PCRF) to enforce qos decisions on the subscriber session. Policies are configured |
| 65 | per network slices using configuration interface. PCF/PCRF binds those policies to the subscribers. |
| 66 | APIs gives the flexibility to Operator to assign UE level QoS, per application QoS and also slice level QoS. |
Zack Williams | ccaa38a | 2021-11-16 15:36:05 -0700 | [diff] [blame] | 67 | |
| 68 | Testing |
| 69 | ------- |
ajay | ce0380c | 2021-12-14 21:51:00 -0800 | [diff] [blame^] | 70 | For various testing related details refer (see :ref:`sdcore-testing`) |
ajay | d19711c | 2021-12-07 12:07:04 -0800 | [diff] [blame] | 71 | |
Zack Williams | ccaa38a | 2021-11-16 15:36:05 -0700 | [diff] [blame] | 72 | Documentation |
| 73 | ------------- |
| 74 | |
ajay | d19711c | 2021-12-07 12:07:04 -0800 | [diff] [blame] | 75 | SD-Core documentation is available at `docs.sd-core.opennetworking.org |
Zack Williams | ccaa38a | 2021-11-16 15:36:05 -0700 | [diff] [blame] | 76 | <https://docs.sd-core.opennetworking.org>`_ |
| 77 | |
| 78 | |
| 79 | Known Issues and Limitations |
| 80 | ---------------------------- |
| 81 | |
ajay | ce0380c | 2021-12-14 21:51:00 -0800 | [diff] [blame^] | 82 | - Same IMSI can not part of multiple device groups |
ajay | 0751498 | 2021-12-07 22:24:32 -0800 | [diff] [blame] | 83 | - Only 5 application filtering rules can be added per Slice |
ajay | ce0380c | 2021-12-14 21:51:00 -0800 | [diff] [blame^] | 84 | - Application filtering should be configured with only /32 endpoint address. Subnet is not supported |
| 85 | - Application filtering does not work if port ranges are used in filter configuration |
| 86 | - Each device group should have unique DNN configuration |
| 87 | |
| 88 | .. note:: |
| 89 | For any 3gpp release compliance refer - (see :ref:`4g-compliance`) and (see :ref:`5g-compliance`) |
ajay | d19711c | 2021-12-07 12:07:04 -0800 | [diff] [blame] | 90 | |
Zack Williams | ccaa38a | 2021-11-16 15:36:05 -0700 | [diff] [blame] | 91 | Component Versions in the 1.0 Release |
| 92 | ------------------------------------- |
| 93 | |
| 94 | Helm Chart Versions and their component charts and containers: |
| 95 | |
ajay | 0751498 | 2021-12-07 22:24:32 -0800 | [diff] [blame] | 96 | * sdcore-helm-chart: ``0.9.14`` |
ajay | ce0380c | 2021-12-14 21:51:00 -0800 | [diff] [blame^] | 97 | * omec-control-plane: ``0.9.15`` |
ajay | 0751498 | 2021-12-07 22:24:32 -0800 | [diff] [blame] | 98 | * hssdb: ``registry.aetherproject.org/proxy/omecproject/c3po-hssdb:master-771c0c3`` |
| 99 | * hss : ``registry.aetherproject.org/proxy/omecproject/c3po-hss:master-771c0c3`` |
| 100 | * pcrf : ``registry.aetherproject.org/proxy/omecproject/c3po-pcrf:pcrf-a6bdc3d`` |
| 101 | * pcrfdb : ``registry.aetherproject.org/proxy/omecproject/c3po-pcrf:pcrf-a6bdc3d`` |
ajay | ce0380c | 2021-12-14 21:51:00 -0800 | [diff] [blame^] | 102 | * config4g : ``registry.aetherproject.org/omecproject/5gc-webui:onf-release3.0.5-e29f159`` |
| 103 | * spgwc : ``registry.aetherproject.org/omecproject/spgw:master-144bd86`` |
| 104 | * mme : ``registry.aetherproject.org/proxy/omecproject/nucleus:master-ccdbf69`` |
ajay | 0751498 | 2021-12-07 22:24:32 -0800 | [diff] [blame] | 105 | * omec-sub-provision: ``0.3.2`` |
| 106 | * simapp: ``registry.aetherproject.org/omecproject/simapp:main-329c82d`` |
| 107 | * 5g-control-plane: ``0.5.5`` |
| 108 | * amf: ``registry.aetherproject.org/omecproject/5gc-amf:onf-release3.0.5-9683d5c`` |
| 109 | * smf: ``registry.aetherproject.org/omecproject/5gc-smf:onf-release3.0.5-46dfe2d`` |
| 110 | * nrf: ``registry.aetherproject.org/omecproject/5gc-nrf:onf-release3.0.5-13304e8`` |
| 111 | * nssf: ``registry.aetherproject.org/omecproject/5gc-nssf:onf-release3.0.5-aa3a60b`` |
| 112 | * pcf: ``registry.aetherproject.org/omecproject/5gc-pcf:onf-release3.0.5-9f7734b`` |
| 113 | * udm: ``registry.aetherproject.org/omecproject/5gc-udm:onf-release3.0.5-c28433a`` |
| 114 | * udr: ``registry.aetherproject.org/omecproject/5gc-udr:onf-release3.0.5-deef506`` |
| 115 | * ausf: ``registry.aetherproject.org/omecproject/5gc-ausf:onf-release3.0.5-be7d4ac`` |