Implementation of RESTful Web Services between 5G Control Plane Nodes(AMF,NRF,SMF,UDM)
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.
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.
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
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