5G-MAG / open5gs

Open5GS is a C-language Open Source implementation for 5G Core and EPC, i.e. the core network of LTE/NR network (Release-17)
https://open5gs.org
GNU Affero General Public License v3.0
4 stars 0 forks source link

[MB-SMF] SBI: TMGI Allocate Service operation #10

Closed Borjis131 closed 5 months ago

Borjis131 commented 11 months ago

Following 3GPP TS 29.532 - Release 17.4.0

Ch. 5.2.2.2 - TMGI Allocate Service operation

Other references: 3GPP TS 23.003 Ch. 15.2 - Structure of TMGI 3GPP TS 23.247 Ch. 6.5.1 - MBS Session ID 3GPP TS 23.003 Ch. 12.7.1 - Network Identifier (NID)

Borjis131 commented 11 months ago

To send the TMGI Allocate request from the AF, to allocate a new TMGI:

# TMGI Allocate request: /nmbsmf-tmgi/v1/tmgi
curl --http2-prior-knowledge \
  --request POST \
  --header "Content-Type: application/json" \
  --data '{ "tmgiNumber": 1 }' \
  smf.open5gs.org:80/nmbsmf-tmgi/v1/tmgi

# TMGI Allocate (refresh) request: /nmbsmf-tmgi/v1/tmgi
curl --http2-prior-knowledge \
  --request POST \
  --header "Content-Type: application/json" \
  --data '{ "tmgiList": [ { "mbsServiceId": "762AE4", "plmnId": { "mcc": "001", "mnc": "01" } } ] }' \
  smf.open5gs.org:80/nmbsmf-tmgi/v1/tmgi

# Both of them can be combined
Borjis131 commented 10 months ago

Currently there is a limit of 20 TMGIs defined in src/smf/context.h:

#define OGS_MAX_NUM_OF_TMGI 20

Even though the standard lets you provide a number between 1 and 255 as tmgiNumber in the request. This is done for testing purposes and will be modified in the near future.

The expiration time assigned to the allocated TMGIs and the new expiration time for the TMGI refresh is assigned as the current time + 2 hours. This is defined in src/smf/context.h:

#define OGS_DEFAULT_EXPIRATION_TIME_VALIDITY 7200

TODO: The NID is not being used by Open5GS, so in this version is not added.

Borjis131 commented 10 months ago

Currently the tmgiList is not checked for TMGI duplicates, it does not matter if the expiration time gets refreshed 2 times in the same operation.