stevenchiu30801 / free5gc-nssf

5G Network Slice Selection Function (NSSF) in free5GC

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NOTICE: Currently this repository has been out of maintenance. See free5GC website for the latest source code.

5G NSSF in free5GC

Network Slice Selection Function (NSSF) in free5GC, an open source project for 5G mobile core network

Overview

Operation of slice selection in NSSF follows the specification of 3GPP TS 23.501 V15.4.0.

Data structures in NSSF follows the specification of 3GPP TS 29.531 V15.2.0.

Note: Instead of TS 23.501 V15.2.0, the details in TS 23.501 V15.4.0 matches TS 29.531 V15.2.0.

The HTTP server of NSSF and models of data structures in NSSF service were generated by OpenAPI Generator from 3GPP TS 29.531 OpenAPI resources.

$ java -jar openapi-generator-cli.jar generate -i TS29531_Nnssf_NSSelection.yaml -g go-server -o server

Note: The OpenAPI Generator we used is the modified version of 4.0.0.

Generate HTTP client of NSSF.

$ java -jar openapi-generator-cli.jar generate -i TS29531_Nnssf_NSSelection.yaml -g go -o client -DpackageName=Nnssf_NSSelection -Dmodels -Dapis -DsupportingFiles=configuration.go
$ java -jar openapi-generator-cli.jar generate -i TS29531_Nnssf_NSSelection.yaml -g go -o client -DpackageName=Nnssf_NSSelection -Dmodels -Dapis -DsupportingFiles=client.go

Note: Currently client.go and configuration.go should be generated separately.

Installation

The whole free5GC project was written in Go Programming language. Please install Go first.

Install Go package.

$ go get -u github.com/gin-gonic/gin \
  go get -u github.com/evanphx/json-patch \
  go get -u gopkg.in/yaml.v2

Usage

Configure NSSF in conf/nssf_config.yaml.

Build.

$ cd free5gc-nssf
$ go build nssf.go

Run.

$ ./nssf

Now NSSF resource is available to access through HTTP method. Examples of resource URI are placed under directory example.

About

5G Network Slice Selection Function (NSSF) in free5GC


Languages

Language:Go 100.0%