NGAP is the protocol(an Application Layer Protocol) being used in the communication between between gNB and AMF as illustrated below.

What I am going to do in this note is to provide details of NG Interface and NGAP (Protocol for NG Interface). Followings are the list of the topics on this note.
- Overall Protocol Stack
- General Principles of NG Interface
- NGAP Capabilities
- NGAP Elementary Procedure
- NGAP Message/Information Flow
- NGAP Packet Structure
- NGAP Establish
- NR SA Registration
- UPLINK NAS TRANSPORT
- DOWNLINK NAS TRANSPORT
- PDU Session Resource Setup
- NGAP Messages/ASN
Overall Protocol Stack
Structure of the protocol stack for this interface is illustrated as below. Overall description and requirement of NGAP specified in 38.412 (very short specification). Since NGAP packet is encapsulated by IP and SCTP which are more of generic purpose (i.e, not 3GPP only), further details are specified in various RFC documents (Refer to 38.412 to know which RFC document you have to refer to). For the details of signaling procedure over NGAP, refer to 38.413.

General Principles of NG Interface
General principles of NG Interface is described in 38.410 - 4.2 as follows :
- the NG interface is open;
- the NG interface supports the exchange of signalling information between the NG-RAN and 5GC;
- from a logical standpoint, the NG is a point-to-point interface between an NG-RAN node and a 5GC node. A point-to-point logical interface is feasible even in the absence of a physical direct connection between the NGRAN and 5GC;
- the NG interface supports control plane and user plane separation;
- the NG interface separates Radio Network Layer and Transport Network Layer;
- the NG interface is future proof to fulfil different new requirements and support of new services and new functions;
- the NG interface is decoupled with the possible NG-RAN deployment variants;
- the NG Application Protocol supports modular procedures design and uses a syntax allowing optimized encoding /decoding efficiency.
NGAP Capabilities
According to 38.410-4.4, NGAP support following capabilities :
- procedures to establish, maintain and release NG-RAN part of PDU sessions;
- procedures to perform intra-RAT handover and inter-RAT handover;
- the separation of each UE on the protocol level for user specific signalling management;
- the transfer of NAS signalling messages between UE and AMF;
- mechanisms for resource reservation for packet data streams.
NGAP Elementary Procedure
Followings are the list of signaling messages (Elementary Procedure) of NGAP. There are two types of elementary procedure classified into Class 1 and Class 2. The definition of Class 1 and Class 2 is stated in 38.413 - 3.1 as follows :
- Class 1: Elementary Procedures with response (success and/or failure).
- Class 2: Elementary Procedures without response.
The list of NGAP Elementary procedure and corresponding signaling message is defined in 38.413-8.1 as follows.
< 38.413 v16.7- Table 8.1-1: Class 1 procedures >
|
Elementary Procedure |
Initiating Message |
Successful Outcome |
Unsuccessful Outcome |
Examples |
|
Response Message |
Response Message |
|||
|
AMF Configuration Update |
AMF CONFIGURATION UPDATE |
AMF CONFIGURATION UPDATE ACKNOWLEDGE |
AMF CONFIGURATION UPDATE FAILURE |
|
|
RAN Configuration Update |
RAN CONFIGURATION UPDATE |
RAN CONFIGURATION UPDATE ACKNOWLEDGE |
RAN CONFIGURATION UPDATE FAILURE |
|
|
Handover Cancellation |
HANDOVER CANCEL |
HANDOVER CANCEL ACKNOWLEDGE |
|
|
|
Handover Preparation |
HANDOVER REQUIRED |
HANDOVER COMMAND |
HANDOVER PREPARATION FAILURE |
|
|
Handover Resource Allocation |
HANDOVER REQUEST |
HANDOVER REQUEST ACKNOWLEDGE |
HANDOVER FAILURE |
|
|
Initial Context Setup |
INITIAL CONTEXT SETUP RESPONSE |
INITIAL CONTEXT SETUP FAILURE |
|
|
|
NG Reset |
NG RESET |
NG RESET ACKNOWLEDGE |
|
|
|
NG Setup |
NG SETUP RESPONSE |
NG SETUP FAILURE |
|
|
|
Path Switch Request |
PATH SWITCH REQUEST |
PATH SWITCH REQUEST ACKNOWLEDGE |
PATH SWITCH REQUEST FAILURE |
|
|
PDU Session Resource Modify |
PDU SESSION RESOURCE MODIFY REQUEST |
PDU SESSION RESOURCE MODIFY RESPONSE |
|
|
|
PDU Session Resource Modify Indication |
PDU SESSION RESOURCE MODIFY INDICATION |
PDU SESSION RESOURCE MODIFY CONFIRM |
|
|
|
PDU Session Resource Release |
PDU SESSION RESOURCE RELEASE COMMAND |
PDU SESSION RESOURCE RELEASE RESPONSE |
|
|
|
PDU Session Resource Setup |
PDU SESSION RESOURCE SETUP REQUEST |
PDU SESSION RESOURCE SETUP RESPONSE |
|
|
|
UE Context Modification |
UE CONTEXT MODIFICATION REQUEST |
UE CONTEXT MODIFICATION RESPONSE |
UE CONTEXT MODIFICATION FAILURE |
|
|
UE Context Release |
UE CONTEXT RELEASE COMMAND |
UE CONTEXT RELEASE COMPLETE |
|
|
|
Write-Replace Warning |
WRITE-REPLACE WARNING REQUEST |
WRITE-REPLACE WARNING RESPONSE |
|
|
|
PWS Cancel |
PWS CANCEL REQUEST |
PWS CANCEL RESPONSE |
|
|
|
UE Radio Capability Check |
UE RADIO CAPABILITY CHECK REQUEST |
UE RADIO CAPABILITY CHECK RESPONSE |
|
|
|
UE Context Suspend |
UE CONTEXT SUSPEND REQUEST |
UE CONTEXT SUSPEND RESPONSE |
UE CONTEXT SUSPEND FAILURE |
|
|
UE Context Resume |
UE CONTEXT RESUME REQUEST |
UE CONTEXT RESUME RESPONSE |
UE CONTEXT RESUME FAILURE |
|
|
UE Radio Capability ID Mapping |
UE RADIO CAPABILITY ID MAPPING REQUEST |
UE RADIO CAPABILITY ID MAPPING RESPONSE |
|
|
< 38.413 - v16.7 :Table 8.1-2: Class 2 procedures >
|
Elementary Procedure |
Message |
Examples |
|
Downlink RAN Configuration Transfer |
DOWNLINK RAN CONFIGURATION TRANSFER |
|
|
Downlink RAN Status Transfer |
DOWNLINK RAN STATUS TRANSFER |
|
|
Downlink NAS Transport |
||
|
Error Indication |
ERROR INDICATION |
|
|
Uplink RAN Configuration Transfer |
UPLINK RAN CONFIGURATION TRANSFER |
|
|
Uplink RAN Status Transfer |
UPLINK RAN STATUS TRANSFER |
|
|
Handover Notification |
HANDOVER NOTIFY |
|
|
Initial UE Message |
INITIAL UE MESSAGE |
|
|
NAS Non Delivery Indication |
NAS NON DELIVERY INDICATION |
|
|
Paging |
PAGING |
|
|
PDU Session Resource Notify |
PDU SESSION RESOURCE NOTIFY |
|
|
Reroute NAS Request |
REROUTE NAS REQUEST |
|
|
UE Context Release Request |
UE CONTEXT RELEASE REQUEST |
|
|
Uplink NAS Transport |
||
|
AMF Status Indication |
AMF STATUS INDICATION |
|
|
PWS Restart Indication |
PWS RESTART INDICATION |
|
|
PWS Failure Indication |
PWS FAILURE INDICATION |
|
|
Downlink UE Associated NRPPa Transport |
DOWNLINK UE ASSOCIATED NRPPA TRANSPORT |
|
|
Uplink UE Associated NRPPa Transport |
UPLINK UE ASSOCIATED NRPPA TRANSPORT |
|
|
Downlink Non UE Associated NRPPa Transport |
DOWNLINK NON UE ASSOCIATED NRPPA TRANSPORT |
|
|
Uplink Non UE Associated NRPPa Transport |
UPLINK NON UE ASSOCIATED NRPPA TRANSPORT |
|
|
Trace Start |
TRACE START |
|
|
Trace Failure Indication |
TRACE FAILURE INDICATION |
|
|
Deactivate Trace |
DEACTIVATE TRACE |
|
|
Cell Traffic Trace |
CELL TRAFFIC TRACE |
|
|
Location Reporting Control |
LOCATION REPORTING CONTROL |
|
|
Location Reporting Failure Indication |
LOCATION REPORTING FAILURE INDICATION |
|
|
Location Report |
LOCATION REPORT |
|
|
UE TNLA Binding Release |
UE TNLA BINDING RELEASE REQUEST |
|
|
UE Radio Capability Info Indication |
UE RADIO CAPABILITY INFO INDICATION |
|
|
RRC Inactive Transition Report |
RRC INACTIVE TRANSITION REPORT |
|
|
Overload Start |
OVERLOAD START |
|
|
Overload Stop |
OVERLOAD STOP |
|
|
Secondary RAT Data Usage Report |
SECONDARY RAT DATA USAGE REPORT |
|
|
Uplink RIM Information Transfer |
UPLINK RIM INFORMATION TRANSFER |
|
|
Downlink RIM Information Transfer |
DOWNLINK RIM INFORMATION TRANSFER |
|
|
Retrieve UE Information |
RETRIEVE UE INFORMATION |
|
|
UE Information Transfer |
UE INFORMATION TRANSFER |
|
|
RAN CP Relocation Indication |
RAN CP RELOCATION INDICATION |
|
|
Connection Establishment Indication |
CONNECTION ESTABLISHMENT INDICATION |
|
|
AMF CP Relocation Indication |
AMF CP RELOCATION INDICATION |
|
|
Handover Success |
HANDOVER SUCCESS |
|
|
Uplink RAN Early Status Transfer |
UPLINK RAN EARLY STATUS TRANSFER |
|
|
Downlink RAN Early Status Transfer |
DOWNLINK RAN EARLY STATUS TRANSFER |
NGAP Message/Information Flow
NGAP (NG Application Protocol) isn’t just a flat set of messages. It is fundamentally stateful: messages don’t stand alone but weave a shared context by introducing Information Elements (IEs) that are later reused, echoed, or referenced across procedures. The relationship starts at NG Setup, where the gNB and AMF exchange their global identities, anchoring all subsequent interactions. From there, UE-associated procedures are stitched together by twin identifiers (RAN-UE-NGAP-ID and AMF-UE-NGAP-ID) that appear consistently to correlate state on both sides. NAS signaling is encapsulated end-to-end via Initial UE Message and subsequent NAS Transport messages, while session control hinges on PDU Session IDs whose QoS/QFI definitions and user-plane tunnel parameters (TEIDs, IPs) propagate through setup, modification, and release. Mobility extends this continuity with handover containers that carry UE context between cells, and even failures are chained back to originating requests through standardized Cause values. In short, NGAP’s design relies on IEs that thread through multiple messages, ensuring coherent identity, session, mobility, and error handling across the RAN–core boundary.
Interdependencies among NGAP messages
NGAP (NG Application Protocol) is the control plane protocol used in 5G networks for communication between the NG-RAN node (e.g., gNB) and the AMF (Access and Mobility Management Function). It defines a set of elementary procedures, each consisting of one or more messages exchanged over the NG interface. These procedures and messages are interdependent in several ways:
Sequential Dependencies : Many procedures involve an initiating message (e.g., a request from AMF to NG-RAN or vice versa), followed by a response message confirming success or failure. The response often depends on the successful processing of the initial message, and failure in one can abort the procedure or trigger error handling.Contextual Dependencies : Procedures build on each other. For instance, UE context must be established before resources can be allocated or modified. Messages in later procedures reference or reuse data from earlier ones.Shared Information Elements (IEs) : IEs are the building blocks of NGAP messages. Many IEs are reused across multiple messages and procedures to maintain consistency, such as UE identifiers, security information, or session details. An IE introduced in one message may be required or referenced in subsequent messages within the same procedure or across related procedures.
These interdependencies ensure coordinated management of UE sessions, mobility, and resources.
Illustrative example of interdependecies and information flow
Here I want to present an illustrative example of the interdependancies across the messages and flows of critical informations. The diagram shown below is meant to show why NGAP is inherently stateful: it visualizes how key Information Elements introduced early are threaded through later procedures so the gNB and AMF maintain a single, coherent view of the UE and its sessions.
The purpose is not to list message contents, but to make the dependency chain obvious—so implementers can correlate logs, verify that identifiers co-appear where required, and spot where state might be lost or corrupted. This perspective is especially important for interoperability debugging (e.g., missing IDs, mismatched TEIDs vs. PFCP), performance tuning (consistent QoS/QFI mapping), and security/state management (correct NAS encapsulation and AMF/gNB correlation). By reading the diagram left to right, you can see how each decision or parameter set at one step constrains and informs the next, reducing guesswork when tracing failures or optimizing call flows.


Starting from NG Setup, it anchors network identity and capabilities, then follows the first UE contact through Initial UE Message and Context Setup, and finally traces a PDU session’s lifecycle where the same AMF-UE-NGAP-ID, RAN-UE-NGAP-ID, PDU Session ID, QoS/QFI, and UL/DL TEIDs/IPs are re-used and echoed.
NG Setup Request (gNB → AMF)
Purpose: Introduce the gNB and establish NG interface parameters.Key IEs: - RAN node name (optional, human-readable)
- Global RAN Node ID (PLMN + gNB ID) — anchor AMF uses to address this gNB
- Supported TA List (TAI = PLMN + TAC; may include slice hints)
- Default Paging DRX / paging cycle (if present) to guide AMF paging
Dependencies / Effects: Registers gNB identity used later for Paging, Context Release, Handover; constrains where AMF can place UEs (TA/PLMN match).
NG Setup Response (AMF → gNB)
Purpose: Confirm setup and provide AMF identity/capacity.Key IEs: - AMF Name
- Served GUAMI List (PLMN, AMF Region ID, AMF Set ID, AMF Pointer) — basis for AMF-UE-NGAP-ID structure
- PLMN Support List (PLMN + supported S-NSSAIs)
- Relative AMF Capacity (load indicator)
Dependencies / Effects: gNB caches AMF identifiers used in all UE procedures; slice/PLMN alignment influences UE registration routing.
Initial UE Message (gNB → AMF)
Purpose: First UE-associated NGAP message; delivers initial NAS to AMF.Key IEs: - RAN-UE-NGAP-ID (allocated by gNB)
- NAS-PDU (e.g., Registration Request; may include PDU Session Establishment Request)
- User Location Information (NR CGI + TAI)
- RRC Establishment Cause
- 5G-S-TMSI (if available), UE Context Request (optional)
Dependencies / Effects: Creates UE association at AMF; AMF will allocate AMF-UE-NGAP-ID. Location/PLMN must match NG Setup capabilities.
Downlink NAS Transport (AMF → gNB)
Purpose: Carry NAS to the UE (e.g., Authentication Request, SMC, Registration Accept, PDU Session Accept).Key IEs: - AMF-UE-NGAP-ID (newly assigned by AMF)
- RAN-UE-NGAP-ID (echoed to bind both sides’ state)
- NAS-PDU (downlink NAS message)
Dependencies / Effects: From this point, both UE IDs should co-appear in UE-associated NGAP messages to ensure correlation and NAS sequencing.
Initial Context Setup Request (AMF → gNB)
Purpose: Create UE context at the gNB with security/QoS and optionally session resources.Key IEs: - AMF-UE-NGAP-ID, RAN-UE-NGAP-ID
- Security parameters (keys/algorithms), UE security capabilities
- QoS capabilities; PDU Session Resource To Setup List (optional piggyback)
- NAS-PDU (e.g., Registration Accept or other control NAS, optional)
Dependencies / Effects: Binds NAS-derived security state to RAN context; may kick off or bundle PDU Session resource setup.
Initial Context Setup Response (gNB → AMF)
Purpose: Confirm UE context creation at gNB.Key IEs: - AMF-UE-NGAP-ID, RAN-UE-NGAP-ID
- Accepted/Failed lists for any piggybacked PDU Session resources (with Cause if failed)
Dependencies / Effects: AMF treats RAN UE context as active; can proceed with further DL NAS and paging-resume behavior.
PDU Session Resource Setup Request (AMF → gNB)
Purpose: Ask gNB to establish user-plane resources for a specific PDU session.Key IEs: - AMF-UE-NGAP-ID, RAN-UE-NGAP-ID
- PDU Session ID (from NAS; lifecycle anchor)
- QoS Flow parameters / QFI mapping (per-flow)
- UL Tunnel Info (UPF IP, UL TEID) for N3 uplink direction
- S-NSSAI (slice) and DNN (if applicable)
Dependencies / Effects: Mirrors SMF/UPF (PFCP) allocations into RAN; TEIDs/IPs must match UPF state; establishes per-flow QoS at gNB.
PDU Session Resource Setup Response (gNB → AMF)
Purpose: Confirm bearer establishment and provide downlink tunnel endpoints.Key IEs: - AMF-UE-NGAP-ID, RAN-UE-NGAP-ID
- PDU Session ID (echo)
- DL Tunnel Info (gNB IP, DL TEID) for N3 downlink direction
- Confirmed QoS Flows / QFI mapping; Failed list with Cause (if any)
Dependencies / Effects: Completes NGAP side of data-plane setup; AMF can send NAS: PDU Session Accept via Downlink NAS Transport to finalize UE state.
Notes & Common Pitfalls
Dual IDs required: After AMF assigns AMF-UE-NGAP-ID, most UE-associated messages must include both IDs; missing one breaks correlation.TEID/IP mismatches: If NGAP TEIDs/IPs don’t match PFCP(Packet Forwarding Control Protocol/n4) state in UPF, traffic blackholes—verify Setup Request/Response pairs.Slice alignment: Requested S-NSSAI must be supported per NG Setup/PLMN lists; otherwise expect “Cause: slice not supported.”Ordering variants: Some stacks bundle PDU Session items in Initial Context Setup; others separate after NAS security—IE dependencies remain the same.
NGAP Packet Structure
If you take packet capture (e.g, Wireshark capture) over the interface, you would get the packet structure as below.



Following is SCTP initial setup process captured with Wireshark from Amarisoft Callbox. (a),(b),(c),(d) is the initial setup of SCTP which is explained in this note , the procedure (1)~(13) is the procedure that will be described in this note.

NGAP Establish
This procedure is to establish the signaling connection between gNB and AMF (i.e, the first connection process). This is not UE specific and this will apply to every UE that are connected to the specified AMF. This process is specified in 38.413-8.7.1. The overall procedure is simple two way handshaking as illustrated below.
< 38.413-Figure 8.7.1.2-1: NG setup: successful operation >

For the description of some important IEs in NG SETUP REQUEST and NG SETUP RESPONSE message, refer to 38.413-8.7.1.2. I think it is relatively clearly described in this specification. The IEs with the description as per 38.413 v16.7 is listed as below. Most of these IEs are optional, so you may not see all of these IEs configured in NGAP log.
- NGSetupRequest
- GlobalRANNodeID
- RANNodeName
- SupportedTAList
- PagingDRX(DefaultPagingDRX)
- UERetentionInformation
- NB-IoT-DefaultPagingDRX
- Extended-RANNodeName
- NGSetupResponse
- IAB Supported
- Backup AMF Name
- GUAMI Type
- RAN Node Name
- Extended RAN Node Name
- NB-IoT Default Paging DRX
- RAT Information
- Broadcast PLMN Item->NPN Support->NID
- PLMN Support Item->NPN Support->NID
In most cases, AMF accept NGSetupRequest from gNB and send NGSetupReponse, but if any of the following IE does not match with what AMF expects, it would refuse the connection.
- pLMNIdentity
- tAC
Following is the message structure and requirement of NG SETUP REQUEST from 48.413-9.2.6.1
|
IE/Group Name |
Presence |
Range |
IE type and reference |
Semantics description |
Criticality |
Assigned Criticality |
|---|---|---|---|---|---|---|
|
Message Type |
M |
9.3.1.1 |
YES |
reject |
||
|
Global RAN Node ID |
M |
9.3.1.5 |
YES |
reject |
||
|
RAN Node Name |
O |
PrintableString SIZE(1..150, ...) |
YES |
ignore |
||
|
Supported TA List |
|
1 |
Supported TAs in the NG-RAN node. |
YES |
reject |
|
|
> Supported TA Item |
M |
1..<maxno of TACs> |
||||
|
>> TAC |
M |
9.3.3.10 |
Broadcast TAC |
|||
|
>>> Broadcast PLMN List |
|
1 |
||||
|
>>>> Broadcast PLMN Item |
|
1..<maxno of BPLMNs> |
||||
|
>>>>> PLMN Identity |
M |
9.3.3.5 |
Broadcast PLMN |
|||
|
>>>>>> TAI Slice Support List |
M |
9.3.1.17 |
Supported S-NSSAIs per TAC, per PLMN or per SNPN. |
|||
|
>>>>>> NPN Support |
O |
9.3.3.44 |
If the NID IE is included, it identifies a SNPN together with the PLMN Identity IE. |
YES |
reject |
|
|
>>>>>> Extended TAI Slice Support List |
O |
9.3.1.191 |
Additional Supported S-NSSAIs per TAC, per PLMN or per SNPN. |
YES |
reject |
|
|
>> Configured TAC Indication |
O |
9.3.3.50 |
YES |
ignore |
||
|
>> RAT Information |
O |
9.3.1.125 |
RAT information associated with the TAC of the indicated PLMN(s). |
YES |
reject |
|
|
Default Paging DRX |
M |
9.3.1.90 |
Paging DRX |
YES |
ignore |
|
|
UE Retention Information |
O |
9.3.1.117 |
YES |
ignore |
||
|
NB-IoT Default Paging DRX |
O |
9.3.1.137 |
YES |
ignore |
||
|
Extended RAN Node Name |
O |
9.3.1.193 |
YES |
ignore |
|
Range bound |
Explanation |
|---|---|
|
maxnoofTACs |
Maximum no. of TACs. Value is 256. |
|
maxnoofBPLMNs |
Maximum no. of Broadcast PLMNs. Value is 12. |
Following is the message structure and requirement of NG SETUP RESPONSE from 48.413-9.2.6.2
|
IE/Group Name |
Presence |
Range |
IE type and reference |
Semantics description |
Criticality |
Assigned Criticality |
|---|---|---|---|---|---|---|
|
Message Type |
M |
9.3.1.1 |
YES |
reject |
||
|
AMF Name |
M |
9.3.3.21 |
YES |
reject |
||
|
Served GUAMI List |
M |
1 |
YES |
reject |
||
|
> Served GUAMI Item |
M |
1..<maxno of Served GUAMIs> |
||||
|
>> GUAMI |
M |
9.3.3.3 |
||||
|
>> Backup AMF Name |
O |
AMF Name 9.3.3.21 |
|
|||
|
>> GUAMI Type |
O |
ENUMERATED (native, mapped, ...) |
YES |
ignore |
||
|
Relative AMF Capacity |
M |
9.3.1.32 |
YES |
ignore |
||
|
PLMN Support List |
|
1 |
YES |
reject |
||
|
> PLMN Support Item |
|
1..<maxno of PLMNs> |
||||
|
>> PLMN Identity |
M |
9.3.3.5 |
||||
|
>>> Slice Support List |
M |
9.3.1.17 |
Supported S-NSSAIs per PLMN or per SNPN. |
|||
|
>>> NPN Support |
O |
9.3.3.44 |
If NID IE is included, it identifies a SNPN together with the PLMN Identity IE. |
YES |
reject |
|
|
>>> Extended Slice Support List |
O |
9.3.1.191 |
Additional Supported S-NSSAIs per PLMN or per SNPN. |
YES |
reject |
|
|
Criticality Diagnostics |
O |
9.3.1.3 |
YES |
ignore |
||
|
UE Retention Information |
O |
9.3.1.117 |
YES |
ignore |
||
|
IAB Supported |
O |
ENUMERATED (true, ...) |
Indication of support for IAB. |
YES |
ignore |
|
|
Extended AMF Name |
O |
9.3.3.51 |
YES |
ignore |
| Range bound | Explanation |
|---|---|
| maxnoofServedGUAMIs | Maximum no. of GUAMIs served by an AMF. Value is 256. |
| maxnoofPLMNs | Maximum no. of PLMNs per message. Value is 12. |
Followings are statements from 38.413-8.7.1.2 that are related to processing the information elements in NG SETUP REQUEST message.
- If the
Configured TAC Indication IE set to "true is included for a Tracking Area contained in the Supported TA List IE in the NG SETUP REQUEST message, the AMF may take it into account to optimise NG-C signalling towards this NG-RAN node. - If the
UE Retention Information IE set to ues-retained is included in the NG SETUP REQUEST message, the AMF may accept the proposal to retain the existing UE related contexts and signalling connections by including the UE Retention Information IE set to ues-retained in the NG SETUP RESPONSE message. - If the
RAN Node Name IE is included in the NG SETUP REQUEST message, the AMF may use this IE as a human readable name of the NG-RAN node. If theExtended RAN Node Name IE is included in the NG SETUP REQUEST message, the AMF may use this IE as a human readable name of the NG-RAN node and shall ignore the RAN Node Name IE if also included. - If the
NB-IoT Default Paging DRX IE is included in the NG SETUP REQUEST message, the AMF shall take it into account for paging. - If the
RAT Information IE is included in the NG SETUP REQUEST message, the AMF shall handle this information as specified in TS 23.502. - If the
NID IE within theNPN Support IE is included within a Broadcast PLMN Item IE in the NG SETUP REQUEST message, the AMF shall consider that the NG-RAN node supports the indicated S-NSSAI(s) for the corresponding tracking area code for the SNPN identified by the PLMN Identity IE and the NID IE.
Followings are statements from 38.413-8.7.1.2 that are related to processing the information elements in NG SETUP RESPONSE message.
- If the
UE Retention Information IE set to ues-retained is included in the NG SETUP REQUEST message, the AMF may accept the proposal to retain the existing UE related contexts and signallingconnections by including theUE Retention Information IE set to ues-retained in the NG SETUP RESPONSE message. - If the AMF supports IAB, the AMF shall include the IAB Supported IE in the NG SETUP RESPONSE message.
- The AMF shall include the
Backup AMF Name IE, if available, in theServed GUAMI List IE in the NG SETUP RESPONSE message. The NG-RAN node shall, if supported, consider the AMF as indicated by theBackup AMF Name IE when performing AMF reselection, as specified in TS 23.501. - If the
GUAMI Type IE is included in the NG SETUP RESPONSE message, the NG-RAN node shall store the received value and use it for further AMF selection as defined in TS 23.501. - If the
AMF Name IE is included in the NG SETUP RESPONSE message, the NG-RAN node may use this IE as a human readable name of the AMF. If theExtended AMF Name IE is included in the NG SETUPRESPONSE message, the NG-RAN node may use this IE as a human readable name of the AMF and shall ignore the AMF Name IE if also included. - If the
NID IE within theNPN Support IE is included within aPLMN Support Item IE in the NG SETUP RESPONSE message, the NG-RAN node shall consider that the AMF supports the SNPN identified by thePLMN Identity IE and theNID IE.
(1) NG Setup Request
The NGSetupRequest defines the structure and information that the gNB (or other nodes) needs to provide to the AMF when initiating the NG Setup procedure. The message format ensures that both the gNB and AMF can correctly interpret the content and establish a connection.
Functionality
The NG Setup Request (NGSetupRequest) message is the initial step in the NG Setup procedure, responsible for establishing communication and exchanging essential configuration data between a gNB (gNodeB) and an AMF (Access and Mobility Management Function) in a 5G network. This message is sent by the gNB to the AMF and acts as a foundation for their interaction.
Here's a breakdown of the NG Setup Request process based on the provided sources:
Initialization : The NG Setup procedure, triggered by the NGSetupRequest, is the first interaction after the TNL (Tunneling) association becomes active.Clearing Existing Data : This procedure refreshes the interaction between the gNB and AMF by erasing any previous application-level configuration data and replacing it with the information exchanged in this procedure.Resetting UE-related Contexts (Optional) : If the gNB and AMF do not have an agreement to maintain existing UE (User Equipment) contexts, this procedure will also reset any NGAP (Non-Access Stratum) UE-related contexts and signaling connections, similar to the NG Reset procedure.Message Direction : The NGSetupRequest message is sent specifically from the gNB to the AMF
Contents of the Message
This is the NGAP-PDU initiatingMessage with NGSetupRequest.
- The procedureCode is id-NGSetup indicating that the procedure being initiated is the NG Setup.
- The criticality field in each ProtocolIE-Field indicates how the receiver should treat the IE if it is not understood; for instance, reject means the message should be rejected if the IE is not understood, while ignore means the message should still be processed.
This NG Setup process is essential for managing the gNodeB's connectivity to the network, enabling it to serve UEs within its coverage area. Once the setup request is processed and accepted by the core network, it responds with an NGSetupResponse, confirming the gNodeB is ready to handle 5G communications..
NGSetupRequest : The gNodeB uses this message to establish initial context with the core network. It contains several Information Elements (IEs), each with an id, criticality, and value, providing specific details about the gNodeB and its capabilities.GlobalRANNodeID : The gNB identifies itself to the AMF using this globally unique identifier. gNB uniquely identify the gNodeB globally within the 5G network using a PLMN Identity and a gNB ID.RANNodeName : The gNB can provide a human-readable name for itself, which the AMF may use for administrative purposes. It is a human-readable name assigned to the gNodeB for easier identification, likely used during operational and management tasks.Extended-RANNodeName (Optional) : Similar to RANNodeName, but allows for a longer name. If provided, the AMF should prioritize this over the shorter RANNodeNameSupportedTAList : This list informs the AMF about the Tracking Areas (TAs) that the gNB supports, enabling the AMF to manage UE mobility within those areas. It lists the Tracking Areas that the gNodeB supports, which are crucial for paging and mobility management of UEs when they are not in active communication with the network.DefaultPagingDRX : The gNB indicates its default Paging Discontinuous Reception (DRX) settings, which determine how often the gNB checks for paging messages from the AMF. It dictates how frequently a UE in idle mode should listen for paging messages.NB-IoT-DefaultPagingDRX (Optional) : For Narrowband Internet of Things (NB-IoT) devices, the gNB can specify a separate default paging DRX value.UERetentionInformation (Optional): : If the gNB wants to propose retaining existing UE contexts and signaling connections, it can use this IE to signal its intent.
Examples
Internet Protocol Version 4, Src: 10.0.0.185, Dst: 10.0.0.162
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x02 (DSCP: CS0, ECN: ECT(0))
0000 00.. = Differentiated Services Codepoint: Default (0)
.... ..10 = Explicit Congestion Notification: ECN-Capable Transport codepoint '10' (2)
Total Length: 108
Identification: 0x0001 (1)
Flags: 0x40, Don't fragment
0... .... = Reserved bit: Not set
.1.. .... = Don't fragment: Set
..0. .... = More fragments: Not set
Fragment Offset: 0
Time to Live: 64
Protocol: SCTP (132)
Header Checksum: 0x24b1 [validation disabled]
[Header checksum status: Unverified]
Source Address: 10.0.0.185
Destination Address: 10.0.0.162
Stream Control Transmission Protocol, Src Port: 48041 (48041), Dst Port: 38412 (38412)
Source port: 48041
Destination port: 38412
Verification tag: 0x790ad620
[Association index: 65535]
Checksum: 0x3dba6023 [unverified]
[Checksum Status: Unverified]
DATA chunk(ordered, complete segment, TSN: 3757580128, SID: 0, SSN: 0, PPID: 60,
payload length: 58 bytes)
Chunk type: DATA (0)
0... .... = Bit: Stop processing of the packet
.0.. .... = Bit: Do not report
Chunk flags: 0x03
.... 0... = I-Bit: Possibly delay SACK
.... .0.. = U-Bit: Ordered delivery
.... ..1. = B-Bit: First segment
.... ...1 = E-Bit: Last segment
Chunk length: 74
Transmission sequence number: 3757580128
[This chunk is acked in frame: 138]
[The RTT to SACK was: 0.000032008 seconds]
Stream identifier: 0x0000
Stream sequence number: 0
Payload protocol identifier: NGAP (60)
Chunk padding: 0000
NGAP-PDU: initiatingMessage (0)
initiatingMessage
procedureCode: id-NGSetup (21)
criticality: reject (0)
value
NGSetupRequest
protocolIEs: 4 items
Item 0: id-GlobalRANNodeID
ProtocolIE-Field
id: id-GlobalRANNodeID (27)
criticality: reject (0)
value
GlobalRANNodeID: globalGNB-ID (0)
globalGNB-ID
pLMNIdentity: 00f110
Mobile Country Code (MCC): Unknown (1)
Mobile Network Code (MNC): Unknown (01)
gNB-ID: gNB-ID (0)
gNB-ID: 00123450 [bit length 28, 4 LSB pad bits,
....]
Item 1: id-RANNodeName
ProtocolIE-Field
id: id-RANNodeName (82)
criticality: ignore (1)
value
RANNodeName: gnb0012345
Item 2: id-SupportedTAList
ProtocolIE-Field
id: id-SupportedTAList (102)
criticality: reject (0)
value
SupportedTAList: 1 item
Item 0
SupportedTAItem
tAC: 100 (0x000064)
broadcastPLMNList: 1 item
Item 0
BroadcastPLMNItem
pLMNIdentity: 00f110
Mobile Country Code (MCC):
Unknown (1)
Mobile Network Code (MNC):
Unknown (01)
tAISliceSupportList: 1 item
Item 0
SliceSupportItem
s-NSSAI
sST: 01
Item 3: id-DefaultPagingDRX
ProtocolIE-Field
id: id-DefaultPagingDRX (21)
criticality: ignore (1)
value
PagingDRX: v128 (2)
(2) NG Setup Response
This is a NGSetupResponse message within the NGAP (Next Generation Application Protocol) for 5G systems. This message is part of the signaling between the 5G gNodeB (base station) and the core network, particularly the AMF (Access and Mobility Management Function). It is categorized as a successfulOutcome, indicating a successful completion of the NG Setup procedure that was initiated by a NGSetupRequest.
Functionality
The NG Setup Response (NGSetupResponse) message is sent by the AMF to the gNB in response to the gNB's NGSetupRequest message. The NGSetupResponse serves to acknowledge the gNB's request and to provide the AMF's configuration data to the gNB.
Successful Setup : When the AMF successfully processes the NGSetupRequest and is ready to establish the connection, it sends the NGSetupResponse to the gNB. This response signals the AMF's acceptance of the gNB's proposed configuration and confirms that the AMF is prepared for interaction.Unsuccessful Setup : If the AMF cannot accept the gNB's setup request (for instance, if it doesn't identify any PLMNs or supported RATs in the request), it will send an NGSetupFailure message to the gNB with a reason for the rejection.
Contents of the Message
\Here is the breakdown of the NGSetupResponse message:
AMFName : This IE allows the AMF to provide a human-readable name for itself to the gNB. Similar to the RANNodeName in the NGSetupRequest, this is primarily for administrative purposes. The AMF can provide a more extended name using the Extended AMF Name IE. This field contains the name of the AMF (e.g,amarisoft.amf.5gc.mnc001.mcc001.3gppnetwork.org). The AMF Name is used for identification and usually follows a domain name structure.ServedGUAMIList : This IE is mandatory and lists the Globally Unique AMF IDs (GUAMIs) that the AMF currently serves. This information is crucial for the gNB to route traffic and signaling messages correctly. The AMF should include the Backup AMF Name IE in the ServedGUAMIList if available. This IE helps the gNB in AMF reselection by providing the identity of a backup AMF. This field lists the GUAMI (Globally Unique AMF ID) served by the AMF. The GUAMI includes the PLMN Identity, AMF Region ID, AMF Set ID, and AMF Pointer, which together uniquely identify the AMF within the global 5G network.RelativeAMFCapacity : This IE indicates the AMF's relative capacity in terms of load handling. This information can assist the gNB in load balancing decisions. This indicates the relative capacity of the AMF, which is a dimensionless value that allows for load balancing and priority handling among different AMFs.PLMNSupportList : This mandatory IE informs the gNB about the PLMNs supported by the AMF. This ensures that both the gNB and AMF have a shared understanding of the networks they are serving. It lists the PLMNs that the AMF supports, along with the slices available for each PLMN. The slice support is indicated by the s-NSSAI (Single Network Slice Selection Assistance Information), which identifies the slice(s) supported. The PLMNSupportList can optionally include the NPNSupport IE. If the NPNSupport IE includes the NID IE, it indicates that the AMF supports the non-public network (SNPN) identified by the combination of the PLMN Identity IE and the NID IE.
Each ProtocolIE-Field is composed of an id, criticality, and value. The criticality of reject indicates that the receiving entity should reject the message and potentially notify the sender if it does not understand the IE, whereas ignore indicates that the message should be processed normally even if the IE is not understood
ServedGUAMIList vs PLMNSupportList
Both ServedGUAMIList and PLMNSupportList are crucial information elements (IEs) within the NGSetupResponse message of the NGAP protocol. However, they serve different purposes in establishing the connection between a gNB and an AMF.
Here's a breakdown of comparison(their differences) in functionality:
Scope of Information ServedGUAMIList : This IE specifically identifies the AMF that is sending the NGSetupResponse message. It lists the Globally Unique AMF IDs (GUAMIs) that the AMF currently serves. This list essentially tells the gNB "These are the network areas I am responsible for."PLMNSupportList : This IE provides a broader view of the networks supported by the AMF. It lists the Public Land Mobile Networks (PLMNs), and optionally non-public networks (SNPNs), that the AMF can connect to and manage. This list tells the gNB "These are the networks I can work with."Purpose ServedGUAMIList : This IE mainly facilitates routing and addressing. The gNB uses the GUAMIs to direct traffic and signaling messages to the correct AMF. It ensures that communication reaches the intended destination within the 5G core network.PLMNSupportList : This IE primarily ensures network compatibility between the gNB and AMF. By exchanging and comparing their supported PLMN lists, the gNB and AMF can confirm they can work together to serve UEs roaming within those networks.Usage in Other Procedures ServedGUAMIList : The GUAMIs within this IE might be used during other procedures like handover, where the gNB might need to select a new AMF for a UE moving to a different area.PLMNSupportList : The PLMNSupportList is updated whenever there are changes in the PLMNs or SNPNs supported by the AMF. The AMF will send an AMF CONFIGURATION UPDATE message to the gNB to communicate these changes.In summary: ServedGUAMIList focuses on identifying the serving AMF to ensure accurate routing.PLMNSupportList focuses on declaring network compatibility to ensure seamless operation across different PLMNs.
Both are essential for a successful NG Setup procedure, enabling the gNB and AMF to establish a connection and work collaboratively to manage the 5G network effectively.
Examples
Internet Protocol Version 4, Src: 10.0.0.162, Dst: 10.0.0.185
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x02 (DSCP: CS0, ECN: ECT(0))
0000 00.. = Differentiated Services Codepoint: Default (0)
.... ..10 = Explicit Congestion Notification: ECN-Capable Transport codepoint '10' (2)
Total Length: 140
Identification: 0xadd1 (44497)
Flags: 0x40, Don't fragment
0... .... = Reserved bit: Not set
.1.. .... = Don't fragment: Set
..0. .... = More fragments: Not set
Fragment Offset: 0
Time to Live: 64
Protocol: SCTP (132)
Header Checksum: 0x76c0 [validation disabled]
[Header checksum status: Unverified]
Source Address: 10.0.0.162
Destination Address: 10.0.0.185
Stream Control Transmission Protocol, Src Port: 38412 (38412), Dst Port: 48041 (48041)
Source port: 38412
Destination port: 48041
Verification tag: 0x8d10a6cf
[Association index: 65535]
Checksum: 0x5a3ac41a [unverified]
[Checksum Status: Unverified]
DATA chunk(ordered, complete segment, TSN: 4169966867, SID: 0, SSN: 0, PPID: 60,
payload length: 89 bytes)
Chunk type: DATA (0)
0... .... = Bit: Stop processing of the packet
.0.. .... = Bit: Do not report
Chunk flags: 0x03
.... 0... = I-Bit: Possibly delay SACK
.... .0.. = U-Bit: Ordered delivery
.... ..1. = B-Bit: First segment
.... ...1 = E-Bit: Last segment
Chunk length: 105
Transmission sequence number: 4169966867
[This chunk is acked in frame: 140]
[The RTT to SACK was: 0.004556150 seconds]
Stream identifier: 0x0000
Stream sequence number: 0
Payload protocol identifier: NGAP (60)
Chunk padding: 000000
NGAP-PDU: successfulOutcome (1)
successfulOutcome
procedureCode: id-NGSetup (21)
criticality: reject (0)
value
NGSetupResponse
protocolIEs: 4 items
Item 0: id-AMFName
ProtocolIE-Field
id: id-AMFName (1)
criticality: reject (0)
value
AMFName: amarisoft.amf.5gc.mnc001.mcc001.3gppnetwork.org
Item 1: id-ServedGUAMIList
ProtocolIE-Field
id: id-ServedGUAMIList (96)
criticality: reject (0)
value
ServedGUAMIList: 1 item
Item 0
ServedGUAMIItem
gUAMI
pLMNIdentity: 00f110
Mobile Country Code (MCC): Unknown (1)
Mobile Network Code (MNC): Unknown (01)
aMFRegionID: 80 [bit length 8,
1000 0000 decimal value 128]
aMFSetID: 0100 [bit length 10,
6 LSB pad bits, 0000 0001 00.. ....
decimal value 4]
aMFPointer: 04 [bit length 6, 2 LSB pad bits,
0000 01.. decimal value 1]
Item 2: id-RelativeAMFCapacity
ProtocolIE-Field
id: id-RelativeAMFCapacity (86)
criticality: ignore (1)
value
RelativeAMFCapacity: 50
Item 3: id-PLMNSupportList
ProtocolIE-Field
id: id-PLMNSupportList (80)
criticality: reject (0)
value
PLMNSupportList: 1 item
Item 0
PLMNSupportItem
pLMNIdentity: 00f110
Mobile Country Code (MCC): Unknown (1)
Mobile Network Code (MNC): Unknown (01)
sliceSupportList: 1 item
Item 0
SliceSupportItem
s-NSSAI
sST: 01
NR SA Registration
The Initial UE Message procedure is used when the NG-RAN node has received from the radio interface the first uplink NAS message to be forwarded to an AMF.
< 38.413-Figure 8.6.1.2-1: Initial UE message >

Following is from 38.413 - 9.2.5.1 about the message structure and requirement for INITIAL UE MESSAGE.

Followings are statements from 38.413-8.6.1.2 that are related to processing the information elements in this message.
- The NG-RAN node initiates the procedure by sending an INITIAL UE MESSAGE message to the AMF. The NG-RAN node shall allocate a unique
RAN UE NGAP ID to be used for the UE and the NG-RAN node shall include this identity in the INITIAL UE MESSAGE message. - The NAS-PDU IE contains a UE AMF message that is transferred without interpretation in the NG-RAN node.
- In case of network sharing, the selected PLMN is indicated by the PLMN Identity IE within the
TAI IE included in the INITIAL UE MESSAGE message. - When the NG-RAN node has received from the radio interface the
5G-S-TMSI IE, it shall include it in the INITIAL UE MESSAGE message. - If the
AMF Set ID IE is included in the INITIAL UE MESSAGE message this indicates that the message is a rerouted message and the AMF shall, if supported, use the IE as described in TS 23.502. - If the
UE Context Request IE is included in the INITIAL UE MESSAGE message the AMF shall trigger an Initial Context Setup procedure towards the NG-RAN node. - If the
Allowed NSSAI IE is included in the INITIAL UE MESSAGE message the AMF shall use the IE as defined in TS 23.502. - If the Source to
Target AMF Information Reroute IE is included in the INITIAL UE MESSAGE message the AMF shall use the IE as defined in TS 23.502. - If the
IAB Node Indication IE is included in the INITIAL UE MESSAGE message, the AMF shall consider that the message is related to an IAB node. - If the
CE-mode-B Support Indicator IE is included in the INITIAL UE MESSAGE message and set to "supported", the AMF shall, if supported, use the extended NAS timer settings for the UE as specified in TS 23.501. - If the
LTE-M indication IE is included in the INITIAL UE MESSAGE message the AMF shall, if supported, use it according to TS 23.501. - If the
EDT Session IE set to "true" is included in the INITIAL UE MESSAGE message and the NG-RAN node is an ngeNB,the AMF shall, if supported, consider that the message has been received as a result of an EDT session initiated by the UE. - If PNI-NPN related information within the
NPN Access Information IE is received in the INITIAL UE MESSAGE message, the AMF shall, if supported, consider that the included information is associated to the cell via which the UE has sent the first NAS message, and to the PLMN Identity which is indicated within theTAI IE, and use the included information as specified in TS 23.501. - In case of network sharing for SNPNs, the selected SNPN is indicated within the
User Location Information IE included in the INITIAL UE MESSAGE message by thePLMN Identity IE within theTAI IE and theNID IE.
(3) InitialUEMessage
This is InitialUEMessage NGAP PDU which is an initiating message sent from a UE to the 5G core network through the gNodeB. It is used to establish initial contact with the network and to carry the first NAS message from the UE. The InitialUEMessage is critical for the UE to communicate its presence and to begin the necessary procedures for service within the 5G network, such as registration or a service request. The NAS PDU carries essential security and capability information that the network needs to authenticate the UE and provide the appropriate services.
This message is part of the 5G NR signaling process and contains multiple information elements (IEs) that serve different purposes:
id-RAN-UE-NGAP-ID : This IE carries an identifier assigned by the RAN to the UE for the purposes of NGAP signaling.id-NAS-PDU : This IE contains the NAS message that is typically used for procedures like registration, service request, or paging response. The NAS PDU included in this example is a 'Registration Request' with detailed information about the UE's capabilities and the requested services.id-UserLocationInformation : Provides the location information of the UE, including the NR (New Radio) cell identifier and the tracking area identifier.id-RRCEstablishmentCause : Indicates the reason why the RRC (Radio Resource Control) connection was established, which in this case is for 'mo-Signalling' (mobile originating signaling).id-UEContextRequest : Indicates whether the UE is requesting the setup of an NGAP context. A value of 'requested' indicates that the UE requests the establishment of context.
Internet Protocol Version 4, Src: 10.0.0.185, Dst: 10.0.0.162
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x02 (DSCP: CS0, ECN: ECT(0))
0000 00.. = Differentiated Services Codepoint: Default (0)
.... ..10 = Explicit Congestion Notification: ECN-Capable Transport codepoint '10' (2)
Total Length: 188
Identification: 0x0009 (9)
Flags: 0x40, Don't fragment
0... .... = Reserved bit: Not set
.1.. .... = Don't fragment: Set
..0. .... = More fragments: Not set
Fragment Offset: 0
Time to Live: 64
Protocol: SCTP (132)
Header Checksum: 0x2459 [validation disabled]
[Header checksum status: Unverified]
Source Address: 10.0.0.185
Destination Address: 10.0.0.162
Stream Control Transmission Protocol, Src Port: 48041 (48041), Dst Port: 38412 (38412)
Source port: 48041
Destination port: 38412
Verification tag: 0x790ad620
[Association index: 65535]
Checksum: 0xdd43ee10 [unverified]
[Checksum Status: Unverified]
DATA chunk(ordered, complete segment, TSN: 3757580129, SID: 1, SSN: 0, PPID: 60,
payload length: 137 bytes)
Chunk type: DATA (0)
0... .... = Bit: Stop processing of the packet
.0.. .... = Bit: Do not report
Chunk flags: 0x03
.... 0... = I-Bit: Possibly delay SACK
.... .0.. = U-Bit: Ordered delivery
.... ..1. = B-Bit: First segment
.... ...1 = E-Bit: Last segment
Chunk length: 153
Transmission sequence number: 3757580129
[This chunk is acked in frame: 886]
[The RTT to SACK was: 0.000119970 seconds]
Stream identifier: 0x0001
Stream sequence number: 0
Payload protocol identifier: NGAP (60)
Chunk padding: 000000
NGAP-PDU: initiatingMessage (0)
initiatingMessage
procedureCode: id-InitialUEMessage (15)
criticality: ignore (1)
value
InitialUEMessage
protocolIEs: 5 items
Item 0: id-RAN-UE-NGAP-ID
ProtocolIE-Field
id: id-RAN-UE-NGAP-ID (85)
criticality: reject (0)
value
RAN-UE-NGAP-ID: 1
Item 1: id-NAS-PDU
ProtocolIE-Field
id: id-NAS-PDU (38)
criticality: reject (0)
value
NAS-PDU: 7e017d335df8077e004109000bf200f110...
Non-Access-Stratum 5GS (NAS)PDU
Security protected NAS 5GS message
Extended protocol discriminator:
5G mobility management messages (126)
0000 .... = Spare Half Octet: 0
.... 0001 = Security header type:
Integrity protected (1)
Message authentication code: 0x7d335df8
Sequence number: 7
Plain NAS 5GS Message
Extended protocol discriminator:
5G mobility management messages (126)
0000 .... = Spare Half Octet: 0
.... 0000 = Security header type:
Plain NAS message, not security protected (0)
Message type: Registration request (0x41)
5GS registration type
.... 1... = Follow-On Request bit (FOR):
Follow-on request pending
.... .001 = 5GS registration type:
initial registration (1)
NAS key set identifier
0... .... = Type of security context flag(TSC):
Native security context (for KSIAMF)
.000 .... = NAS key set identifier: 0
5GS mobile identity
Length: 11
.... 0... = Odd/even indication:
Even number of identity digits
.... .010 = Type of identity: 5G-GUTI (2)
Mobile Country Code (MCC): Unknown (1)
Mobile Network Code (MNC): Unknown (01)
AMF Region ID: 128
0000 0001 00.. .... = AMF Set ID: 4
..00 0001 = AMF Pointer: 1
5G-TMSI: 3776478432 (0xe1187ce0)
UE security capability
Element ID: 0x2e
Length: 4
1... .... = 5G-EA0: Supported
.1.. .... = 128-5G-EA1: Supported
..1. .... = 128-5G-EA2: Supported
...1 .... = 128-5G-EA3: Supported
.... 0... = 5G-EA4: Not supported
.... .0.. = 5G-EA5: Not supported
.... ..0. = 5G-EA6: Not supported
.... ...0 = 5G-EA7: Not supported
0... .... = 5G-IA0: Not supported
.1.. .... = 128-5G-IA1: Supported
..1. .... = 128-5G-IA2: Supported
...1 .... = 128-5G-IA3: Supported
.... 0... = 5G-IA4: Not supported
.... .0.. = 5G-IA5: Not supported
.... ..0. = 5G-IA6: Not supported
.... ...0 = 5G-IA7: Not supported
1... .... = EEA0: Supported
.1.. .... = 128-EEA1: Supported
..1. .... = 128-EEA2: Supported
...1 .... = 128-EEA3: Supported
.... 0... = EEA4: Not supported
.... .0.. = EEA5: Not supported
.... ..0. = EEA6: Not supported
.... ...0 = EEA7: Not supported
0... .... = EIA0: Not supported
.1.. .... = 128-EIA1: Supported
..1. .... = 128-EIA2: Supported
...1 .... = 128-EIA3: Supported
.... 0... = EIA4: Not supported
.... .0.. = EIA5: Not supported
.... ..0. = EIA6: Not supported
.... ...0 = EIA7: Not supported
NAS message container
Element ID: 0x71
Length: 56
Non-Access-Stratum 5GS (NAS)PDU
Plain NAS 5GS Message
Extended protocol discriminator:
5G mobility management messages (126)
0000 .... = Spare Half Octet: 0
.... 0000 = Security header type:
Plain NAS message,
not security protected (0)
Message type:
Registration request (0x41)
5GS registration type
.... 1... = Follow-On Request bit
(FOR): Follow-on request pending
.... .001 = 5GS registration type:
initial registration (1)
NAS key set identifier
0... .... =
Type of security context flag(TSC)
: Native security context
(for KSIAMF)
.000 ....=NAS key set identifier:0
5GS mobile identity
Length: 11
.... 0... = Odd/even indication:
Even number of identity digits
.... .010 = Type of identity:
5G-GUTI (2)
Mobile Country Code (MCC):
Unknown (1)
Mobile Network Code (MNC):
Unknown (01)
AMF Region ID: 128
0000 0001 00.. .... = AMF Set ID: 4
..00 0001 = AMF Pointer: 1
5G-TMSI: 3776478432 (0xe1187ce0)
5GMM capability
Element ID: 0x10
Length: 1
0... .... = Spare: 0
.0.. .... = Spare: 0
..0. .... = Spare: 0
...0 .... = Spare: 0
.... 0... = Spare: 0
.... .0.. = LTE PositioningProtocol
(LPP) capability: Not Requested
.... ..1. = HO attach: Supported
.... ...1 = S1 mode: Requested
UE security capability
Element ID: 0x2e
Length: 4
1... .... = 5G-EA0: Supported
.1.. .... = 128-5G-EA1: Supported
..1. .... = 128-5G-EA2: Supported
...1 .... = 128-5G-EA3: Supported
.... 0... = 5G-EA4: Not supported
.... .0.. = 5G-EA5: Not supported
.... ..0. = 5G-EA6: Not supported
.... ...0 = 5G-EA7: Not supported
0... .... = 5G-IA0: Not supported
.1.. .... = 128-5G-IA1: Supported
..1. .... = 128-5G-IA2: Supported
...1 .... = 128-5G-IA3: Supported
.... 0... = 5G-IA4: Not supported
.... .0.. = 5G-IA5: Not supported
.... ..0. = 5G-IA6: Not supported
.... ...0 = 5G-IA7: Not supported
1... .... = EEA0: Supported
.1.. .... = 128-EEA1: Supported
..1. .... = 128-EEA2: Supported
...1 .... = 128-EEA3: Supported
.... 0... = EEA4: Not supported
.... .0.. = EEA5: Not supported
.... ..0. = EEA6: Not supported
.... ...0 = EEA7: Not supported
0... .... = EIA0: Not supported
.1.. .... = 128-EIA1: Supported
..1. .... = 128-EIA2: Supported
...1 .... = 128-EIA3: Supported
.... 0... = EIA4: Not supported
.... .0.. = EIA5: Not supported
.... ..0. = EIA6: Not supported
.... ...0 = EIA7: Not supported
NSSAI - Requested NSSAI
Element ID: 0x2f
Length: 2
S-NSSAI 1
Length: 1
Slice/service type (SST): 1
5GS tracking area identity -
Last visited registered TAI
Element ID: 0x52
Mobile Country Code (MCC):
Unknown (1)
Mobile Network Code (MNC):
Unknown (01)
TAC: 100
UE network capability
Element ID: 0x17
Length: 7
1... .... = EEA0: Supported
.1.. .... = 128-EEA1: Supported
..1. .... = 128-EEA2: Supported
...1 .... = 128-EEA3: Supported
.... 0... = EEA4: Not supported
.... .0.. = EEA5: Not supported
.... ..0. = EEA6: Not supported
.... ...0 = EEA7: Not supported
0... .... = EIA0: Not supported
.1.. .... = 128-EIA1: Supported
..1. .... = 128-EIA2: Supported
...1 .... = 128-EIA3: Supported
.... 0... = EIA4: Not supported
.... .0.. = EIA5: Not supported
.... ..0. = EIA6: Not supported
.... ...0 = EIA7: Not supported
1... .... = UEA0: Supported
.1.. .... = UEA1: Supported
..0. .... = UEA2: Not supported
...0 .... = UEA3: Not supported
.... 0... = UEA4: Not supported
.... .0.. = UEA5: Not supported
.... ..0. = UEA6: Not supported
.... ...0 = UEA7: Not supported
0... .... = UCS2 support (UCS2):
The UE has a preference
for the default alphabet
.1.. .... = UIA1: Supported
..0. .... = UIA2: Not supported
...0 .... = UIA3: Not supported
.... 0... = UIA4: Not supported
.... .0.. = UIA5: Not supported
.... ..0. = UIA6: Not supported
.... ...0 = UIA7: Not supported
0... .... = ProSe direct discovery:
Not supported
.0.. .... = ProSe: Not supported
..0. .... = H.245 After SRVCC
Handover: Not supported
...1 .... = Access class control
for CSFB: Supported
.... 1... = LTE Positioning
Protocol: Supported
.... .0.. = Location services (LCS)
notification mechanisms:
Not supported
.... ..0. = SRVCC from E-UTRAN to
cdma2000 1xCS: Not supported
.... ...1 = Notification procedure:
Supported
1... .... = Extended protocol
configuration options: Supported
.0.. .... = Header compression
for control plane CIoT EPS
optimization: Not supported
..0. .... = EMM-REGISTERED w/o
PDN connectivity: Not supported
...0 .... = S1-U data transfer:
Not supported
.... 0... = User plane CIoT EPS
optimization: Not supported
.... .0.. = Control plane CIoT EPS
optimization: Not supported
.... ..0. = ProSe UE-to-network
relay: Not supported
.... ...0 = ProSe direct
communication: Not supported
1... .... = Signalling for a max number of 15 EPS bearer
contexts: Supported
.0.. .... = Service gap control:
Not supported
..1. .... = N1 mode: Supported
...1 .... = Dual connectivity
with NR: Supported
.... 0... = Control plane data
backoff: Not supported
.... .0.. = Restriction on use of
enhanced coverage:Not supported
.... ..0. = V2X communication over
PC5: Not supported
.... ...0 = Multiple DRB:
Not supported
UE's usage setting
Element ID: 0x18
Length: 1
.... 0... = Spare: 0
.... .0.. = Spare: 0
.... ..0. = Spare: 0
.... ...1 = UE's usage setting:
Data centric
LADN indication
Element ID: 0x74
Length: 0
Network slicing indication
1001 .... = Element ID: 0x9-
.... 0... = Spare: 0
.... .0.. = Spare: 0
.... ..0. = Default configuredNSSAI
indication (DCNI): Requested
NSSAI not created from default
configured NSSAI
.... ...0 = Network slicing
subscription change indication
(NSSCI): Not Changed
5GS update type
Element ID: 0x53
Length: 1
.... 0... = Spare: 0
.... .0.. = Spare: 0
.... ..0. = NG-RAN Radio Capability
Update (NG-RAN-RCU): Not Needed
.... ...1 = SMS requested: SMS over
NAS supported
Item 2: id-UserLocationInformation
ProtocolIE-Field
id: id-UserLocationInformation (121)
criticality: reject (0)
value
UserLocationInformation: userLocationInformationNR (1)
userLocationInformationNR
nR-CGI
pLMNIdentity: 00f110
Mobile Country Code (MCC): Unknown (1)
Mobile Network Code (MNC): Unknown (01)
nRCellIdentity: 0x0001234501
tAI
pLMNIdentity: 00f110
Mobile Country Code (MCC): Unknown (1)
Mobile Network Code (MNC): Unknown (01)
tAC: 100 (0x000064)
Item 3: id-RRCEstablishmentCause
ProtocolIE-Field
id: id-RRCEstablishmentCause (90)
criticality: ignore (1)
value
RRCEstablishmentCause: mo-Signalling (3)
Item 4: id-UEContextRequest
ProtocolIE-Field
id: id-UEContextRequest (112)
criticality: ignore (1)
value
UEContextRequest: requested (0)
(4) DownlinkNasTransport
This is DownlinkNASTransport message which carries NAS Security Mode Command message.
The message contains three main information elements (IEs):
id-AMF-UE-NGAP-ID (Item 0) : This is a unique identifier assigned by the AMF to the UE for NGAP signaling purposes. In this case, it is set to 102.id-RAN-UE-NGAP-ID (Item 1) :: This is the identifier assigned by the RAN (Radio Access Network) to the UE within the context of NGAP signaling. The identifier is 1 in this instance.id-NAS-PDU (Item 2) :: This carries the actual NAS message. The NAS PDU provided is a Security Mode Command message, which is used to command the UE to use specific security algorithms for encryption and integrity protection. The message indicates the selected ciphering algorithm (5G-EA0 which is null ciphering) and the selected integrity protection algorithm (128-5G-IA2). It also relays the UE's security capabilities, which include support for various encryption and integrity protection algorithms. Additionally, the NAS PDU requests the IMEISV (International Mobile Equipment Identity Software Version), a unique identifier for the mobile device.
Internet Protocol Version 4, Src: 10.0.0.162, Dst: 10.0.0.185
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x02 (DSCP: CS0, ECN: ECT(0))
0000 00.. = Differentiated Services Codepoint: Default (0)
.... ..10 = Explicit Congestion Notification: ECN-Capable Transport codepoint '10' (2)
Total Length: 116
Identification: 0xadd8 (44504)
Flags: 0x40, Don't fragment
0... .... = Reserved bit: Not set
.1.. .... = Don't fragment: Set
..0. .... = More fragments: Not set
Fragment Offset: 0
Time to Live: 64
Protocol: SCTP (132)
Header Checksum: 0x76d1 [validation disabled]
[Header checksum status: Unverified]
Source Address: 10.0.0.162
Destination Address: 10.0.0.185
Stream Control Transmission Protocol, Src Port: 38412 (38412), Dst Port: 48041 (48041)
Source port: 38412
Destination port: 48041
Verification tag: 0x8d10a6cf
[Association index: 65535]
Checksum: 0xe5d8cd9f [unverified]
[Checksum Status: Unverified]
SACK chunk (Cumulative TSN: 3757580129, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)
Chunk type: SACK (3)
0... .... = Bit: Stop processing of the packet
.0.. .... = Bit: Do not report
Chunk flags: 0x00
.... ...0 = Nounce sum: 0
Chunk length: 16
Cumulative TSN ACK: 3757580129
[Acknowledges TSN: 3757580129]
[Acknowledges TSN in frame: 885]
[The RTT since DATA was: 0.000119970 seconds]
Advertised receiver window credit (a_rwnd): 106496
Number of gap acknowledgement blocks: 0
Number of duplicated TSNs: 0
DATA chunk(ordered, complete segment, TSN: 4169966868, SID: 1, SSN: 0, PPID: 60,
payload length: 50 bytes)
Chunk type: DATA (0)
0... .... = Bit: Stop processing of the packet
.0.. .... = Bit: Do not report
Chunk flags: 0x03
.... 0... = I-Bit: Possibly delay SACK
.... .0.. = U-Bit: Ordered delivery
.... ..1. = B-Bit: First segment
.... ...1 = E-Bit: Last segment
Chunk length: 66
Transmission sequence number: 4169966868
[This chunk is acked in frame: 893]
[The RTT to SACK was: 0.046143403 seconds]
Stream identifier: 0x0001
Stream sequence number: 0
Payload protocol identifier: NGAP (60)
Chunk padding: 0000
NGAP-PDU: initiatingMessage (0)
initiatingMessage
procedureCode: id-DownlinkNASTransport (4)
criticality: ignore (1)
value
DownlinkNASTransport
protocolIEs: 3 items
Item 0: id-AMF-UE-NGAP-ID
ProtocolIE-Field
id: id-AMF-UE-NGAP-ID (10)
criticality: reject (0)
value
AMF-UE-NGAP-ID: 102
Item 1: id-RAN-UE-NGAP-ID
ProtocolIE-Field
id: id-RAN-UE-NGAP-ID (85)
criticality: reject (0)
value
RAN-UE-NGAP-ID: 1
Item 2: id-NAS-PDU
ProtocolIE-Field
id: id-NAS-PDU (38)
criticality: reject (0)
value
NAS-PDU: 7e034cd87aa9067e005d020004f070f070e157021904f070c040
Non-Access-Stratum 5GS (NAS)PDU
Security protected NAS 5GS message
Extended protocol discriminator:
5G mobility management messages (126)
0000 .... = Spare Half Octet: 0
.... 0011 = Security header type:
Integrity protected
with new 5GS security context (3)
Message authentication code: 0x4cd87aa9
Sequence number: 6
Plain NAS 5GS Message
Extended protocol discriminator:
5G mobility management messages (126)
0000 .... = Spare Half Octet: 0
.... 0000 = Security header type:
Plain NAS message, not security protected (0)
Message type: Security mode command (0x5d)
NAS security algorithms
0000 .... = Type of ciphering algorithm:
5G-EA0 (null ciphering algorithm) (0)
.... 0010 = Type of integrity protection
algorithm: 128-5G-IA2 (2)
0000 .... = Spare Half Octet: 0
NAS key set identifier - ngKSI
.... 0... = Type of security context flag(TSC):
Native security context (for KSIAMF)
.... .000 = NAS key set identifier: 0
UE security capability -
Replayed UE security capabilities
Length: 4
1... .... = 5G-EA0: Supported
.1.. .... = 128-5G-EA1: Supported
..1. .... = 128-5G-EA2: Supported
...1 .... = 128-5G-EA3: Supported
.... 0... = 5G-EA4: Not supported
.... .0.. = 5G-EA5: Not supported
.... ..0. = 5G-EA6: Not supported
.... ...0 = 5G-EA7: Not supported
0... .... = 5G-IA0: Not supported
.1.. .... = 128-5G-IA1: Supported
..1. .... = 128-5G-IA2: Supported
...1 .... = 128-5G-IA3: Supported
.... 0... = 5G-IA4: Not supported
.... .0.. = 5G-IA5: Not supported
.... ..0. = 5G-IA6: Not supported
.... ...0 = 5G-IA7: Not supported
1... .... = EEA0: Supported
.1.. .... = 128-EEA1: Supported
..1. .... = 128-EEA2: Supported
...1 .... = 128-EEA3: Supported
.... 0... = EEA4: Not supported
.... .0.. = EEA5: Not supported
.... ..0. = EEA6: Not supported
.... ...0 = EEA7: Not supported
0... .... = EIA0: Not supported
.1.. .... = 128-EIA1: Supported
..1. .... = 128-EIA2: Supported
...1 .... = 128-EIA3: Supported
.... 0... = EIA4: Not supported
.... .0.. = EIA5: Not supported
.... ..0. = EIA6: Not supported
.... ...0 = EIA7: Not supported
IMEISV request
1110 .... = Element ID: 0xe-
.... 0... = Spare bit(s): 0x00
.... .001 = IMEISV request: IMEISV requested(1)
NAS security algorithms - Selected EPS NAS
security algorithms
Element ID: 0x57
0... .... = Spare bit(s): 0x00
.000 .... = Type of ciphering algorithm:
EPS encryption algorithm EEA0
.... 0... = Spare bit(s): 0x00
.... .010 = Type of integrity protection
algorithm: EPS integrity algorithm 128-EIA2
UE security capability -
Replayed S1 UE security capabilities
Element ID: 0x19
Length: 4
1... .... = EEA0: Supported
.1.. .... = 128-EEA1: Supported
..1. .... = 128-EEA2: Supported
...1 .... = 128-EEA3: Supported
.... 0... = EEA4: Not supported
.... .0.. = EEA5: Not supported
.... ..0. = EEA6: Not supported
.... ...0 = EEA7: Not supported
0... .... = EIA0: Not supported
.1.. .... = 128-EIA1: Supported
..1. .... = 128-EIA2: Supported
...1 .... = 128-EIA3: Supported
.... 0... = EIA4: Not supported
.... .0.. = EIA5: Not supported
.... ..0. = EIA6: Not supported
.... ...0 = EIA7: Not supported
1... .... = UEA0: Supported
.1.. .... = UEA1: Supported
..0. .... = UEA2: Not supported
...0 .... = UEA3: Not supported
.... 0... = UEA4: Not supported
.... .0.. = UEA5: Not supported
.... ..0. = UEA6: Not supported
.... ...0 = UEA7: Not supported
0... .... = Spare bit(s): 0x0
.1.. .... = UIA1: Supported
..0. .... = UIA2: Not supported
...0 .... = UIA3: Not supported
.... 0... = UIA4: Not supported
.... .0.. = UIA5: Not supported
.... ..0. = UIA6: Not supported
.... ...0 = UIA7: Not supported
(5) UplinkNasTransport
This is the UplinkNASTransport message which is essential in scenarios where the UE needs to send information to the core network that requires secure transport, such as signaling for service request, response to authentication, or any NAS signaling related to mobility management and session management in 5G.
The contents of the message in this example consists of several information elements (IEs):
:id-AMF-UE-NGAP-ID (Item 0) : This IE holds an identifier assigned by the Access and Mobility Management Function (AMF) to the UE for NGAP signaling. Here, the value is 102, which uniquely identifies the UE's NGAP context at the AMF.id-RAN-UE-NGAP-ID (Item 1) : Similar to the AMF-UE-NGAP-ID, this identifier is assigned by the Radio Access Network (RAN) to the UE within the NGAP signaling context. The provided value is 1.id-NAS-PDU (Item 2) : This IE contains the NAS protocol data unit that is being transported from the UE to the AMF. The NAS message is security protected, as indicated by the security header type (Integrity protected and ciphered with new 5GS security context). The presence of an authentication code and sequence number suggests that this message is part of an established security context. The content of the NAS-PDU is encrypted, which is why we see Encrypted data rather than plain-text information.id-UserLocationInformation (Item 3) : Provides the location of the UE in terms of NR (New Radio) cell global identifier and tracking area identifier, with specific PLMN identity codes. This information is used by the network to manage the UE's mobility and to deliver services appropriately.
Internet Protocol Version 4, Src: 10.0.0.185, Dst: 10.0.0.162
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x02 (DSCP: CS0, ECN: ECT(0))
0000 00.. = Differentiated Services Codepoint: Default (0)
.... ..10 = Explicit Congestion Notification: ECN-Capable Transport codepoint '10' (2)
Total Length: 132
Identification: 0x000a (10)
Flags: 0x40, Don't fragment
0... .... = Reserved bit: Not set
.1.. .... = Don't fragment: Set
..0. .... = More fragments: Not set
Fragment Offset: 0
Time to Live: 64
Protocol: SCTP (132)
Header Checksum: 0x2490 [validation disabled]
[Header checksum status: Unverified]
Source Address: 10.0.0.185
Destination Address: 10.0.0.162
Stream Control Transmission Protocol, Src Port: 48041 (48041), Dst Port: 38412 (38412)
Source port: 48041
Destination port: 38412
Verification tag: 0x790ad620
[Association index: 65535]
Checksum: 0xb39a1aad [unverified]
[Checksum Status: Unverified]
SACK chunk (Cumulative TSN: 4169966868, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)
Chunk type: SACK (3)
0... .... = Bit: Stop processing of the packet
.0.. .... = Bit: Do not report
Chunk flags: 0x00
.... ...0 = Nounce sum: 0
Chunk length: 16
Cumulative TSN ACK: 4169966868
[Acknowledges TSN: 4169966868]
[Acknowledges TSN in frame: 886]
[The RTT since DATA was: 0.046143403 seconds]
Advertised receiver window credit (a_rwnd): 106496
Number of gap acknowledgement blocks: 0
Number of duplicated TSNs: 0
DATA chunk(ordered, complete segment, TSN: 3757580130, SID: 1, SSN: 1, PPID: 60,
payload length: 65 bytes)
Chunk type: DATA (0)
0... .... = Bit: Stop processing of the packet
.0.. .... = Bit: Do not report
Chunk flags: 0x03
.... 0... = I-Bit: Possibly delay SACK
.... .0.. = U-Bit: Ordered delivery
.... ..1. = B-Bit: First segment
.... ...1 = E-Bit: Last segment
Chunk length: 81
Transmission sequence number: 3757580130
[This chunk is acked in frame: 894]
[The RTT to SACK was: 0.000370058 seconds]
Stream identifier: 0x0001
Stream sequence number: 1
Payload protocol identifier: NGAP (60)
Chunk padding: 000000
NGAP-PDU: initiatingMessage (0)
initiatingMessage
procedureCode: id-UplinkNASTransport (46)
criticality: ignore (1)
value
UplinkNASTransport
protocolIEs: 4 items
Item 0: id-AMF-UE-NGAP-ID
ProtocolIE-Field
id: id-AMF-UE-NGAP-ID (10)
criticality: reject (0)
value
AMF-UE-NGAP-ID: 102
Item 1: id-RAN-UE-NGAP-ID
ProtocolIE-Field
id: id-RAN-UE-NGAP-ID (85)
criticality: reject (0)
value
RAN-UE-NGAP-ID: 1
Item 2: id-NAS-PDU
ProtocolIE-Field
id: id-NAS-PDU (38)
criticality: reject (0)
value
NAS-PDU: 7e04d3e72791087e005e7700098596500765532619f3
Non-Access-Stratum 5GS (NAS)PDU
Security protected NAS 5GS message
Extended protocol discriminator:
5G mobility management messages (126)
0000 .... = Spare Half Octet: 0
.... 0100 = Security header type:
Integrity protected and ciphered
with new 5GS security context (4)
Message authentication code: 0xd3e72791
Sequence number: 8
Encrypted data
Item 3: id-UserLocationInformation
ProtocolIE-Field
id: id-UserLocationInformation (121)
criticality: ignore (1)
value
UserLocationInformation: userLocationInformationNR (1)
userLocationInformationNR
nR-CGI
pLMNIdentity: 00f110
Mobile Country Code (MCC): Unknown (1)
Mobile Network Code (MNC): Unknown (01)
nRCellIdentity: 0x0001234501
tAI
pLMNIdentity: 00f110
Mobile Country Code (MCC): Unknown (1)
Mobile Network Code (MNC): Unknown (01)
tAC: 100 (0x000064)
(6) InitialContextSetupRequest
The InitialContextSetupRequest is used to establish the necessary user plane and control plane contexts for a UE (User Equipment) at the gNodeB. This message initiates the process of setting up the initial context after a UE has been successfully authenticated and authorized to access the network's services. It is a critical step in the 5G call flow that configures the user and control plane contexts for the UE, setting the stage for all subsequent communications over the 5G network.
The message includes several IEs (Information Elements) that provide the gNodeB with information needed to configure resources for the UE:
id-AMF-UE-NGAP-ID (Item 0) : A unique identifier allocated by the AMF for the UE.id-RAN-UE-NGAP-ID (Item 1) : A unique identifier allocated by the gNodeB for the UE.id-GUAMI (Item 2) : The Globally Unique AMF Identifier, which specifies the AMF that serves the UE, including the PLMN Identity, AMF Region ID, AMF Set ID, and AMF Pointer.id-AllowedNSSAI (Item 3) : The list of allowed S-NSSAIs (Single Network Slice Selection Assistance Information) for the UE, which identifies the slices that the UE is allowed to access.id-UESecurityCapabilities (Item 4) : The security capabilities of the UE, detailing the supported encryption and integrity protection algorithms for both NR (New Radio) and E-UTRA (Evolved UTRA).id-SecurityKey (Item 5) : The security key to be used by the gNodeB for securing the signaling and user plane data.id-NAS-PDU (Item 6) : The NAS (Non-Access Stratum) protocol data unit containing encrypted data. This NAS message is typically used to carry out the signaling needed for mobility management, session management, and other NAS functions.id-RedirectionVoiceFallback (Item 7) : Indicates whether voice fallback is possible for the UE, in case the UE needs to be redirected to a legacy voice service when VoNR (Voice over New Radio) is not available.
Internet Protocol Version 4, Src: 10.0.0.162, Dst: 10.0.0.185
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x02 (DSCP: CS0, ECN: ECT(0))
0000 00.. = Differentiated Services Codepoint: Default (0)
.... ..10 = Explicit Congestion Notification: ECN-Capable Transport codepoint '10' (2)
Total Length: 216
Identification: 0xadd9 (44505)
Flags: 0x40, Don't fragment
0... .... = Reserved bit: Not set
.1.. .... = Don't fragment: Set
..0. .... = More fragments: Not set
Fragment Offset: 0
Time to Live: 64
Protocol: SCTP (132)
Header Checksum: 0x766c [validation disabled]
[Header checksum status: Unverified]
Source Address: 10.0.0.162
Destination Address: 10.0.0.185
Stream Control Transmission Protocol, Src Port: 38412 (38412), Dst Port: 48041 (48041)
Source port: 38412
Destination port: 48041
Verification tag: 0x8d10a6cf
[Association index: 65535]
Checksum: 0x564117e2 [unverified]
[Checksum Status: Unverified]
SACK chunk (Cumulative TSN: 3757580130, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)
Chunk type: SACK (3)
0... .... = Bit: Stop processing of the packet
.0.. .... = Bit: Do not report
Chunk flags: 0x00
.... ...0 = Nounce sum: 0
Chunk length: 16
Cumulative TSN ACK: 3757580130
[Acknowledges TSN: 3757580130]
[Acknowledges TSN in frame: 893]
[The RTT since DATA was: 0.000370058 seconds]
Advertised receiver window credit (a_rwnd): 106496
Number of gap acknowledgement blocks: 0
Number of duplicated TSNs: 0
DATA chunk(ordered, complete segment, TSN: 4169966869, SID: 1, SSN: 1, PPID: 60,
payload length: 152 bytes)
Chunk type: DATA (0)
0... .... = Bit: Stop processing of the packet
.0.. .... = Bit: Do not report
Chunk flags: 0x03
.... 0... = I-Bit: Possibly delay SACK
.... .0.. = U-Bit: Ordered delivery
.... ..1. = B-Bit: First segment
.... ...1 = E-Bit: Last segment
Chunk length: 168
Transmission sequence number: 4169966869
[This chunk is acked in frame: 901]
[The RTT to SACK was: 0.131696577 seconds]
Stream identifier: 0x0001
Stream sequence number: 1
Payload protocol identifier: NGAP (60)
NGAP-PDU: initiatingMessage (0)
initiatingMessage
procedureCode: id-InitialContextSetup (14)
criticality: reject (0)
value
InitialContextSetupRequest
protocolIEs: 8 items
Item 0: id-AMF-UE-NGAP-ID
ProtocolIE-Field
id: id-AMF-UE-NGAP-ID (10)
criticality: reject (0)
value
AMF-UE-NGAP-ID: 102
Item 1: id-RAN-UE-NGAP-ID
ProtocolIE-Field
id: id-RAN-UE-NGAP-ID (85)
criticality: reject (0)
value
RAN-UE-NGAP-ID: 1
Item 2: id-GUAMI
ProtocolIE-Field
id: id-GUAMI (28)
criticality: reject (0)
value
GUAMI
pLMNIdentity: 00f110
Mobile Country Code (MCC): Unknown (1)
Mobile Network Code (MNC): Unknown (01)
aMFRegionID: 80 [bit length 8, 1000 0000 decimal value 128]
aMFSetID: 0100 [bit length 10, 6 LSB pad bits,
0000 0001 00.. .... decimal value 4]
aMFPointer: 04 [bit length 6, 2 LSB pad bits,
0000 01.. decimal value 1]
Item 3: id-AllowedNSSAI
ProtocolIE-Field
id: id-AllowedNSSAI (0)
criticality: reject (0)
value
AllowedNSSAI: 1 item
Item 0
AllowedNSSAI-Item
s-NSSAI
sST: 01
Item 4: id-UESecurityCapabilities
ProtocolIE-Field
id: id-UESecurityCapabilities (119)
criticality: reject (0)
value
UESecurityCapabilities
nRencryptionAlgorithms: e000 [bit length 16,
1110 0000 0000 0000 decimal value 57344]
1... .... .... .... = 128-NEA1: Supported
.1.. .... .... .... = 128-NEA2: Supported
..1. .... .... .... = 128-NEA3: Supported
...0 0000 0000 0000 = Reserved: 0x0000
nRintegrityProtectionAlgorithms: e000 [bit length 16,
1110 0000 0000 0000 decimal value 57344]
1... .... .... .... = 128-NIA1: Supported
.1.. .... .... .... = 128-NIA2: Supported
..1. .... .... .... = 128-NIA3: Supported
...0 0000 0000 0000 = Reserved: 0x0000
eUTRAencryptionAlgorithms: e000 [bit length 16,
1110 0000 0000 0000 decimal value 57344]
1... .... .... .... = 128-EEA1: Supported
.1.. .... .... .... = 128-EEA2: Supported
..1. .... .... .... = 128-EEA3: Supported
...0 0000 0000 0000 = Reserved: 0x0000
eUTRAintegrityProtectionAlgorithms: e000 [bit length 16,
1110 0000 0000 0000 decimal value 57344]
1... .... .... .... = 128-EIA1: Supported
.1.. .... .... .... = 128-EIA2: Supported
..1. .... .... .... = 128-EIA3: Supported
...0 0000 0000 0000 = Reserved: 0x0000
Item 5: id-SecurityKey
ProtocolIE-Field
id: id-SecurityKey (94)
criticality: reject (0)
value
SecurityKey: 0cf3d559d8db4b4cb2193a8bbda7... [bit length 256]
Item 6: id-NAS-PDU
ProtocolIE-Field
id: id-NAS-PDU (38)
criticality: ignore (1)
value
NAS-PDU: 7e02989f23dc077e0042010977000bf200f110800101
Non-Access-Stratum 5GS (NAS)PDU
Security protected NAS 5GS message
Extended protocol discriminator:
5G mobility management messages (126)
0000 .... = Spare Half Octet: 0
.... 0010 = Security header type:
Integrity protected and ciphered (2)
Message authentication code: 0x989f23dc
Sequence number: 7
Encrypted data
Item 7: id-RedirectionVoiceFallback
ProtocolIE-Field
id: id-RedirectionVoiceFallback (146)
criticality: ignore (1)
value
RedirectionVoiceFallback: possible (0)
(7) UERadioCapabilityInformation
This carries Rrc UE capability Information message. This part is not printed in this note since this is more like Rrc Information.
(8) InitialContextSetupRequest
The InitialContextSetupResponse is sent by the gNodeB to the AMF as part of the UE's initial context setup process. This message indicates a successful outcome of the initial context setup procedure initiated by the InitialContextSetupRequest. It indicates that the gNodeB has successfully set up the context for the UE as requested by the AMF. This setup includes the allocation of necessary resources and configurations to facilitate communication with the UE, such as radio bearers and security configurations. The successful outcome allows the UE to proceed with further communication and data transfer over the 5G network.
This response contains two main information elements (IEs):
id-AMF-UE-NGAP-ID (Item 0) : This is the unique identifier that the AMF has assigned to the UE. It is used by the AMF to identify the UE within the NGAP messages. In this case, the value is 102.id-RAN-UE-NGAP-ID (Item 1) : This is the unique identifier that the gNodeB has assigned to the UE. It is used by the gNodeB to keep track of the UE's NGAP context. Here, the identifier is 1.
Internet Protocol Version 4, Src: 10.0.0.185, Dst: 10.0.0.162
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x02 (DSCP: CS0, ECN: ECT(0))
0000 00.. = Differentiated Services Codepoint: Default (0)
.... ..10 = Explicit Congestion Notification: ECN-Capable Transport codepoint '10' (2)
Total Length: 68
Identification: 0x000d (13)
Flags: 0x40, Don't fragment
0... .... = Reserved bit: Not set
.1.. .... = Don't fragment: Set
..0. .... = More fragments: Not set
Fragment Offset: 0
Time to Live: 64
Protocol: SCTP (132)
Header Checksum: 0x24cd [validation disabled]
[Header checksum status: Unverified]
Source Address: 10.0.0.185
Destination Address: 10.0.0.162
Stream Control Transmission Protocol, Src Port: 48041 (48041), Dst Port: 38412 (38412)
Source port: 48041
Destination port: 38412
Verification tag: 0x790ad620
[Association index: 65535]
Checksum: 0x2c975cf3 [unverified]
[Checksum Status: Unverified]
DATA chunk(ordered, complete segment, TSN: 3757580133, SID: 1, SSN: 3, PPID: 60,
payload length: 19 bytes)
Chunk type: DATA (0)
0... .... = Bit: Stop processing of the packet
.0.. .... = Bit: Do not report
Chunk flags: 0x03
.... 0... = I-Bit: Possibly delay SACK
.... .0.. = U-Bit: Ordered delivery
.... ..1. = B-Bit: First segment
.... ...1 = E-Bit: Last segment
Chunk length: 35
Transmission sequence number: 3757580133
[This chunk is acked in frame: 907]
[The RTT to SACK was: 0.000376547 seconds]
Stream identifier: 0x0001
Stream sequence number: 3
Payload protocol identifier: NGAP (60)
Chunk padding: 00
NGAP-PDU: successfulOutcome (1)
successfulOutcome
procedureCode: id-InitialContextSetup (14)
criticality: reject (0)
value
InitialContextSetupResponse
protocolIEs: 2 items
Item 0: id-AMF-UE-NGAP-ID
ProtocolIE-Field
id: id-AMF-UE-NGAP-ID (10)
criticality: ignore (1)
value
AMF-UE-NGAP-ID: 102
Item 1: id-RAN-UE-NGAP-ID
ProtocolIE-Field
id: id-RAN-UE-NGAP-ID (85)
criticality: ignore (1)
value
RAN-UE-NGAP-ID: 1
(9) UplinkNASTransport
The UplinkNASTransport message is sent from the gNodeB to the AMF (Access and Mobility Management Function) and is responsible for transporting NAS messages from the UE to the core network. It is crucial for the delivery of NAS messages that are typically related to mobility management, session management, or authentication to the AMF from the UE. It allows the core network to receive information from the UE, process it, and take necessary actions based on the content of the NAS message.
The message consists of the following information elements (IEs):
id-AMF-UE-NGAP-ID (Item 0) :This IE contains a unique identifier for the UE provided by the AMF, which, in this instance, is 102. This ID is used for NGAP session management between the AMF and the gNodeB.id-RAN-UE-NGAP-ID (Item 1) : This IE holds a unique identifier for the UE provided by the RAN (Radio Access Network), which is 1. This ID is used for NGAP session management within the RAN.id-NAS-PDU (Item 2) : This IE contains the NAS message that the UE wants to transmit to the core network. It is a security-protected message, meaning it has been both integrity-protected and ciphered. This includes an extended protocol discriminator, security header type, message authentication code, sequence number, and the actual encrypted NAS message data.id-UserLocationInformation (Item 3) : This IE provides the location information of the UE, in terms of the cell identity (nR-CGI) and the tracking area identity (tAI) associated with the cell where the UE is located. Both are provided along with the PLMN Identity, which comprises the Mobile Country Code (MCC) and Mobile Network Code (MNC).
Internet Protocol Version 4, Src: 10.0.0.185, Dst: 10.0.0.162
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x02 (DSCP: CS0, ECN: ECT(0))
0000 00.. = Differentiated Services Codepoint: Default (0)
.... ..10 = Explicit Congestion Notification: ECN-Capable Transport codepoint '10' (2)
Total Length: 104
Identification: 0x000e (14)
Flags: 0x40, Don't fragment
0... .... = Reserved bit: Not set
.1.. .... = Don't fragment: Set
..0. .... = More fragments: Not set
Fragment Offset: 0
Time to Live: 64
Protocol: SCTP (132)
Header Checksum: 0x24a8 [validation disabled]
[Header checksum status: Unverified]
Source Address: 10.0.0.185
Destination Address: 10.0.0.162
Stream Control Transmission Protocol, Src Port: 48041 (48041), Dst Port: 38412 (38412)
Source port: 48041
Destination port: 38412
Verification tag: 0x790ad620
[Association index: 65535]
Checksum: 0x4643a66d [unverified]
[Checksum Status: Unverified]
DATA chunk(ordered, complete segment, TSN: 3757580134, SID: 1, SSN: 4, PPID: 60,
payload length: 53 bytes)
Chunk type: DATA (0)
0... .... = Bit: Stop processing of the packet
.0.. .... = Bit: Do not report
Chunk flags: 0x03
.... 0... = I-Bit: Possibly delay SACK
.... .0.. = U-Bit: Ordered delivery
.... ..1. = B-Bit: First segment
.... ...1 = E-Bit: Last segment
Chunk length: 69
Transmission sequence number: 3757580134
[This chunk is acked in frame: 907]
[The RTT to SACK was: 0.000018275 seconds]
Stream identifier: 0x0001
Stream sequence number: 4
Payload protocol identifier: NGAP (60)
Chunk padding: 000000
NGAP-PDU: initiatingMessage (0)
initiatingMessage
procedureCode: id-UplinkNASTransport (46)
criticality: ignore (1)
value
UplinkNASTransport
protocolIEs: 4 items
Item 0: id-AMF-UE-NGAP-ID
ProtocolIE-Field
id: id-AMF-UE-NGAP-ID (10)
criticality: reject (0)
value
AMF-UE-NGAP-ID: 102
Item 1: id-RAN-UE-NGAP-ID
ProtocolIE-Field
id: id-RAN-UE-NGAP-ID (85)
criticality: reject (0)
value
RAN-UE-NGAP-ID: 1
Item 2: id-NAS-PDU
ProtocolIE-Field
id: id-NAS-PDU (38)
criticality: reject (0)
value
NAS-PDU: 7e021bc4e845097e0043
Non-Access-Stratum 5GS (NAS)PDU
Security protected NAS 5GS message
Extended protocol discriminator:
5G mobility management messages (126)
0000 .... = Spare Half Octet: 0
.... 0010 = Security header type:
Integrity protected and ciphered (2)
Message authentication code: 0x1bc4e845
Sequence number: 9
Encrypted data
Item 3: id-UserLocationInformation
ProtocolIE-Field
id: id-UserLocationInformation (121)
criticality: ignore (1)
value
UserLocationInformation: userLocationInformationNR (1)
userLocationInformationNR
nR-CGI
pLMNIdentity: 00f110
Mobile Country Code (MCC): Unknown (1)
Mobile Network Code (MNC): Unknown (01)
nRCellIdentity: 0x0001234501
tAI
pLMNIdentity: 00f110
Mobile Country Code (MCC): Unknown (1)
Mobile Network Code (MNC): Unknown (01)
tAC: 100 (0x000064)
(10) DownlinkNASTransport
The DownlinkNASTransport is used in 5G networks to communicate from the core network to the gNodeB, specifically for the purpose of delivering NAS messages to the UE. It is used for a variety of purposes, including delivering commands from the core network to the UE, such as service accept or reject messages, authentication requests, or security mode commands. This secure transport of NAS messages ensures that commands and responses between the UE and the core network maintain their confidentiality and integrity as they pass through the radio interface.
This message contains three primary information elements (IEs):
id-AMF-UE-NGAP-ID (Item 0) : This is the identifier for the UE as known by the AMF (Access and Mobility Management Function), which is 102 in this particular message. It's used to reference the UE within the AMF.id-RAN-UE-NGAP-ID (Item 1) : This is the identifier for the UE as known by the RAN (Radio Access Network), which is 1 in this message. It's used for signaling and managing the context between the UE and the gNodeB.id-NAS-PDU (Item 2) : This carries the actual NAS message that needs to be delivered to the UE. The NAS message in this IE is security-protected, which means it has been both integrity-protected and ciphered, as indicated by the security header type Integrity protected and ciphered. It includes a message authentication code (MAC) and a sequence number, which are part of the security mechanism to ensure the integrity and authenticity of the message. The content of the NAS-PDU is encrypted, so the details of the message are not visible in this snippet.
Internet Protocol Version 4, Src: 10.0.0.162, Dst: 10.0.0.185
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x02 (DSCP: CS0, ECN: ECT(0))
0000 00.. = Differentiated Services Codepoint: Default (0)
.... ..10 = Explicit Congestion Notification: ECN-Capable Transport codepoint '10' (2)
Total Length: 124
Identification: 0xaddc (44508)
Flags: 0x40, Don't fragment
0... .... = Reserved bit: Not set
.1.. .... = Don't fragment: Set
..0. .... = More fragments: Not set
Fragment Offset: 0
Time to Live: 64
Protocol: SCTP (132)
Header Checksum: 0x76c5 [validation disabled]
[Header checksum status: Unverified]
Source Address: 10.0.0.162
Destination Address: 10.0.0.185
Stream Control Transmission Protocol, Src Port: 38412 (38412), Dst Port: 48041 (48041)
Source port: 38412
Destination port: 48041
Verification tag: 0x8d10a6cf
[Association index: 65535]
Checksum: 0xd913f52a [unverified]
[Checksum Status: Unverified]
DATA chunk(ordered, complete segment, TSN: 4169966870, SID: 1, SSN: 2, PPID: 60,
payload length: 76 bytes)
Chunk type: DATA (0)
0... .... = Bit: Stop processing of the packet
.0.. .... = Bit: Do not report
Chunk flags: 0x03
.... 0... = I-Bit: Possibly delay SACK
.... .0.. = U-Bit: Ordered delivery
.... ..1. = B-Bit: First segment
.... ...1 = E-Bit: Last segment
Chunk length: 92
Transmission sequence number: 4169966870
[This chunk is acked in frame: 909]
[The RTT to SACK was: 0.299073623 seconds]
Stream identifier: 0x0001
Stream sequence number: 2
Payload protocol identifier: NGAP (60)
NGAP-PDU: initiatingMessage (0)
initiatingMessage
procedureCode: id-DownlinkNASTransport (4)
criticality: ignore (1)
value
DownlinkNASTransport
protocolIEs: 3 items
Item 0: id-AMF-UE-NGAP-ID
ProtocolIE-Field
id: id-AMF-UE-NGAP-ID (10)
criticality: reject (0)
value
AMF-UE-NGAP-ID: 102
Item 1: id-RAN-UE-NGAP-ID
ProtocolIE-Field
id: id-RAN-UE-NGAP-ID (85)
criticality: reject (0)
value
RAN-UE-NGAP-ID: 1
Item 2: id-NAS-PDU
ProtocolIE-Field
id: id-NAS-PDU (38)
criticality: reject (0)
value
NAS-PDU: 7e02708c9be0087e0054431081c176589e9ebfcd
Non-Access-Stratum 5GS (NAS)PDU
Security protected NAS 5GS message
Extended protocol discriminator:
5G mobility management messages (126)
0000 .... = Spare Half Octet: 0
.... 0010 = Security header type:
Integrity protected and ciphered (2)
Message authentication code: 0x708c9be0
Sequence number: 8
Encrypted data
(11) UplinkNASTransport
The UplinkNASTransport message is used within the 5G network for conveying NAS messages from the UE to the core network, specifically the AMF, through the gNodeB. It plays a vital role in the communication between the UE and the core network, especially for processes that require secure transport, such as authentication response, service request, or any mobility management message from the UE.
This message consists of the following key information elements (IEs):
id-AMF-UE-NGAP-ID (Item 0) : A unique identifier allocated by the AMF for the UE, used to identify the NGAP context for the UE at the AMF. In this message, the ID is 102.id-RAN-UE-NGAP-ID (Item 1) : A unique identifier allocated by the RAN to the UE within its NGAP context. The RAN uses this ID to manage and maintain context for the UE. The provided identifier is 1.id-NAS-PDU (Item 2) : Contains the NAS message payload that needs to be transported to the AMF. The NAS PDU includes a security header that indicates the message is both integrity protected and ciphered, a message authentication code for integrity verification, and the encrypted content of the NAS message. The sequence number (10 in this case) is used to maintain the order of NAS messages and protect against replay attacks.id-UserLocationInformation (Item 3) : Provides the geographical location of the UE, including the NR (New Radio) cell global identifier (nR-CGI) and the tracking area identity (tAI), which are associated with the cell where the UE is currently located. The PLMN Identity is part of this information, typically comprising the Mobile Country Code (MCC) and Mobile Network Code (MNC), although they are marked as unknown in this message.
Internet Protocol Version 4, Src: 10.0.0.185, Dst: 10.0.0.162
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x02 (DSCP: CS0, ECN: ECT(0))
0000 00.. = Differentiated Services Codepoint: Default (0)
.... ..10 = Explicit Congestion Notification: ECN-Capable Transport codepoint '10' (2)
Total Length: 228
Identification: 0x0010 (16)
Flags: 0x40, Don't fragment
0... .... = Reserved bit: Not set
.1.. .... = Don't fragment: Set
..0. .... = More fragments: Not set
Fragment Offset: 0
Time to Live: 64
Protocol: SCTP (132)
Header Checksum: 0x242a [validation disabled]
[Header checksum status: Unverified]
Source Address: 10.0.0.185
Destination Address: 10.0.0.162
Stream Control Transmission Protocol, Src Port: 48041 (48041), Dst Port: 38412 (38412)
Source port: 48041
Destination port: 38412
Verification tag: 0x790ad620
[Association index: 65535]
Checksum: 0x39273ca9 [unverified]
[Checksum Status: Unverified]
DATA chunk(ordered, complete segment, TSN: 3757580135, SID: 1, SSN: 5, PPID: 60,
payload length: 180 bytes)
Chunk type: DATA (0)
0... .... = Bit: Stop processing of the packet
.0.. .... = Bit: Do not report
Chunk flags: 0x03
.... 0... = I-Bit: Possibly delay SACK
.... .0.. = U-Bit: Ordered delivery
.... ..1. = B-Bit: First segment
.... ...1 = E-Bit: Last segment
Chunk length: 196
Transmission sequence number: 3757580135
[This chunk is acked in frame: 911]
[The RTT to SACK was: 0.000140996 seconds]
Stream identifier: 0x0001
Stream sequence number: 5
Payload protocol identifier: NGAP (60)
NGAP-PDU: initiatingMessage (0)
initiatingMessage
procedureCode: id-UplinkNASTransport (46)
criticality: ignore (1)
value
UplinkNASTransport
protocolIEs: 4 items
Item 0: id-AMF-UE-NGAP-ID
ProtocolIE-Field
id: id-AMF-UE-NGAP-ID (10)
criticality: reject (0)
value
AMF-UE-NGAP-ID: 102
Item 1: id-RAN-UE-NGAP-ID
ProtocolIE-Field
id: id-RAN-UE-NGAP-ID (85)
criticality: reject (0)
value
RAN-UE-NGAP-ID: 1
Item 2: id-NAS-PDU
ProtocolIE-Field
id: id-NAS-PDU (38)
criticality: reject (0)
value
NAS-PDU: 7e02c3faa3fa0a7e006701006b2e0114c1000093280100
Non-Access-Stratum 5GS (NAS)PDU
Security protected NAS 5GS message
Extended protocol discriminator:
5G mobility management messages (126)
0000 .... = Spare Half Octet: 0
.... 0010 = Security header type:
Integrity protected and ciphered (2)
Message authentication code: 0xc3faa3fa
Sequence number: 10
Encrypted data
Item 3: id-UserLocationInformation
ProtocolIE-Field
id: id-UserLocationInformation (121)
criticality: ignore (1)
value
UserLocationInformation: userLocationInformationNR (1)
userLocationInformationNR
nR-CGI
pLMNIdentity: 00f110
Mobile Country Code (MCC): Unknown (1)
Mobile Network Code (MNC): Unknown (01)
nRCellIdentity: 0x0001234501
tAI
pLMNIdentity: 00f110
Mobile Country Code (MCC): Unknown (1)
Mobile Network Code (MNC): Unknown (01)
tAC: 100 (0x000064)
UPLINK NAS TRANSPORT
The Uplink NAS Transport procedure is used when the NG-RAN node has received from the radio interface a NAS message to be forwarded to the AMF to which a UE-associated logical NG-connection for the UE exists. Most of NAS message sent by UE is conveyed to core network via Uplink Nas Transport.
- The NG-RAN node initiates the procedure by sending an UPLINK NAS TRANSPORT message to the AMF.
- The NAS-PDU IE contains a UE AMF message that is transferred without interpretation in the NG-RAN node.
< 38.413-Figure 8.6.3.2-1: Uplink NAS transport >

< 38.413 - 9.2.5.3 >
|
IE/Group Name |
Presence |
Range |
IE type and reference |
Semantics description |
Criticality |
Assigned Criticality |
|---|---|---|---|---|---|---|
|
Message Type |
M |
9.3.1.1 |
YES |
ignore |
||
|
AMF UE NGAP ID |
M |
9.3.3.1 |
reject |
YES |
reject |
|
|
RAN UE NGAP ID |
M |
9.3.3.2 |
YES |
reject |
||
|
NAS-PDU |
M |
9.3.3.4 |
YES |
reject |
||
|
User Location Information |
M |
9.3.1.16 |
YES |
ignore |
||
|
W-AGF Identity Information |
O |
OCTET STRING |
Containing the WAgfInfo IE specified in TS 29.510 |
YES |
reject |
|
|
TNGF Identity Information |
O |
OCTET STRING |
Containing the TngfInfo IE specified in TS 29.510 |
YES |
reject |
|
|
TWIF Identity Information |
O |
OCTET STRING |
Containing the TwifInfo IE specified in TS 29.510 |
YES |
reject |
< 29.510 - Table 6.1.6.2.51-1: Definition of type WAgfInfo >

< 29.510 - Table 6.1.6.2.52-1: Definition of type TngfInfo >

< 29.510 - Table 6.1.6.2.61-1: Definition of type TwifInfo >

Example 1 >
initiatingMessage: {
procedureCode id-UplinkNASTransport,
criticality ignore,
value {
protocolIEs {
{
id id-AMF-UE-NGAP-ID,
criticality reject,
value 100
},
{
id id-RAN-UE-NGAP-ID,
criticality reject,
value 1
},
{
id id-NAS-PDU,
criticality reject,
value '7E0118....'H // NAS message is contained here, decoded by AMF to NAS message
},
{
id id-UserLocationInformation,
criticality ignore,
value userLocationInformationNR: {
nR-CGI {
pLMNIdentity '00F110'H,
nRCellIdentity '001234501'H
},
tAI {
pLMNIdentity '00F110'H,
tAC '000064'H
}
}
}
}
}
}
NOTE : common NAS messages carried by Uplink NAS transport
- Identity request
- Authentication request
- Authentication response
- Security mode complete
- Registration complete
- PDU session establishment request
DOWNLINK NAS TRANSPORT
The Downlink NAS Transport procedure is used when the AMF only needs to send a NAS message transparently via the NG-RAN node to the UE, and a UE-associated logical NG-connection exists for the UE or the AMF has received the RAN UE NGAP ID IE in an INITIAL UE MESSAGE message or if the NG-RAN node has already initiated a UEassociated logical NG-connection by sending an INITIAL UE MESSAGE message via another NG interface instance.
< 38.413-Figure 8.6.2.2-1: Downlink NAS transport >

< 38.413 - 9.2.5.2 >
|
IE/Group Name |
Presence |
Range |
IE type and reference |
Semantics description |
Criticality |
Assigned action |
|---|---|---|---|---|---|---|
|
Message Type |
M |
9.3.1.1 |
YES |
ignore |
||
|
AMF UE NGAP ID |
M |
9.3.1.1 |
YES |
reject |
||
|
RAN UE NGAP ID |
M |
9.3.3.2 |
YES |
reject |
||
|
Old AMF |
O |
AMF name 9.3.3.21 |
YES |
reject |
||
|
RAN Paging Priority |
O |
9.3.3.15 |
YES |
ignore |
||
|
NAS-PDU |
M |
9.3.3.4 |
YES |
reject |
||
|
Mobility Restriction List |
O |
9.3.1.85 |
YES |
ignore |
||
|
Index to RAI/Frequency Selection Priority |
O |
9.3.1.61 |
YES |
ignore |
||
|
UE Aggregate Maximum Bit Rate |
O |
9.3.1.58 |
YES |
ignore |
||
|
Allowed NSSAI |
O |
9.3.1.31 |
Indicates the S-NSSAIs permitted by the network. |
YES |
reject |
|
|
SRVCC Operation Possible |
O |
9.3.1.128 |
YES |
ignore |
||
|
Enhanced Coverage Restriction |
O |
9.3.1.140 |
YES |
ignore |
||
|
Extended Connected Time |
O |
9.3.3.31 |
YES |
ignore |
||
|
UE Differentiation Information |
O |
9.3.1.144 |
YES |
ignore |
||
|
CE-mode-B Restricted |
O |
9.3.1.155 |
YES |
ignore |
||
|
UE Radio Capability |
O |
|
9.3.1.74 |
|
|
|
|
UE Capability Info Request |
O |
9.3.1.192 |
YES |
ignore |
||
|
End Indication |
O |
9.3.3.32 |
YES |
ignore |
||
|
UE Radio Capability ID |
O |
9.3.1.142 |
YES |
reject |
||
|
Target NSSAI Information |
O |
9.3.1.229 |
YES |
ignore |
||
|
Masked IMEISV |
O |
9.3.1.54 |
YES |
ignore |
Example 1 >
initiatingMessage: {
procedureCode id-DownlinkNASTransport,
criticality ignore,
value {
protocolIEs {
{
id id-AMF-UE-NGAP-ID,
criticality reject,
value 100
},
{
id id-RAN-UE-NGAP-ID,
criticality reject,
value 1
},
{
id id-NAS-PDU,
criticality reject,
value '7E03....'H // NAS message is contained here, decoded by gNB to NAS message
}
}
}
}
NOTE : common NAS messages carried by Downlink NAS transport
- Identity response
- Authentication response
- Security mode command
- Configuration update command
- PDU session establishment accept
PDU Session Resource Setup
The purpose of the PDU Session Resource Setup is as follows :
- assign resources on Uu and NG-U for one or several PDU sessions and the corresponding QoS flows
- setup corresponding DRBs for a given UE
Overall signaling procecedure is as follows and the details are described in 38.413 - 8.2.1.
< 38.413 - Figure 8.2.1.2-1: PDU session resource setup: successful operation >

This process is the one that get a huge list of parameters involved. The details are described in 38.413-8.2.1, but it doesn't make clear sense to me yet. I would need more study and log analysis for deeper understanding. The list of parameters explained in this specification is as follows to give you some generic idea.
- PDU SESSION RESOURCE SETUP REQUEST
- PDU Session Resource Setup Request List
- DUSessionNAS-PDU
- PDU Session ID
- RAN Paging Priority
- PDU Session Resource Setup Request Transfer IE
- UL NG-U UP TNL Information
- Additional UL NG-U UP TNL Information
- Common Network Instance
- Network Instance
- UP Transport Layer Information List
- Redundant UL NG-U UP TNL Information
- Redundant QoS Flow per TNL Information
- Additional Redundant DL QoS Flow per TNL Information
- TSC Traffic Characteristics
- PDU Session Type
- Security Indication
- Integrity Protection Indication
- Confidentiality Protection Indication
- Maximum Integrity Protected Data Rate Downlink
- Maximum Integrity Protected Data Rate Uplink
- PDU Session Aggregate Maximum Bit Rate
- QoS Flow Level QoS Parameters
- Additional QoS Flow Information
- QoS Monitoring Request
- Flow Level QoS Parameters
- GBR QoS Flow Information
- Alternative QoS Parameters Set List
- Redundant QoS Flow Indicator
- Redundant PDU Session Information
- PDU Session Expected UE Activity Behaviour
- PDU SESSION RESOURCE SETUP RESPONSE
- PDU Session Resource Setup Response Transfer
- Integrity Protection Result
- Confidentiality Protection Result IE
- Current QoS Parameters Set Index
- Global RAN Node ID of Secondary NG-RAN Node
- QoS Flow per TNL Information
- QoS Flow Failed to Setup List
- PDU Session Resource Setup Unsuccessful Transfer
(12) PDUSessionResourceSetupRequest
The PDUSessionResourceSetupRequest is a message used within the 5G NGAP to establish PDU sessions, which are the connections that carry the user data between the UE and the network. This request is sent from the AMF to the gNodeB. This message is critical for setting up the PDU session, which includes configuring the transport layer for user plane data and establishing the QoS flows necessary for the UE to send and receive data within the specified service quality constraints. The PDUSessionResourceSetupRequest is a step in the process of connecting the UE to the data network, allowing it to access internet services and other data-centric applications.
Here is the breakdown of the PDUSessionResourceSetupRequest message:
id-AMF-UE-NGAP-ID (Item 0) : The unique identifier assigned to the UE by the AMF. In this instance, it is 102.id-RAN-UE-NGAP-ID (Item 1) : The unique identifier assigned to the UE by the RAN. The RAN uses this ID to manage the UE's context, and here it is 1.id-PDUSessionResourceSetupListSUReq (Item 2) : A list that details the PDU sessions to be set up. It includes:pDUSessionID : The identifier for the PDU session.pDUSessionNAS-PDU : The NAS message for the PDU session, which is security-protected (integrity protected and ciphered).s-NSSAI : Specifies the slice of the network that the PDU session will use.pDUSessionResourceSetupRequestTransfer : Encapsulates several IEs related to the PDU session as followsPDUSessionAggregateMaximumBitRate : The maximum bit rate for downlink and uplink.UL-NGU-UP-TNLInformation : Specifies the transport layer information for the uplink, including the IP address and GTP-TEID (GPRS Tunneling Protocol - Tunnel Endpoint Identifier).PDUSessionType : Indicates the type of PDU session (e.g., IPv4).QosFlowSetupRequestList : Contains the QoS flows to be established for the session, specifying QoS characteristics like the 5QI and ARP (Allocation and Retention Priority) levels.id-UEAggregateMaximumBitRate (Item 3) : Specifies the maximum bit rates for downlink and uplink for the UE as a whole.
Internet Protocol Version 4, Src: 10.0.0.162, Dst: 10.0.0.185
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x02 (DSCP: CS0, ECN: ECT(0))
0000 00.. = Differentiated Services Codepoint: Default (0)
.... ..10 = Explicit Congestion Notification: ECN-Capable Transport codepoint '10' (2)
Total Length: 292
Identification: 0xaddd (44509)
Flags: 0x40, Don't fragment
0... .... = Reserved bit: Not set
.1.. .... = Don't fragment: Set
..0. .... = More fragments: Not set
Fragment Offset: 0
Time to Live: 64
Protocol: SCTP (132)
Header Checksum: 0x761c [validation disabled]
[Header checksum status: Unverified]
Source Address: 10.0.0.162
Destination Address: 10.0.0.185
Stream Control Transmission Protocol, Src Port: 38412 (38412), Dst Port: 48041 (48041)
Source port: 38412
Destination port: 48041
Verification tag: 0x8d10a6cf
[Association index: 65535]
Checksum: 0xf21498ba [unverified]
[Checksum Status: Unverified]
SACK chunk (Cumulative TSN: 3757580135, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)
Chunk type: SACK (3)
0... .... = Bit: Stop processing of the packet
.0.. .... = Bit: Do not report
Chunk flags: 0x00
.... ...0 = Nounce sum: 0
Chunk length: 16
Cumulative TSN ACK: 3757580135
[Acknowledges TSN: 3757580135]
[Acknowledges TSN in frame: 910]
[The RTT since DATA was: 0.000140996 seconds]
Advertised receiver window credit (a_rwnd): 106496
Number of gap acknowledgement blocks: 0
Number of duplicated TSNs: 0
DATA chunk(ordered, complete segment, TSN: 4169966871, SID: 1, SSN: 3, PPID: 60,
payload length: 228 bytes)
Chunk type: DATA (0)
0... .... = Bit: Stop processing of the packet
.0.. .... = Bit: Do not report
Chunk flags: 0x03
.... 0... = I-Bit: Possibly delay SACK
.... .0.. = U-Bit: Ordered delivery
.... ..1. = B-Bit: First segment
.... ...1 = E-Bit: Last segment
Chunk length: 244
Transmission sequence number: 4169966871
[This chunk is acked in frame: 914]
[The RTT to SACK was: 0.035658957 seconds]
Stream identifier: 0x0001
Stream sequence number: 3
Payload protocol identifier: NGAP (60)
NGAP-PDU: initiatingMessage (0)
initiatingMessage
procedureCode: id-PDUSessionResourceSetup (29)
criticality: reject (0)
value
PDUSessionResourceSetupRequest
protocolIEs: 4 items
Item 0: id-AMF-UE-NGAP-ID
ProtocolIE-Field
id: id-AMF-UE-NGAP-ID (10)
criticality: reject (0)
value
AMF-UE-NGAP-ID: 102
Item 1: id-RAN-UE-NGAP-ID
ProtocolIE-Field
id: id-RAN-UE-NGAP-ID (85)
criticality: reject (0)
value
RAN-UE-NGAP-ID: 1
Item 2: id-PDUSessionResourceSetupListSUReq
ProtocolIE-Field
id: id-PDUSessionResourceSetupListSUReq (74)
criticality: reject (0)
value
PDUSessionResourceSetupListSUReq: 1 item
Item 0
PDUSessionResourceSetupItemSUReq
pDUSessionID: 1
pDUSessionNAS-PDU: 7e02ba31020b097e006801
Non-Access-Stratum 5GS (NAS)PDU
Security protected NAS 5GS message
Extended protocol discriminator:
5G mobility management messages (126)
0000 .... = Spare Half Octet: 0
.... 0010 = Security header type:
Integrity protected and ciphered (2)
Message authentication code: 0xba31020b
Sequence number: 9
Encrypted data
s-NSSAI
sST: 01
pDUSessionResourceSetupRequestTransfer: 0000040082
PDUSessionResourceSetupRequestTransfer
protocolIEs: 4 items
Item 0: id-PDUSessionAggregateMaximumBitRate
ProtocolIE-Field
id: id-PDUSessionAggregateMaximumBitRate
criticality: reject (0)
value
PDUSessionAggregateMaximumBitRate
pDUSessionAggregateMaximumBitRateDL:
3000000000bits/s
pDUSessionAggregateMaximumBitRateUL:
1000000000bits/s
Item 1: id-UL-NGU-UP-TNLInformation
ProtocolIE-Field
id: id-UL-NGU-UP-TNLInformation (139)
criticality: reject (0)
value
UPTransportLayerInformation: gTPTunnel(0)
gTPTunnel
transportLayerAddress:
0a0000a2]
TransportLayerAddress
(IPv4): 10.0.0.162
gTP-TEID: 4f485cc3
Item 2: id-PDUSessionType
ProtocolIE-Field
id: id-PDUSessionType (134)
criticality: reject (0)
value
PDUSessionType: ipv4 (0)
Item 3: id-QosFlowSetupRequestList
ProtocolIE-Field
id: id-QosFlowSetupRequestList (136)
criticality: reject (0)
value
QosFlowSetupRequestList: 1 item
Item 0
QosFlowSetupRequestItem
qosFlowIdentifier: 1
qosFlowLevelQosParameters
qosCharacteristics:
nonDynamic5QI (0)
nonDynamic5QI
fiveQI: 9
allocationAndRetentionPriority
priorityLevelARP: 15
pre-emptionCapability:
shall-not-trigger-
pre-emption
preemptionVulnerability:
not-pre-emptable (0)
e-RAB-ID: 5
Item 3: id-UEAggregateMaximumBitRate
ProtocolIE-Field
id: id-UEAggregateMaximumBitRate (110)
criticality: ignore (1)
value
UEAggregateMaximumBitRate
uEAggregateMaximumBitRateDL: 3000000000bits/s
uEAggregateMaximumBitRateUL: 1000000000bits/s
(13) PDUSessionResourceSetupResponse
The PDUSessionResourceSetupResponse is sent by the gNodeB to the AMF as a reply to the PDUSessionResourceSetupRequest, indicating that the requested PDU session resources have been successfully set up or that there was an issue with the setup. The successful outcome of this message signifies that the gNodeB has allocated the necessary resources for the PDU session and is now ready for data transfer related to this specific session. The transport layer information included in the response is critical for routing the data packets to and from the UE.
This message contains the following information elements (IEs):
id-AMF-UE-NGAP-ID (Item 0) : The unique identifier for the UE as known by the AMF, which in this case is 102. It is used to correlate the response with the correct UE context within the AMF.id-RAN-UE-NGAP-ID (Item 1) : The unique identifier for the UE as known by the RAN. This ID, 1 in this instance, is used by the gNodeB to track the UE's NGAP context.id-PDUSessionResourceSetupListSURes (Item 2) : A list indicating the results of the PDU session resource setup. It includes details for each PDU session that was part of the setup request:pDUSessionID : The identifier for the PDU session, which is 1 here.pDUSessionResourceSetupResponseTransfer : Contains the response for the PDU session resource setup.dLQosFlowPerTNLInformation : Information on the transport layer and associated QoS flows. For instance, it provides the gTPTunnel information, including the IP address (10.0.0.185 in this example) and GTP-TEID (a968d0db in this example), which is used for tunneling user plane data.associatedQosFlowList: : A list of QoS flows associated with the tunnel. Each QoS flow is identified by a qosFlowIdentifier.
Internet Protocol Version 4, Src: 10.0.0.185, Dst: 10.0.0.162
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x02 (DSCP: CS0, ECN: ECT(0))
0000 00.. = Differentiated Services Codepoint: Default (0)
.... ..10 = Explicit Congestion Notification: ECN-Capable Transport codepoint '10' (2)
Total Length: 104
Identification: 0x0011 (17)
Flags: 0x40, Don't fragment
0... .... = Reserved bit: Not set
.1.. .... = Don't fragment: Set
..0. .... = More fragments: Not set
Fragment Offset: 0
Time to Live: 64
Protocol: SCTP (132)
Header Checksum: 0x24a5 [validation disabled]
[Header checksum status: Unverified]
Source Address: 10.0.0.185
Destination Address: 10.0.0.162
Stream Control Transmission Protocol, Src Port: 48041 (48041), Dst Port: 38412 (38412)
Source port: 48041
Destination port: 38412
Verification tag: 0x790ad620
[Association index: 65535]
Checksum: 0x1ef6563e [unverified]
[Checksum Status: Unverified]
SACK chunk (Cumulative TSN: 4169966871, a_rwnd: 106496, gaps: 0, duplicate TSNs: 0)
Chunk type: SACK (3)
0... .... = Bit: Stop processing of the packet
.0.. .... = Bit: Do not report
Chunk flags: 0x00
.... ...0 = Nounce sum: 0
Chunk length: 16
Cumulative TSN ACK: 4169966871
[Acknowledges TSN: 4169966871]
[Acknowledges TSN in frame: 911]
[The RTT since DATA was: 0.035658957 seconds]
Advertised receiver window credit (a_rwnd): 106496
Number of gap acknowledgement blocks: 0
Number of duplicated TSNs: 0
DATA chunk(ordered, complete segment, TSN: 3757580136, SID: 1, SSN: 6, PPID: 60,
payload length: 40 bytes)
Chunk type: DATA (0)
0... .... = Bit: Stop processing of the packet
.0.. .... = Bit: Do not report
Chunk flags: 0x03
.... 0... = I-Bit: Possibly delay SACK
.... .0.. = U-Bit: Ordered delivery
.... ..1. = B-Bit: First segment
.... ...1 = E-Bit: Last segment
Chunk length: 56
Transmission sequence number: 3757580136
[This chunk is acked in frame: 931]
[The RTT to SACK was: 0.201436229 seconds]
Stream identifier: 0x0001
Stream sequence number: 6
Payload protocol identifier: NGAP (60)
NGAP-PDU: successfulOutcome (1)
successfulOutcome
procedureCode: id-PDUSessionResourceSetup (29)
criticality: reject (0)
value
PDUSessionResourceSetupResponse
protocolIEs: 3 items
Item 0: id-AMF-UE-NGAP-ID
ProtocolIE-Field
id: id-AMF-UE-NGAP-ID (10)
criticality: ignore (1)
value
AMF-UE-NGAP-ID: 102
Item 1: id-RAN-UE-NGAP-ID
ProtocolIE-Field
id: id-RAN-UE-NGAP-ID (85)
criticality: ignore (1)
value
RAN-UE-NGAP-ID: 1
Item 2: id-PDUSessionResourceSetupListSURes
ProtocolIE-Field
id: id-PDUSessionResourceSetupListSURes (75)
criticality: ignore (1)
value
PDUSessionResourceSetupListSURes: 1 item
Item 0
PDUSessionResourceSetupItemSURes
pDUSessionID: 1
pDUSessionResourceSetupResponseTransfer:
0003e00a0000b9a968d0db0001
PDUSessionResourceSetupResponseTransfer
dLQosFlowPerTNLInformation
uPTransportLayerInformation: gTPTunnel (0)
gTPTunnel
transportLayerAddress: 0a0000b9
TransportLayerAddress (IPv4):
10.0.0.185
gTP-TEID: a968d0db
associatedQosFlowList: 1 item
Item 0
AssociatedQosFlowItem
qosFlowIdentifier: 1
NGAP Messages/ASN
Here I am listing some of the NGAP messages that I personally come across most frequently. ASN structure is from 38.413 and Example messages are from Amarisoft Callbox log.
< NGSetupRequest>
NGSetupRequest ::= SEQUENCE {
protocolIEs ProtocolIE-Container { {NGSetupRequestIEs} },
...
}
NGSetupRequestIEs NGAP-PROTOCOL-IES ::= {
{ ID id-GlobalRANNodeID CRITICALITY reject TYPE GlobalRANNodeID PRESENCE mandatory }|
{ ID id-RANNodeName CRITICALITY ignore TYPE RANNodeName PRESENCE optional }|
{ ID id-SupportedTAList CRITICALITY reject TYPE SupportedTAList PRESENCE mandatory }|
{ ID id-DefaultPagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE mandatory }|
{ ID id-UERetentionInformation CRITICALITY ignore TYPE UERetentionInformation PRESENCE optional }|
{ ID id-NB-IoT-DefaultPagingDRX CRITICALITY ignore TYPE NB-IoT-DefaultPagingDRX PRESENCE optional }|
{ ID id-Extended-RANNodeName CRITICALITY ignore TYPE Extended-RANNodeName PRESENCE optional },
< Example 01 >
initiatingMessage: {
procedureCode id-NGSetup,
criticality reject,
value {
protocolIEs {
{
id id-GlobalRANNodeID,
criticality reject,
value globalGNB-ID: {
pLMNIdentity '00F110'H,
gNB-ID gNB-ID: '0012345'H
}
},
{
id id-RANNodeName,
criticality ignore,
value "gnb0012345"
},
{
id id-SupportedTAList,
criticality reject,
value {
{
tAC '000064'H,
broadcastPLMNList {
{
pLMNIdentity '00F110'H,
tAISliceSupportList {
{
s-NSSAI {
sST '01'H
}
}
}
}
}
}
}
},
{
id id-DefaultPagingDRX,
criticality ignore,
value v128
}
}
}
}
< NGSetupResponse>
NGSetupResponse ::= SEQUENCE {
protocolIEs ProtocolIE-Container { {NGSetupResponseIEs} },
...
}
NGSetupResponseIEs NGAP-PROTOCOL-IES ::= {
{ ID id-AMFName CRITICALITY reject TYPE AMFName PRESENCE mandatory }|
{ ID id-ServedGUAMIList CRITICALITY reject TYPE ServedGUAMIList PRESENCE mandatory }|
{ ID id-RelativeAMFCapacity CRITICALITY ignore TYPE RelativeAMFCapacity PRESENCE mandatory }|
{ ID id-PLMNSupportList CRITICALITY reject TYPE PLMNSupportList PRESENCE mandatory }|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
{ ID id-UERetentionInformation CRITICALITY ignore TYPE UERetentionInformation PRESENCE optional }|
{ ID id-IAB-Supported CRITICALITY ignore TYPE IAB-Supported PRESENCE optional }|
{ ID id-Extended-AMFName CRITICALITY ignore TYPE Extended-AMFName PRESENCE optional },
...
}
Message: 127.0.1.100:38412 NG setup response
Data:
successfulOutcome: {
procedureCode id-NGSetup,
criticality reject,
value {
protocolIEs {
{
id id-AMFName,
criticality reject,
value "amarisoft.amf.5gc.mnc001.mcc001.3gppnetwork.org"
},
{
id id-ServedGUAMIList,
criticality reject,
value {
{
gUAMI {
pLMNIdentity '00F110'H,
aMFRegionID '80'H,
aMFSetID '0000000100'B,
aMFPointer '000001'B
}
}
}
},
{
id id-RelativeAMFCapacity,
criticality ignore,
value 50
},
{
id id-PLMNSupportList,
criticality reject,
value {
{
pLMNIdentity '00F110'H,
sliceSupportList {
{
s-NSSAI {
sST '01'H
}
}
}
}
}
}
}
}
}
< UE Context Release >
InitiatingMessage ::= SEQUENCE {
procedureCode NGAP-ELEMENTARY-PROCEDURE.&procedureCode ({NGAP-ELEMENTARY-PROCEDURES}),
criticality NGAP-ELEMENTARY-PROCEDURE.&criticality ({NGAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
value NGAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({NGAP-ELEMENTARY-PROCEDURES}{@procedureCode})
}
uEContextRelease NGAP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE UEContextReleaseCommand
SUCCESSFUL OUTCOME UEContextReleaseComplete
PROCEDURE CODE id-UEContextRelease
CRITICALITY reject
}
UEContextReleaseCommand ::= SEQUENCE {
protocolIEs ProtocolIE-Container { {UEContextReleaseCommand-IEs} },
...
}
UEContextReleaseCommand-IEs NGAP-PROTOCOL-IES ::= {
{ ID id-UE-NGAP-IDs CRITICALITY reject TYPE UE-NGAP-IDs PRESENCE mandatory }|
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
...
}
UEContextReleaseComplete ::= SEQUENCE {
protocolIEs ProtocolIE-Container { {UEContextReleaseComplete-IEs} },
...
}
UEContextReleaseComplete-IEs NGAP-PROTOCOL-IES ::= {
{ ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
{ ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
{ ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional }|
{ ID id-InfoOnRecommendedCellsAndRANNodesForPaging CRITICALITY ignore
TYPE InfoOnRecommendedCellsAndRANNodesForPaging PRESENCE optional }|
{ ID id-PDUSessionResourceListCxtRelCpl CRITICALITY reject
TYPE PDUSessionResourceListCxtRelCpl PRESENCE optional }|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
{ ID id-PagingAssisDataforCEcapabUE CRITICALITY ignore TYPE PagingAssisDataforCEcapabUE PRESENCE optional },
...
}
Cause ::= CHOICE {
radioNetwork CauseRadioNetwork,
transport CauseTransport,
nas CauseNas,
protocol CauseProtocol,
misc CauseMisc,
choice-Extensions ProtocolIE-SingleContainer { {Cause-ExtIEs} }
}
CauseRadioNetwork ::= ENUMERATED {
unspecified,
txnrelocoverall-expiry,
successful-handover,
release-due-to-ngran-generated-reason,
release-due-to-5gc-generated-reason,
handover-cancelled,
partial-handover,
ho-failure-in-target-5GC-ngran-node-or-target-system,
ho-target-not-allowed,
tngrelocoverall-expiry,
tngrelocprep-expiry,
cell-not-available,
unknown-targetID,
no-radio-resources-available-in-target-cell,
unknown-local-UE-NGAP-ID,
inconsistent-remote-UE-NGAP-ID,
handover-desirable-for-radio-reason,
time-critical-handover,
resource-optimisation-handover,
reduce-load-in-serving-cell,
user-inactivity,
radio-connection-with-ue-lost,
radio-resources-not-available,
invalid-qos-combination,
failure-in-radio-interface-procedure,
interaction-with-other-procedure,
unknown-PDU-session-ID,
unkown-qos-flow-ID,
multiple-PDU-session-ID-instances,
multiple-qos-flow-ID-instances,
encryption-and-or-integrity-protection-algorithms-not-supported,
ng-intra-system-handover-triggered,
ng-inter-system-handover-triggered,
xn-handover-triggered,
not-supported-5QI-value,
ue-context-transfer,
ims-voice-eps-fallback-or-rat-fallback-triggered,
up-integrity-protection-not-possible,
up-confidentiality-protection-not-possible,
slice-not-supported,
ue-in-rrc-inactive-state-not-reachable,
redirection,
resources-not-available-for-the-slice,
ue-max-integrity-protected-data-rate-reason,
release-due-to-cn-detected-mobility,
...,
n26-interface-not-available,
release-due-to-pre-emption,
multiple-location-reporting-reference-ID-instances,
rsn-not-available-for-the-up,
npn-access-denied,
cag-only-access-denied,
insufficient-ue-capabilities,
redcap-ue-not-supported,
unknown-MBS-Session-ID,
indicated-MBS-session-area-information-not-served-by-the-gNB,
inconsistent-slice-info-for-the-session,
misaligned-association-for-multicast-unicast
}
CauseTransport ::= ENUMERATED {
transport-resource-unavailable,
unspecified,
...
}
CauseNas ::= ENUMERATED {
normal-release,
authentication-failure,
deregister,
unspecified,
...,
uE-not-in-PLMN-serving-area
}
CauseProtocol ::= ENUMERATED {
transfer-syntax-error,
abstract-syntax-error-reject,
abstract-syntax-error-ignore-and-notify,
message-not-compatible-with-receiver-state,
semantic-error,
abstract-syntax-error-falsely-constructed-message,
unspecified,
...
}
CauseMisc ::= ENUMERATED {
control-processing-overload,
not-enough-user-plane-processing-resources,
hardware-failure,
om-intervention,
unknown-PLMN-or-SNPN,
unspecified,
...
}
initiatingMessage: {
procedureCode id-UEContextRelease,
criticality reject,
value {
protocolIEs {
{
id id-UE-NGAP-IDs,
criticality reject,
value uE-NGAP-ID-pair: {
aMF-UE-NGAP-ID 100,
rAN-UE-NGAP-ID 1
}
},
{
id id-Cause,
criticality ignore,
value radioNetwork: user-inactivity
}
}
}
}
< InitialContextSetupRequest>
InitialContextSetupRequest ::= SEQUENCE {
protocolIEs ProtocolIE-Container { {InitialContextSetupRequestIEs} },
...
}
InitialContextSetupRequestIEs NGAP-PROTOCOL-IES ::= {
{ ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
{ ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
{ ID id-OldAMF CRITICALITY reject TYPE AMFName PRESENCE optional }|
{ ID id-UEAggregateMaximumBitRate CRITICALITY reject TYPE UEAggregateMaximumBitRate PRESENCE conditional }|
{ ID id-CoreNetworkAssistanceInformationForInactive CRITICALITY ignore
TYPE CoreNetworkAssistanceInformationForInactive PRESENCE optional }|
{ ID id-GUAMI CRITICALITY reject TYPE GUAMI PRESENCE mandatory }|
{ ID id-PDUSessionResourceSetupListCxtReq CRITICALITY reject TYPE PDUSessionResourceSetupListCxtReq PRESENCE optional }|
{ ID id-AllowedNSSAI CRITICALITY reject TYPE AllowedNSSAI PRESENCE mandatory }|
{ ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory }|
{ ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE mandatory }|
{ ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }|
{ ID id-MobilityRestrictionList CRITICALITY ignore TYPE MobilityRestrictionList PRESENCE optional }|
{ ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional }|
{ ID id-IndexToRFSP CRITICALITY ignore TYPE IndexToRFSP PRESENCE optional }|
{ ID id-MaskedIMEISV CRITICALITY ignore TYPE MaskedIMEISV PRESENCE optional }|
{ ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE optional }|
{ ID id-EmergencyFallbackIndicator CRITICALITY reject TYPE EmergencyFallbackIndicator PRESENCE optional }|
{ ID id-RRCInactiveTransitionReportRequest CRITICALITY ignore
TYPE RRCInactiveTransitionReportRequest PRESENCE optional }|
{ ID id-UERadioCapabilityForPaging CRITICALITY ignore TYPE UERadioCapabilityForPaging PRESENCE optional }|
{ ID id-RedirectionVoiceFallback CRITICALITY ignore TYPE RedirectionVoiceFallback PRESENCE optional }|
{ ID id-LocationReportingRequestType CRITICALITY ignore TYPE LocationReportingRequestType PRESENCE optional }|
{ ID id-CNAssistedRANTuning CRITICALITY ignore TYPE CNAssistedRANTuning PRESENCE optional }|
{ ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional }|
{ ID id-IAB-Authorized CRITICALITY ignore TYPE IAB-Authorized PRESENCE optional }|
{ ID id-Enhanced-CoverageRestriction CRITICALITY ignore TYPE Enhanced-CoverageRestriction PRESENCE optional }|
{ ID id-Extended-ConnectedTime CRITICALITY ignore TYPE Extended-ConnectedTime PRESENCE optional }|
{ ID id-UE-DifferentiationInfo CRITICALITY ignore TYPE UE-DifferentiationInfo PRESENCE optional }|
{ ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional }|
{ ID id-LTEV2XServicesAuthorized CRITICALITY ignore TYPE LTEV2XServicesAuthorized PRESENCE optional }|
{ ID id-NRUESidelinkAggregateMaximumBitrate CRITICALITY ignore
TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }|
{ ID id-LTEUESidelinkAggregateMaximumBitrate CRITICALITY ignore
TYPE LTEUESidelinkAggregateMaximumBitrate PRESENCE optional }|
{ ID id-PC5QoSParameters CRITICALITY ignore TYPE PC5QoSParameters PRESENCE optional }|
{ ID id-CEmodeBrestricted CRITICALITY ignore TYPE CEmodeBrestricted PRESENCE optional }|
{ ID id-UE-UP-CIoT-Support CRITICALITY ignore TYPE UE-UP-CIoT-Support PRESENCE optional }|
{ ID id-RGLevelWirelineAccessCharacteristics CRITICALITY ignore
TYPE RGLevelWirelineAccessCharacteristics PRESENCE optional }|
{ ID id-ManagementBasedMDTPLMNList CRITICALITY ignore TYPE MDTPLMNList PRESENCE optional }|
{ ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional }|
{ ID id-TimeSyncAssistanceInfo CRITICALITY ignore TYPE TimeSyncAssistanceInfo PRESENCE optional }|
{ ID id-QMCConfigInfo CRITICALITY ignore TYPE QMCConfigInfo PRESENCE optional }|
{ ID id-TargetNSSAIInformation CRITICALITY ignore TYPE TargetNSSAIInformation PRESENCE optional }|
{ ID id-UESliceMaximumBitRateList CRITICALITY ignore TYPE UESliceMaximumBitRateList PRESENCE optional }|
{ ID id-FiveG-ProSeAuthorized CRITICALITY ignore TYPE FiveG-ProSeAuthorized PRESENCE optional }|
{ ID id-FiveG-ProSeUEPC5AggregateMaximumBitRate CRITICALITY ignore
TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }|
{ ID id-FiveG-ProSePC5QoSParameters CRITICALITY ignore
TYPE FiveG-ProSePC5QoSParameters PRESENCE optional },
...
}
< InitialContextSetupResponse >
InitialContextSetupResponse ::= SEQUENCE {
protocolIEs ProtocolIE-Container { {InitialContextSetupResponseIEs} },
...
}
InitialContextSetupResponseIEs NGAP-PROTOCOL-IES ::= {
{ ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
{ ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
{ ID id-PDUSessionResourceSetupListCxtRes CRITICALITY ignore
TYPE PDUSessionResourceSetupListCxtRes PRESENCE optional }|
{ ID id-PDUSessionResourceFailedToSetupListCxtRes CRITICALITY ignore
TYPE PDUSessionResourceFailedToSetupListCxtRes PRESENCE optional }|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
...
}
PDUSessionResourceSetupListCxtRes ::= SEQUENCE (SIZE(1..maxnoofPDUSessions))
OF PDUSessionResourceSetupItemCxtRes
PDUSessionResourceSetupItemCxtRes ::= SEQUENCE {
pDUSessionID PDUSessionID,
pDUSessionResourceSetupResponseTransfer OCTET STRING
(CONTAINING PDUSessionResourceSetupResponseTransfer),
iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSetupItemCxtRes-ExtIEs} } OPTIONAL,
...
}
PDUSessionResourceSetupResponseTransfer ::= SEQUENCE {
dLQosFlowPerTNLInformation QosFlowPerTNLInformation,
additionalDLQosFlowPerTNLInformation QosFlowPerTNLInformationList OPTIONAL,
securityResult SecurityResult OPTIONAL,
qosFlowFailedToSetupList QosFlowListWithCause OPTIONAL,
iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSetupResponseTransfer-ExtIEs} } OPTIONAL,
...
}
PDUSessionResourceSetupResponseTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= {
{ ID id-RedundantDLQosFlowPerTNLInformation CRITICALITY ignore
EXTENSION QosFlowPerTNLInformation PRESENCE optional }|
{ ID id-AdditionalRedundantDLQosFlowPerTNLInformation CRITICALITY ignore
EXTENSION QosFlowPerTNLInformationList PRESENCE optional }|
{ ID id-UsedRSNInformation CRITICALITY ignore EXTENSION RedundantPDUSessionInformation PRESENCE optional }|
{ ID id-GlobalRANNodeID CRITICALITY ignore EXTENSION GlobalRANNodeID PRESENCE optional }|
{ ID id-MBS-SupportIndicator CRITICALITY ignore EXTENSION MBS-SupportIndicator PRESENCE optional }|
{ ID id-MBSSessionSetupResponseList CRITICALITY ignore
EXTENSION MBSSessionSetupResponseList PRESENCE optional }|
{ ID id-MBSSessionFailedtoSetupList CRITICALITY ignore
EXTENSION MBSSessionFailedtoSetupList PRESENCE optional },
...
}
< InitialUEMessage >
InitialUEMessage ::= SEQUENCE {
protocolIEs ProtocolIE-Container { {InitialUEMessage-IEs} },
...
}
InitialUEMessage-IEs NGAP-PROTOCOL-IES ::= {
{ ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
{ ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory }|
{ ID id-UserLocationInformation CRITICALITY reject TYPE UserLocationInformation PRESENCE mandatory }|
{ ID id-RRCEstablishmentCause CRITICALITY ignore TYPE RRCEstablishmentCause PRESENCE mandatory }|
{ ID id-FiveG-S-TMSI CRITICALITY reject TYPE FiveG-S-TMSI PRESENCE optional }|
{ ID id-AMFSetID CRITICALITY ignore TYPE AMFSetID PRESENCE optional }|
{ ID id-UEContextRequest CRITICALITY ignore TYPE UEContextRequest PRESENCE optional }|
{ ID id-AllowedNSSAI CRITICALITY reject TYPE AllowedNSSAI PRESENCE optional }|
{ ID id-SourceToTarget-AMFInformationReroute CRITICALITY ignore
TYPE SourceToTarget-AMFInformationReroute PRESENCE optional }|
{ ID id-SelectedPLMNIdentity CRITICALITY ignore TYPE PLMNIdentity PRESENCE optional }|
{ ID id-IABNodeIndication CRITICALITY reject TYPE IABNodeIndication PRESENCE optional }|
{ ID id-CEmodeBSupport-Indicator CRITICALITY reject TYPE CEmodeBSupport-Indicator PRESENCE optional }|
{ ID id-LTEM-Indication CRITICALITY ignore TYPE LTEM-Indication PRESENCE optional }|
{ ID id-EDT-Session CRITICALITY ignore TYPE EDT-Session PRESENCE optional }|
{ ID id-AuthenticatedIndication CRITICALITY ignore TYPE AuthenticatedIndication PRESENCE optional }|
{ ID id-NPN-AccessInformation CRITICALITY reject TYPE NPN-AccessInformation PRESENCE optional }|
{ ID id-RedCapIndication CRITICALITY ignore TYPE RedCapIndication PRESENCE optional },
...
}
< UEContextModificationRequest >
UEContextModificationRequest ::= SEQUENCE {
protocolIEs ProtocolIE-Container { {UEContextModificationRequestIEs} },
...
}
UEContextModificationRequestIEs NGAP-PROTOCOL-IES ::= {
{ ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
{ ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
{ ID id-RANPagingPriority CRITICALITY ignore TYPE RANPagingPriority PRESENCE optional }|
{ ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE optional }|
{ ID id-IndexToRFSP CRITICALITY ignore TYPE IndexToRFSP PRESENCE optional }|
{ ID id-UEAggregateMaximumBitRate CRITICALITY ignore TYPE UEAggregateMaximumBitRate PRESENCE optional }|
{ ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE optional }|
{ ID id-CoreNetworkAssistanceInformationForInactive CRITICALITY ignore TYPE
CoreNetworkAssistanceInformationForInactive PRESENCE optional }|
{ ID id-EmergencyFallbackIndicator CRITICALITY reject TYPE EmergencyFallbackIndicator PRESENCE optional }|
{ ID id-NewAMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE optional }|
{ ID id-RRCInactiveTransitionReportRequest CRITICALITY ignore TYPE RRCInactiveTransitionReportRequest
PRESENCE optional }|
{ ID id-NewGUAMI CRITICALITY reject TYPE GUAMI PRESENCE optional }|
{ ID id-CNAssistedRANTuning CRITICALITY ignore TYPE CNAssistedRANTuning PRESENCE optional }|
{ ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional }|
{ ID id-IAB-Authorized CRITICALITY ignore TYPE IAB-Authorized PRESENCE optional }|
{ ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional }|
{ ID id-LTEV2XServicesAuthorized CRITICALITY ignore TYPE LTEV2XServicesAuthorized PRESENCE optional }|
{ ID id-NRUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate
PRESENCE optional }|
{ ID id-LTEUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE LTEUESidelinkAggregateMaximumBitrate
PRESENCE optional }|
{ ID id-PC5QoSParameters CRITICALITY ignore TYPE PC5QoSParameters PRESENCE optional }|
{ ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional }|
{ ID id-RGLevelWirelineAccessCharacteristics CRITICALITY ignore TYPE RGLevelWirelineAccessCharacteristics
PRESENCE optional }|
{ ID id-TimeSyncAssistanceInfo CRITICALITY ignore TYPE TimeSyncAssistanceInfo PRESENCE optional }|
{ ID id-QMCConfigInfo CRITICALITY ignore TYPE QMCConfigInfo PRESENCE optional }|
{ ID id-QMCDeactivation CRITICALITY ignore TYPE QMCDeactivation PRESENCE optional }|
{ ID id-UESliceMaximumBitRateList CRITICALITY ignore TYPE UESliceMaximumBitRateList PRESENCE optional }|
{ ID id-ManagementBasedMDTPLMNModificationList CRITICALITY ignore TYPE MDTPLMNModificationList
PRESENCE optional }|
{ ID id-FiveG-ProSeAuthorized CRITICALITY ignore TYPE FiveG-ProSeAuthorized PRESENCE optional }|
{ ID id-FiveG-ProSeUEPC5AggregateMaximumBitRate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate
PRESENCE optional }|
{ ID id-FiveG-ProSePC5QoSParameters CRITICALITY ignore TYPE FiveG-ProSePC5QoSParameters PRESENCE optional},
< UEContextModificationResponse >
UEContextModificationResponse ::= SEQUENCE {
protocolIEs ProtocolIE-Container { {UEContextModificationResponseIEs} },
...
}
UEContextModificationResponseIEs NGAP-PROTOCOL-IES ::= {
{ ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }|
{ ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }|
{ ID id-RRCState CRITICALITY ignore TYPE RRCState PRESENCE optional }|
{ ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional }|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
...
}