Internship-5GCN
April 19, 2020 ยท View on GitHub
Implementation of RESTful Web Services between 5G Control Plane Nodes(AMF,NRF,SMF,UDM)
Project Descripotion
It is an implementation of Restful Web Services between some of the 5G Control Network Functions (AMF,SMF,UDM,NRF) according to specifications 23.501, 23.502, 23.503, 29.501, 29.502, 29.503, 29.510 defined by 3GPP group. The specifications can be found at https://www.3gpp.org/specifications.
Detailed Information
5G CN is a Service Oriented Architecture and it is specified to be RESTful. With this The services written using java version 1.8. There are 4 different network functions implemented in this project which are namely AMF, SMF, UDM and NRF. Each network function receives and sends request using HTTP2 protocol which is selected to be used in 5G Core Network. In each function a HTTP2 servlet created using Jetty and Jersey. Then request are sent using okhttpClient. The project built using maven. The possible scenarios between Network Functions can be seen in the images below and more detailed info can be found in the internship report.
Technologies Used
Architecture : SBA(Service Based Architecture)
Web Service Design : REST
Project Language : Java
JAX-RS library
To send request(Client): okhttp
To handle incoming requests(Server): Jetty & Jersey
Protocol : Http2
Data type: JSON
Endpoints: Defined in 3GPP specifications
Object models : Defined in 3GPP specifications
Status codes, loads, headers : Fefined in 3GPP specifications
Tests: Junit
Running project files
The jar files can only be run by adding the apln.jar file to the Xbootclasspath.
Therefore you need to download the alpn.jar file as well.
An example command is below
java -Xbootclasspath/p:/C:/Users/{$userName}/Downloads/alpn-boot-8.1.12.v20180117.jar -jar target/UDM.jar
Implemented Scenarios
NRF Services

UDM Services

Example Scenarios
PDU Session Creation

AMF Registration
