Closed Borjis131 closed 5 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
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.
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.
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)