OPENAIR-CN-5G
An implementation of the 5G Core network by the OpenAirInterface community.
OPENAIR-CN-5G is an implementation of the 3GPP specifications for the 5G Core Network. At the moment, it contains the following network elements:
- Access and Mobility Management Function (AMF)
- Authentication Server Management Function (AUSF)
- Location Management Function (LMF)
- Network Exposure Function (NEF)
- Network Slicing Selection Function (NSSF)
- Network Repository Function (NRF)
- Network Data Analytics Function (NWDAF)
- Policy Control Function (PCF)
- Session Management Function (SMF)
- Unified Data Management (UDM)
- Unified Data Repository (UDR)
- Unstructured Data Storage Function (UDSF)
- User Plane Function (UPF)
Each has its own repository: this repository (oai-cn5g-nrf
) is meant for NRF.
Licence info
It is distributed under OAI Public License V1.1
.
See OAI Website for more details.
The text for OAI Public License V1.1
is also available under LICENSE
file at the root of this repository.
Where to start
The Openair-CN-5G NRF code is written, executed, and tested on UBUNTU server bionic version. Other Linux distributions support will be added later on.
More details on the supported feature set is available on this page.
Collaborative work
This source code is managed through a GITLAB server, a collaborative development platform:
Process is explained in CONTRIBUTING file.
Contribution requests
In a general way, anybody who is willing can contribute on any part of the code in any network component.
Contributions can be simple bugfixes, advices and remarks on the design, architecture, coding/implementation.
Release Notes
They are available on the CHANGELOG file.
Repository Structure:
The OpenAirInterface CN NRF software is composed of the following parts:
openair-cn5g-nrf ├── 3gpp-specs: Directory containing 3GPP specification files (YAML) used to implement NRF network function. ├── build: Build directory, contains targets and object files generated by compilation of network functions. ├── log: Directory containing build log files. ├── scripts: Directory containing scripts for building network functions. └── nrf: Directory containing CMakefile.txt and object files generated by compilation of NRF network function. ├── ci-scripts: Directory containing the script files for CI framework. ├── docs: Directory containing the documentation files. ├── etc: Directory containing the configuration file to be deployed for NRF. └── src: Source files of NRF. ├── api-server: NRF services APIs. ├── common: Common header files │ └── utils: Common utilities. ├── oai_nrf: NRF main directory, contains the "main" CMakeLists.txt file. ├── nrf_app: NRF network functions procedures and contexts. └── test: Directory containing some example profiles for e.g., AMF, SMF.