5G/NR - Network Architecture - AMF          







AMF plays the most crtical(central) roles in 5G core network. The Major role of AMF is to handle NAS message from UE. This NAS message would mostly comes from RAN (gNB) but theoretically it can come from other Non 3GPP components. As shown below, the communication between AMF and RAN is going through N1 interface. I wrote a separate notes for N1 interface / N1 mode itself. In this note, I would focus mostly on handling each NAS message with examples.  There are some functionalities done by AMF only and some other functions that AMF need to communicate with other network components. In this note, I would mostly focus on those functions that are done by AMF only.


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




AMF Functionality/Services


I think the functionality of AMF function can be best summarized by the AMF source code itself if you have access to.  As an example, following is the list of major fucntionalities written in the source code from free5gc (I wrote a note on how to get and install free5gc if you are interested).  It is completely OK that you don't have the code, just taking a lot at the list of major functions would give you pretty good idea on AMF functionality. This is from file : free5gc\NFs\amf\gmm\handler.go. For the details of what AMF does, I would suggest you to refer to the note NGAP and I will just put high level description in this page.

  • HandleInitialRegistration
  • HandleRegistrationRequest
  • HandleIdentityResponse
  • HandleMobilityAndPeriodicRegistrationUpdating
  • HandleNotificationResponse
  • HandleConfigurationUpdateComplete
  • HandleAuthenticationResponse
  • HandleAuthenticationError
  • HandleAuthenticationFailure
  • HandleSecurityModeComplete
  • HandleRegistrationComplete
  • HandleULNASTransport
  • HandleServiceRequest
  • handleRequestedNssai
  • HandleSecurityModeReject
  • HandleDeregistrationRequest
  • HandleDeregistrationAccept
  • HandleStatus5GMM
  • forward5GSMMessageToSMF
  • communicateWithUDM
  • AuthenticationProcedure


Formal specification of AMF is described in 29.518 and the list of services that AMF provides are summarized in a table shown below.


< 29.518 - Table 5.1-1 List of AMF Services >




Before AMF start NAS handling


Even though this is not the main contents of this note, I think I need to put some short comments on this at least. Before AMF start handling NAS message, the interface and protocol between AMF and gNB should be established. Usually this process is printed just in a few lines in the trace log, but this establishement process itself is pretty complicated. I have three separate notes only for this process as listed below.  What AMF is doing is described mostly by NGAP page.




Signaling (Message flow between gNB and AMF)


Following is the signaling procedure of NR SA attach. Roughly speaking that NGAP traces are the ones handled by AMF. Just take a look at the overal procedure and for the details refer to the note NGAP. At first, I was thinking of AMF details in this page but I thought it may be confusing or duplicating NGAP note. So I decided to put all the details in NGAP note and put overall / high level description in this note.

This log is captured from Amari Callbox + Commercial UE. The wireshark log in NGAP note is captured from NIC on Core Network PC.