5G/NR - Network Architecture  

 

 

 

NR CORE - N8

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