In this note, I will describe about the protocols used for N8 interface/reference point. As shown below, N8 is the interface between AMF and UDM. It is mainly used when AMF needs some user(subscriber) data from UDM and plays important role especially during the registration process.

Followings are the name of each network component.
AMF Access and Mobility Management Function ==> Equivalent to MME in 4G
AUSF Authentication Server Function
DN Data Network
NEF Network Exposure Function
NRF Network Repository Function
NSSF Network Slice Selection Function
PCF Policy Control Function ==> Equivalent to PCRF in 5G
(R)AN (Radio) Access Network
SMF Session Management Function
UDM Unified Data Management ==> Equivalent to HSS in 4G
UPF User Plane Function ==> Equivalent to PGW in 4G
SMSF SMS Function
SEAF SEcurity Anchor Function ==> part of AMF function
ARPF Authentication credential Repository and Processing Function
SIDF Subscription Identifier De-concealing Function
Followings are the topics to be covered in this note
Nudm_UEContextManagement Service
Registration
Following table is based on 29.503 - 5.3.2.2
|
Transaction |
Direction |
Message |
|
AMF registration for 3GPP access |
AMF -> UDM |
PUT /{ueId}/registrations/amf-3gpp-access(Amf3GppAccessRegistration) |
|
AMF <- UDM |
200 OK / 204 No Content 201 Created 403 Forbidden General failure error codes |
|
|
AMF registration for non 3GPP access |
AMF -> UDM |
PUT /{ueId}/registrations/amf-non-3gpp-access(AmfNon3GppAccessRegistration) |
|
AMF <- UDM |
200 OK / 204 No Content 201 Created 403 Forbidden |
GET
Following table is based on 29.503 - 5.3.2.5
|
Transaction |
Direction |
Message |
|
Individual SmfRegistration Information Retrieval |
AMF -> UDM |
GET .../{ueId}/registrations/smf-Registrations/{pduSessionId} |
|
AMF <- UDM |
200 OK(SmfRegistrationInfo) 404 Not Found |
Update
Following table is based on 29.503 - 5.3.2.6
|
Transaction |
Direction |
Message |
|
Update A Parameter (e.g. PEI) in the AMF Registration For 3GPP Access |
AMF -> UDM |
PATCH /{ueId}/registrations/amf-3gpp-access (Amf3GppAccessRegistrationModification) |
|
AMF <- UDM |
204 No Content 200 OK (PatchResult) 404 Not Found 422 Unprocessable Request |
|
|
Update A Parameter (e.g. PEI) in the AMF Registration For Non 3GPP Access |
AMF -> UDM |
PATCH /{ueId}/registrations/amf-3gpp-access (AmfNon3GppAccessRegistrationModification ) |
|
AMF <- UDM |
204 No Content 200 OK (PatchResult) 404 Not Found 422 Unprocessable Request |
Nudm_SubscriberDataManagement Service
GET
Following table is based on 29.503 - 5.2.2.2
|
Transaction |
Direction |
Message |
|
Slice Selection Subscription Data Retrieval |
AMF -> UDM |
GET /{supi}/nssai |
|
AMF <- UDM |
200 OK (Nssai) 404 Not Found |
|
|
Access and Mobility Subscription Data Retrieval |
AMF -> UDM |
GET /{supi}/am-data |
|
AMF <- UDM |
200 OK (AccessAndMobilitySubscriptionData) 404 Not Found |
|
|
SMF Selection Subscription Data Retrieval |
AMF -> UDM |
GET /{supi}/smf-select-data |
|
AMF <- UDM |
200 OK (SmfSelectionSubscriptionData) 404 Not Found |
|
|
SMS Subscription Data Retrieval |
AMF -> UDM |
GET /{supi}/sms-data |
|
AMF <- UDM |
200 OK (SmsSubscriptionData) |
|
|
UE Context In SMF Data Retrieval |
AMF -> UDM |
GET /{supi}/ue-context-in-smf-data |
|
AMF <- UDM |
200 OK (UeContextInSmfData) 404 Not Found |
|
|
Retrieval Of Multiple Data Sets |
AMF -> UDM |
GET .../{supi}?dataset-names=AM,SFM_SEL |
|
AMF <- UDM |
200 OK(SubscriptionDataSets) |
|
|
Shared Subscription Data Retrieval |
AMF -> UDM |
GET .../shared-data?shared-data-id=<id1>,<id2> |
|
AMF <- UDM |
200 OK(SharedData) 404 Not Found |
|
|
UE Context In SMSF Data Retrieval |
AMF -> UDM |
GET .../{supi}/ue-context-in-smsf-data |
|
AMF <- UDM |
200 OK(UeContextInSmsfData) 404 Not Found |
|
|
Trace data Retrieval |
AMF -> UDM |
GET /{supi}/trace-data |
|
AMF <- UDM |
200 OK (TraceDataResponse) 404 Not Found |
|
|
LCS Mobile Originated Data Retrieval |
AMF -> UDM |
GET /{supi}/lcs-mo-data |
|
AMF <- UDM |
200 OK (LcsMoData) 404 Not Found |
|
|
V2X Subscription Data Retrieval |
AMF -> UDM |
GET /{supi}/v2x-data |
|
AMF <- UDM |
200 OK (V2xSubscriptionData) 404 Not Found |
|
|
LCS Broadcast Assistance Subscription Data Retrieval |
AMF -> UDM |
GET /{supi}/lcs-bca-data |
|
AMF <- UDM |
200 OK (LcsBroadcastAssistanceData) 404 Not Found |
|
|
Individual Shared Subscription Data Retrieval |
AMF -> UDM |
GET /shared-data/{sharedDataId} |
|
AMF <- UDM |
200 OK (SharedData) 404 Not Found |
Info/PUT/POST
Following table is based on 29.503 - 5.2.2.6
|
Transaction |
Direction |
Message |
|
Providing acknowledgement of Steering of Roaming |
AMF -> UDM |
PUT .../{supi}/am-data/sor-ack(AcknowledgeInfo) |
|
AMF <- UDM |
204 No Content |
|
|
Providing acknowledgement of UE parameters update |
AMF -> UDM |
PUT.../{supi}/am-data/upu-ack(AcknowledgeInfo) |
|
AMF <- UDM |
204 No Content |
|
|
Providing acknowledgement of UE for Network Slicing Subscription Change |
AMF -> UDM |
PUT .../{supi}/am-data/subscribed-snssais-ack(AcknowledgeInfo) |
|
AMF <- UDM |
204 No Content |
|
|
Providing acknowledgement of UE for CAG configuration change |
AMF -> UDM |
PUT .../{supi}/am-data/cag-ack(AcknowledgeInfo) |
|
AMF <- UDM |
204 No Content |
|
|
Triggering Update of Steering Of Roaming information |
AMF -> UDM |
POST.../{supi}/am-data/update-sor (SorUpdateInfo) |
|
AMF <- UDM |
200 OK (SorInfo) |
Examples
Example 1 : n8 during registration
Following is an example log captured with Amarisoft Callbox.

|
[1] |
Message: 127.0.1.100:5557 GET http://127.0.1.100:5557/n5g-eir-eic/v1/equipment-status?pei=8690570563562913
Data:
Stream id: 1
HEADERS:
:method: GET
:path: /n5g-eir-eic/v1/equipment-status?pei=8690570563562913
:scheme: http
:authority: 127.0.1.100:5557
accept: application/json
accept: application/problem+json
|
[2] |
Message: 127.0.1.100:5557 Status: 404
Data:
Stream id: 1
HEADERS:
:status: 404
content-type: application/problem+json
DATA:
{"cause":"ERROR_EQUIPMENT_UNKNOWN"}
|
[3] AMF -> UDM : /registrations/amf-3gpp-access |
: AMF provide information (Update) on Registration to UDM
Message: 127.0.1.100:5556 PUT http://127.0.1.100:5556/nudm-uecm/v1/imsi-001010123456789/registrations/amf-3gpp-access
Data:
Stream id: 3
HEADERS:
:method: PUT
:path: /nudm-uecm/v1/imsi-001010123456789/registrations/amf-3gpp-access
:scheme: http
:authority: 127.0.1.100:5556
accept: application/json
accept: application/problem+json
content-type: application/json
DATA:
{"amfInstanceId":"96fc86dc-9bf4-489e-acb0-53a672cac636","imsVoPs":"HOMOGENEOUS_SUPPORT","deregCallbackUri":"http://127.0.1.100:6666/nudm-uecm/v1/imsi-001010123456789/pei-8690570563562913/dereg-notify","initialRegistrationInd":true,"guami":{"plmnId":{"mcc":"001","mnc":"01"},"amfId":"800101"},"ratType":"NR"}
|
[4] AMF <- UDM |
: UDP acknowledge about the received information.
Message: 127.0.1.100:5556 Status: 204
Data:
Stream id: 3
HEADERS:
:status: 204
|
[5] AMF -> UDM : imsi-001010123456789?dataset-names=AM,SM,SMF_SEL |
: AMF request UDM to provide information about AM,SM,SMF_SEL
Message: 127.0.1.100:5556 GET http://127.0.1.100:5556/nudm-sdm/v2/imsi-001010123456789?dataset-names=AM,SM,SMF_SEL
Data:
Stream id: 5
HEADERS:
:method: GET
:path: /nudm-sdm/v2/imsi-001010123456789?dataset-names=AM,SM,SMF_SEL
:scheme: http
:authority: 127.0.1.100:5556
accept: application/json
accept: application/problem+json
|
[6] AMF <- UDM : |
: UDM sends the requested information to AMF
Message: 127.0.1.100:5556 Status: 200
Data:
Stream id: 5
HEADERS:
:status: 200
content-type: application/json
DATA:
{"amData":{"subscribedUeAmbr":{"uplink":"1000000 Kbps","downlink":"3000000 Kbps"},
"nssai":{"defaultSingleNssais":[{"sst":1}],"singleNssais":[{"sst":1}]},
"micoAllowed":true,"subscribedDnnList":["default","internet","ims","sos"],
"ptwParametersList":[{"operationMode":"WB_N1","ptwValue":"0011"},{"operationMode":"NB_N1","ptwValue":"0011"}]},
"smData":[{"singleNssai":{"sst":1},"dnnConfigurations":{"default":{"pduSessionTypes":
{"defaultSessionType":"IPV4","allowedSessionTypes":["IPV4"]},
"sscModes":{"defaultSscMode":"SSC_MODE_1","allowedSscModes":["SSC_MODE_1"]},"iwkEpsInd":true,
"5gQosProfile":{"5qi":9,"arp":{"priorityLevel":15,"preemptCap":"NOT_PREEMPT","preemptVuln":"NOT_PREEMPTABLE"}},
"sessionAmbr":{"uplink":"1000000 Kbps","downlink":"3000000 Kbps"}},
"internet":{"pduSessionTypes":{"defaultSessionType":"IPV4","allowedSessionTypes":["IPV4"]},
"sscModes":{"defaultSscMode":"SSC_MODE_1","allowedSscModes":["SSC_MODE_1"]},"iwkEpsInd":true,
"5gQosProfile":{"5qi":9,"arp":{"priorityLevel":15,"preemptCap":"NOT_PREEMPT","preemptVuln":"NOT_PREEMPTABLE"}},
"sessionAmbr":{"uplink":"1000000 Kbps","downlink":"3000000 Kbps"}},
"ims":{"pduSessionTypes":{"defaultSessionType":"IPV4V6","allowedSessionTypes":["IPV4","IPV6","IPV4V6"]},
"sscModes":{"defaultSscMode":"SSC_MODE_1","allowedSscModes":["SSC_MODE_1"]},"iwkEpsInd":true,
"5gQosProfile":{"5qi":5,"arp":{"priorityLevel":15,"preemptCap":"NOT_PREEMPT","preemptVuln":"NOT_PREEMPTABLE"}},
"sessionAmbr":{"uplink":"1000000 Kbps","downlink":"3000000 Kbps"}},
"sos":{"pduSessionTypes":{"defaultSessionType":"IPV4V6","allowedSessionTypes":["IPV4","IPV6","IPV4V6"]},
"sscModes":{"defaultSscMode":"SSC_MODE_1","allowedSscModes":["SSC_MODE_1"]},"iwkEpsInd":true,
"5gQosProfile":{"5qi":5,"arp":{"priorityLevel":15,"preemptCap":"NOT_PREEMPT","preemptVuln":"NOT_PREEMPTABLE"}},
"sessionAmbr":{"uplink":"1000000 Kbps","downlink":"3000000 Kbps"}}}}],
"smfSelData":{"subscribedSnssaiInfos":{"1":{"dnnInfos":
[{"dnn":"default","defaultDnnIndicator":true,"lboRoamingAllowed":false,"iwkEpsInd":false,"dnnBarred":false},
{"dnn":"internet","defaultDnnIndicator":false,"lboRoamingAllowed":false,"iwkEpsInd":false,"dnnBarred":false},
{"dnn":"ims","defaultDnnIndicator":false,"lboRoamingAllowed":false,"iwkEpsInd":false,"dnnBarred":false},
{"dnn":"sos","defaultDnnIndicator":false,"lboRoamingAllowed":false,"iwkEpsInd":false,"dnnBarred":false}]}}}}
|
[7] |
Message: Registration accept
Data: ........
Protocol discriminator = 0x7e (5GS Mobility Management)
Security header = 0x2 (Integrity protected and ciphered)
Auth code = 0xc93c7d52
Sequence number = 0x02
Protocol discriminator = 0x7e (5GS Mobility Management)
Security header = 0x0 (Plain 5GS NAS message, not security protected)
Message type = 0x42 (Registration accept)
5GS registration result = 0x09 (Emergency registered=0, NSSAA to be performed=0, SMS allowed=1, 3GPP access)
5G-GUTI:
5G-GUTI
MCC = 001
MNC = 01
AMF Region ID = 128
AMF Set ID = 4
AMF Pointer = 1
5G-TMSI = 0x32c5098b
TAI list:
Length = 7
Data = 00 00 f1 10 00 00 64
Allowed NSSAI:
S-NSSAI
Length of S-NSSAI contents = 1 (SST)
SST = 0x01
5GS network feature support:
0x03 (MPSI=0, IWK N26=0, EMF=not supported, EMC=not supported, IMS-VoPS-N3GPP=1, IMS-VoPS-3GPP=1)
0x00 (5G-UP CIoT=0, 5G-IPHC-CP CIoT=0, N3 data=0, 5G-CP CIoT=0,
RestrictEC=both CE mode A and CE mode B are not restricted, MCSI=0, EMCN3=0)
T3512 value:
Value = 30
Unit = 5 (1 minute)
Emergency number list:
Length = 8
Data = 03 1f 19 f1 03 1f 11 f2