NG Setup Procedure — What the gNB and AMF Exchange When Establishing N2¶
Learning objectives¶
After reading this chapter, you will be able to:
- Explain that NG Setup is a procedure between the gNB and the AMF (non-UE-associated), not a per-UE procedure
- Explain the bring-up of N2 in layers: IP → SCTP → NG Setup → UE-associated NGAP
- Explain the meaning of the main IEs of NG Setup Request / Response / Failure (Global RAN Node ID, Supported TA List, Served GUAMI List, Relative AMF Capacity, Cause, Time to Wait)
- Isolate, layer by layer, the case "SCTP is ESTABLISHED but Registration does not reach the AMF"
Prerequisites¶
- GUAMI / AMF Region / Set / Pointer — the contents of the Served GUAMI List
- N2 — basics of NGAP over SCTP
- Supplementary: NGAP Dictionary / Network Slicing (S-NSSAI) / Registration (UE signaling that flows after NG Setup)
The focus of this chapter (Level ∞ Deep Dive)
The N2 page introduces NG Setup in one line as "the handshake that establishes N2." This chapter digs into what is exchanged in the handshake, what the AMF checks and what a failure looks like, at the IE level and from a trace-analysis perspective.
Why — why is a "handshake" needed before any UE?¶
Just connecting a cable and IP between the gNB and the AMF does not tell either of them anything about the other.
- Unless the AMF knows "which PLMN and which Tracking Areas this gNB serves," it cannot decide where to send Paging.
- Unless the gNB knows "which GUAMIs this AMF serves and how much capacity it has," it cannot decide which AMF to send a UE to (previous chapter).
So, before any UE signaling flows, the gNB and the AMF need a procedure to introduce themselves and exchange capabilities. That is NG Setup (TS 38.413 Clause 8.7.1).
Analogy: NG Setup is "the activation procedure between a new branch (gNB) and the head office (AMF)." The branch says, "I am branch XX, and I cover this area and these services," and the head office replies, "I am counter YY at head office; these are my numbers, and this is roughly my capacity." Until activation is complete, customers' (UEs') paperwork cannot be processed.
What — where NG Setup fits¶
A non-UE-associated, Class 1 procedure¶
NGAP procedures are divided into UE-associated procedures, tied to a specific UE, and non-UE-associated procedures, which concern the nodes as a whole. NG Setup is the latter. It is also a Class 1 procedure, in which a request gets a response (success/failure) (TS 38.413 Clause 8.1).
| Category | Examples |
|---|---|
| non-UE-associated | NG Setup, RAN Configuration Update, AMF Configuration Update, NG Reset, AMF Status Indication |
| UE-associated | Initial UE Message, Initial Context Setup, PDU Session Resource Setup, UE Context Release |
N2 comes up in four layers¶
flowchart TD
L1["① IP reachability
(routing / VRF / FW)"] --> L2["② SCTP Association
INIT → INIT ACK → COOKIE ECHO → COOKIE ACK"]
L2 --> L3["③ NG Setup
NGAP non-UE-associated"]
L3 --> L4["④ UE-associated NGAP
Initial UE Message, etc."]
L4 --> L5["⑤ NAS procedures
Registration / Authentication / Security"]
| Layer | Specified in | Sign of success |
|---|---|---|
| ① IP | — | Both N2 addresses are reachable |
| ② SCTP | RFC 9260 (formerly RFC 4960); usage on N2 per TS 38.412 Clause 7 | Association is ESTABLISHED |
| ③ NG Setup | TS 38.413 Clause 8.7.1 | NG Setup Response received |
| ④ UE-associated NGAP | TS 38.413 Clause 8.6.1 (Initial UE Message) | Initial UE Message reaches the AMF |
SCTP ESTABLISHED does not mean N2 is usable
SCTP is only the carrier. Only when NG Setup succeeds on top of it can UE signaling flow. TS 38.413 Clause 8.7.1.1 specifies NG Setup as the first NGAP procedure triggered after the TNL association (SCTP) has become operational (sub-clause to be confirmed).
SCTP provisions for N2 (TS 38.412 Clause 7)¶
| Item | Content |
|---|---|
| Who establishes SCTP | The NG-RAN node (gNB) initiates establishment |
| Destination port | 38412 |
| Payload Protocol Identifier | The value for NGAP (60) |
| Streams | One pair of streams is reserved for non-UE-associated procedures. At least one pair is also reserved for UE-associated procedures |
| Multiple SCTP associations | Multiple TNL associations are possible between the gNB and the AMF (the AMF can instruct additions/removals with AMF Configuration Update, TS 38.413 Clause 8.7.3) |
How — the information exchanged¶
Call Flow¶
sequenceDiagram
participant gNB
participant AMF
gNB->>AMF: SCTP INIT
AMF-->>gNB: SCTP INIT ACK
gNB->>AMF: SCTP COOKIE ECHO
AMF-->>gNB: SCTP COOKIE ACK
Note over gNB,AMF: SCTP Association ESTABLISHED (N2 not yet established)
gNB->>AMF: NG Setup Request
(Global RAN Node ID, RAN Node Name, Supported TA List, Default Paging DRX)
AMF->>AMF: checks PLMN etc. against its own configuration
alt success
AMF-->>gNB: NG Setup Response
(AMF Name, Served GUAMI List, Relative AMF Capacity, PLMN Support List)
Note over gNB,AMF: N2 Ready → UE-associated NGAP can flow
else failure
AMF-->>gNB: NG Setup Failure
(Cause, Time to Wait)
Note over gNB: if Time to Wait is present, wait at least that long before retrying
end
NG Setup Request — gNB → AMF (TS 38.413 Clause 9.2.6.1)¶
The gNB tells the AMF "who I am and what I serve."
| IE | Mandatory/optional | Meaning |
|---|---|---|
| Global RAN Node ID | Mandatory | Identifier of the gNB (PLMN + gNB ID). ng-eNB / N3IWF etc. are also distinguished here |
| RAN Node Name | Optional | Human-readable name. Handy for trace analysis |
| Supported TA List | Mandatory | The TAs served, and the PLMNs and S-NSSAIs per TA |
| Default Paging DRX | Mandatory | Paging cycle used when no UE-specific value is given |
| UE Retention Information | Optional | Used to agree on whether to re-exchange configuration while retaining UE contexts |
This is an excerpt of the main IEs and not exhaustive (optional IEs are added depending on the Release).
Global RAN Node ID¶
Global RAN Node ID (CHOICE)
├─ Global gNB ID
│ ├─ PLMN Identity
│ └─ gNB ID ← 22–32 bits (length chosen by the operator)
├─ Global ng-eNB ID
└─ Global N3IWF ID (TNGF / TWIF / W-AGF etc. added depending on the Release)
The operator chooses the gNB ID length in the range 22–32 bits, and it forms the upper part of the NR Cell Identity (36 bits) (TS 38.413 Clause 9.3.1.6, TS 38.300 Clause 8.2; both clause numbers to be confirmed). It is the most important IE for identifying "which gNB this NG Setup came from" in a trace.
Supported TA List — the most important IE in this chapter¶
Supported TA List
└─ Supported TA Item (per TA)
├─ TAC
└─ Broadcast PLMN List
└─ Broadcast PLMN Item (per PLMN)
├─ PLMN Identity
└─ TAI Slice Support List
├─ S-NSSAI #1 (SST, SD)
└─ S-NSSAI #2
The gNB declares to the AMF: "In this TA, I can provide these S-NSSAIs of this PLMN."
Why is it a "List"? A Tracking Area is a unit that groups multiple cells and is the building block of the Registration Area (TAI List) (TS 23.501 Clause 5.3.2.3). The TAC is broadcast per cell (strictly, per PLMN-IdentityInfo within SIB1) in SIB1 (TS 38.331 Clause 6.2.2 / Clause 6.3.2, to be confirmed). Because the cells of a single gNB may belong to different TAs, the gNB enumerates and declares each TA its cells belong to.
gNB-1
├─ Cell A ─┐
├─ Cell B ─┴─ TAC 0x000001 ─┐
└─ Cell C ─── TAC 0x000002 ─┴─► Supported TA List
├─ Supported TA Item (TAC 0x000001)
└─ Supported TA Item (TAC 0x000002)
If this declaration and the TAC broadcast in each cell's SIB1 disagree, the TAs known to the AMF and the TA the UE sees in its serving cell diverge (for the impact on Paging and the Registration Area, see Tracking Area / TAI / Registration Area). The relationship between TAs and cells is covered in detail there as well.
| Term | Meaning | Specified in |
|---|---|---|
| TAC (Tracking Area Code) | Code identifying a Tracking Area. 24 bits in 5GS | TS 23.003 Clause 28.6 (5GS, to be confirmed) / EPS: Clause 19.4.2.3 |
| TAI (Tracking Area Identity) | PLMN ID + TAC | TS 23.003 Clause 28.6 (5GS, to be confirmed) / EPS: Clause 19.4.2.3 |
| S-NSSAI | Network slice identifier. SST (8 bits, mandatory) + SD (24 bits, optional) | TS 23.003 Clause 28.4.2, TS 23.501 Clause 5.15.2.1 |
A Tracking Area is the unit that makes up a UE's Registration Area (TAI List). From this list the AMF learns "which gNB serves which TA," and sends Paging for a UE in CM-IDLE to the gNBs serving the TAs included in that UE's Registration Area (TS 38.413 Clause 8.5 / TS 23.502 Clause 4.2.3.3, to be confirmed).
What does the AMF check?¶
The rejection condition that is explicitly specified is when the AMF cannot identify any of the PLMNs (including SNPNs from Rel-16 onward) indicated by the gNB (TS 38.413 Clause 8.7.1.4, to be confirmed). Anything else falls under the generic rule "if the AMF cannot accept the setup, it responds with NG Setup Failure" (Clause 8.7.1.3) and depends on the AMF implementation.
flowchart TD
R["NG Setup Request received"] --> P{"Can the AMF handle any of
the indicated PLMNs?"}
P -- "No" --> F["NG Setup Failure
(Cause: Unknown PLMN /
Unknown PLMN or SNPN)"]
P -- "Yes" --> O{"Are TAC / S-NSSAI etc.
consistent with the AMF configuration?"}
O -- "decision depends on AMF implementation/configuration" --> S["NG Setup Response
or Failure"]
Handling of TAC and slice mismatches is implementation dependent
Whether the AMF rejects NG Setup or accepts it and deals with the issue in later procedures when "the TAC is not in the AMF's service area" or "the S-NSSAIs don't match" is not uniformly specified; it is AMF implementation/configuration dependent. Check the actual behavior in product documentation and traces.
NG Setup Response — AMF → gNB (TS 38.413 Clause 9.2.6.2)¶
| IE | Mandatory/optional | Meaning |
|---|---|---|
| AMF Name | Mandatory | Name of the AMF |
| Served GUAMI List | Mandatory | GUAMIs served by this AMF (optionally with a Backup AMF Name). See the previous chapter |
| Relative AMF Capacity | Mandatory | Capacity relative to other AMFs (0–255) |
| PLMN Support List | Mandatory | PLMNs handled by the AMF and the Slice Support List (S-NSSAIs) per PLMN |
| Criticality Diagnostics | Optional | Diagnostic information when there was a problem with IEs in the received message |
| UE Retention Information | Optional | Agreement on UE context retention (pairs with the Request side) |
This is an excerpt of the main IEs and not exhaustive (optional IEs are added depending on the Release).
Relative AMF Capacity — not CPU utilization¶
Relative AMF Capacity is the weight (weight factor) NG-RAN uses when selecting an AMF (TS 23.501 Clause 5.19.3; clause number to be confirmed). New UEs are distributed to the AMFs with probabilities proportional to this value.
AMF-1: Relative AMF Capacity = 255
AMF-2: Relative AMF Capacity = 128
→ new UEs are distributed roughly 2:1 (details of the distribution are gNB implementation dependent)
- It is not a real-time value of CPU utilization or load. It is a relative value set by the operator according to the AMFs' capacity. It can be changed later with AMF Configuration Update (TS 38.413 Clause 8.7.3).
- It does not affect existing UEs, because UEs with a 5G-GUTI / 5G-S-TMSI are returned to their previous AMF by the GUAMI.
Treatment of Relative AMF Capacity = 0
An operational practice of setting the value to 0 during maintenance to "stop attracting new UEs" is sometimes mentioned. However, how far the specification requires NG-RAN to exclude such an AMF from selection is to be confirmed, and the actual behavior is gNB implementation dependent. Also, setting it to 0 does not immediately move existing UEs to another AMF. To move existing UEs, combine it with AMF Status Indication (Unavailable GUAMI) and load re-balancing mechanisms (see the previous chapter).
NG Setup Failure — AMF → gNB (TS 38.413 Clause 9.2.6.3)¶
| IE | Mandatory/optional | Meaning |
|---|---|---|
| Cause | Mandatory | Reason for failure (TS 38.413 Clause 9.3.1.2; categories Radio Network / Transport / NAS / Protocol / Miscellaneous) |
| Time to Wait | Optional | Minimum time the gNB should wait before retrying |
| Criticality Diagnostics | Optional | Per-IE diagnostic information |
If Time to Wait is included, the gNB must not resend NG Setup to the same AMF until that time has elapsed (TS 38.413 Clause 8.7.1.3). This prevents many gNBs from retrying at once and overwhelming the AMF, for example right after an AMF restart.
Redoing NG Setup can erase UE contexts
NG Setup replaces the existing application-level configuration in both nodes with what is received. In addition, if the NG-RAN node and the AMF do not agree on retaining UE contexts (via the UE Retention Information IE), it erases the existing NGAP UE-related contexts and the related signaling connections, as an NG Reset would (TS 38.413 Clause 8.7.1.1, sub-clause to be confirmed). Be aware that if NG Setup is redone during operation, the N2 contexts of the UEs under that gNB may be lost. The AMF overload state held by the NG-RAN node is also cleared (same clause).
Configuration changes after NG Setup¶
The information exchanged in NG Setup can be updated without re-establishing N2.
| Procedure | Direction | Purpose | Specified in |
|---|---|---|---|
| RAN Configuration Update | gNB → AMF | Changes to the Supported TA List, etc. | TS 38.413 Clause 8.7.2 |
| AMF Configuration Update | AMF → gNB | Changes to the Served GUAMI List / Relative AMF Capacity / PLMN Support List / TNL associations | TS 38.413 Clause 8.7.3 |
| AMF Status Indication | AMF → gNB | Notification of unavailable GUAMIs | TS 38.413 Clause 8.7.6 |
| NG Reset | Both directions | Reset all or part of the UE-associated connections | TS 38.413 Clause 8.7.4 |
From NG Setup to UE Registration¶
sequenceDiagram
participant UE
participant gNB
participant AMF
Note over gNB,AMF: Step 1: SCTP Association
Note over gNB,AMF: Step 2: NG Setup Request / Response
UE->>gNB: RRC connection + Registration Request (NAS)
gNB->>AMF: Initial UE Message (NAS-PDU)
Note over AMF: Step 3: per-UE procedures begin
(Authentication / Security / Registration Accept)
Before the Initial UE Message, which is the first thing to appear in Registration, SCTP → NG Setup is always already done. The Served GUAMI List and Relative AMF Capacity that the gNB uses to select the AMF for a UE are also information received in this NG Setup.
Packet Analysis (Wireshark)¶
Display filters¶
| Filter | Purpose |
|---|---|
sctp |
All SCTP |
sctp.port == 38412 |
Narrow to SCTP on N2 |
sctp.chunk_type in {1 2 10 11} |
4-way handshake (INIT / INIT ACK / COOKIE ECHO / COOKIE ACK; chunk type values per RFC 9260) |
sctp.chunk_type == 6 |
ABORT (abnormal termination of the association) |
sctp.data_payload_proto_id == 60 |
DATA chunks carrying NGAP (PPID=60; field name to be confirmed for your Wireshark version) |
ngap |
All NGAP |
The numeric NGAP procedureCode values may be displayed differently depending on the dissector and version, so this page does not assert them. Checking message names (NGSetupRequest, etc.) in the GUI's protocol hierarchy is the reliable approach.
Decode example (conceptual)¶
The following is a conceptual representation of the display structure; the values are a fictitious example with the test PLMN (001-01) (not an actual capture).
NGAP NGSetupRequest
├─ GlobalRANNodeID
│ └─ globalGNB-ID
│ ├─ pLMNIdentity: 001-01
│ └─ gNB-ID: 0x000001 (22 bits)
├─ RANNodeName: gnb-lab-01
├─ SupportedTAList
│ └─ SupportedTAItem
│ ├─ tAC: 0x000001
│ └─ broadcastPLMNList
│ └─ BroadcastPLMNItem
│ ├─ pLMNIdentity: 001-01
│ └─ tAISliceSupportList
│ └─ s-NSSAI: sST=1, sD=0x010203
└─ DefaultPagingDRX: v128
Order of checks¶
flowchart LR
A["① IP
ping / routes"] --> B["② SCTP
4-way handshake
any ABORT/SHUTDOWN?"]
B --> C["③ NG Setup
Request → Response / Failure"]
C --> D["④ UE-associated NGAP
Initial UE Message"]
When "SCTP is ESTABLISHED but no Registration Request reaches the AMF," check ③ whether NG Setup succeeded before suspecting the UE.
Build a comparison table¶
When analyzing an NG Setup Failure, it is efficient to put the values sent by the gNB side by side with the AMF configuration.
| Item | gNB (NG Setup Request) | AMF configuration | Verdict |
|---|---|---|---|
| PLMN | 001-01 | 001-01 | OK |
| TAC | 0x000001 | 0x000002 | To be confirmed |
| S-NSSAI | SST=1, SD=0x010203 | SST=1 (no SD) | To be confirmed (whether SD presence matches) |
Trouble Shooting¶
| Symptom | Likely cause | Check point | Logs | Packets | Resolution |
|---|---|---|---|---|---|
| No response to SCTP INIT | IP reachability / FW / port 38412 blocked | Routes, ACLs, AMF SCTP listener | gNB/AMF SCTP logs | sctp |
Fix routing / FW settings |
| SCTP is established but no NG Setup Request is sent | gNB-side NGAP configuration incomplete | gNB AMF-connection settings | gNB logs | ngap |
Review gNB configuration |
| NG Setup Failure (Unknown PLMN family; Unknown PLMN or SNPN from Rel-16, to be confirmed) | PLMN mismatch | PLMN in the Request vs. AMF PLMN configuration | AMF logs | ngap (Cause) |
Align PLMN configuration |
| NG Setup Failure (other causes) | TAC or slice mismatch, IE errors, etc. (which ones are rejected is implementation dependent) | The comparison table above, Criticality Diagnostics | AMF logs | ngap |
Check configuration and software versions (to be verified) |
| UEs don't reach the AMF even after NG Setup succeeds | gNB AMF selection (Relative AMF Capacity=0, etc.), distribution to another AMF | Values in NG Setup Response / AMF Configuration Update | gNB logs | ngap |
Check capacity values and GUAMI configuration |
| NG Setup repeats and UEs are disconnected | SCTP re-establishment loop (without UE Retention agreement, UE contexts are erased at every NG Setup) | Any SCTP ABORT / HEARTBEAT failures | SCTP logs on both sides | sctp.chunk_type == 6 |
Check the transport path and multihoming configuration |
| Retry does not come immediately | Waiting due to Time to Wait | Time to Wait in the Failure | gNB logs | ngap |
Behaving as specified. Resolve the cause on the AMF side |
Narrow down from the Cause category¶
When you see an NG Setup Failure, first look at the Cause category to separate "a configuration mismatch / the AMF's state / a problem with the message itself." The list of Cause values is in TS 38.413 Clause 9.3.1.2 (see also the Cause Dictionary).
| Cause category | Representative values (TS 38.413 Clause 9.3.1.2) | Suspect first | Look at next |
|---|---|---|---|
| Miscellaneous | Unknown PLMN (Unknown PLMN or SNPN from Rel-16) | PLMN configuration mismatch (the rejection case explicitly specified) | The PLMN row of the comparison table above |
| Miscellaneous | Control processing overload / O&M intervention / Hardware failure / Unspecified | The AMF's state (overload, maintenance, failure); not necessarily a configuration mismatch | Presence of Time to Wait, AMF state and logs |
| Protocol | Abstract syntax error (reject) / Semantic error / Message not compatible with receiver state | Missing mandatory or unexpected IEs, logically contradictory IE contents, the combination of gNB and AMF Releases / software versions | Criticality Diagnostics (which IE is at fault; IE defined in TS 38.413 Clause 9.3.1.3, to be confirmed). Error-handling rules are in TS 38.413 Clause 10 |
| Transport | Transport resource unavailable / Unspecified | A transport resource problem | SCTP and transport path state |
Some errors do not produce an NG Setup Failure
If the message cannot be decoded as ASN.1 (Transfer Syntax Error), the receiver reports it with Error Indication (TS 38.413 Clause 8.7.5) rather than NG Setup Failure (TS 38.413 Clause 10.2, to be confirmed). IEs falling under Abstract syntax error (ignore and notify) may be reported via Criticality Diagnostics together with the Response, without stopping the procedure (TS 38.413 Clause 10.3, to be confirmed). When an NG Setup Request seems to get no answer, also look for ErrorIndication with ngap.
Which Cause is returned for TAC or slice mismatches is implementation dependent
The reason for NG Setup Failure that the specification states explicitly is the case where the PLMN (SNPN) cannot be identified (TS 38.413 Clause 8.7.1.4, to be confirmed). Which Cause value an implementation that rejects on TAC or slice mismatch uses (e.g., Unspecified in the Miscellaneous category) is AMF implementation dependent. Do not conclude the root cause from the Cause value alone; combine it with the comparison table and AMF logs.
Do not confuse the SCTP association with the NG connection¶
IP-A ────────── IP-C
/ \
gNB ===== SCTP Association ====== AMF ← one association can have multiple IP paths (multihoming)
\ /
IP-B ────────── IP-D
- SCTP multihoming lets one association have multiple IP paths; if one path goes down, the association is maintained (RFC 9260).
- Multiple TNL associations means having multiple SCTP associations themselves between the gNB and the AMF (TS 38.412 Clause 7, TS 38.413 Clause 8.7.3).
- Both are a different layer from the NGAP NG connection (the relationship established by NG Setup). In troubleshooting, separate the layers: "IP → SCTP → NGAP (NG Setup)."
Boundary between 3GPP specifications and vendor implementations¶
| Defined by 3GPP | Decided by vendors / operations |
|---|---|
| NG Setup Request / Response / Failure and their IEs | CLIs such as show ngap peer / show n2 status |
| How SCTP is used (port 38412, PPID, gNB initiates establishment) | N2 VIPs, Keepalived, LBs, N2 VRF configuration |
| Rejection on PLMN mismatch; meaning of Time to Wait | Whether to reject on TAC or slice mismatch |
| Meaning of Relative AMF Capacity (a relative weight) | How capacity values are chosen; the gNB's concrete selection algorithm |
| UE context erasure at NG Setup and the retention condition via UE Retention Information | Redundancy of the pods/containers handling SCTP |
When NG Setup fails, separate the question into a 3GPP signaling problem / a transport or SCTP problem / a vendor implementation problem.
Comparison with EPC (4G)¶
| Item | 4G EPC (S1 Setup) | 5GC (NG Setup) |
|---|---|---|
| Procedure | S1 Setup (TS 36.413 Clause 8.7.3) | NG Setup (TS 38.413 Clause 8.7.1) |
| Interface / port | S1-MME / SCTP 36412 | N2 / SCTP 38412 |
| RAN-side identifier | Global eNB ID | Global RAN Node ID (gNB / ng-eNB / N3IWF, etc.) |
| Served area | Supported TAs (TAC + Broadcast PLMNs) | Supported TA List (TAC + PLMN + S-NSSAI) |
| Core-side identifier | Served GUMMEIs | Served GUAMI List |
| Capacity value | Relative MME Capacity | Relative AMF Capacity |
| Slice information | None | TAI Slice Support List / PLMN Support List |
| On failure | S1 Setup Failure (Cause, Time to wait) | NG Setup Failure (Cause, Time to Wait) |
The skeleton is almost the same as S1 Setup; the big differences in 5G are the addition of slice (S-NSSAI) information and non-3GPP access nodes (N3IWF, etc.).
3GPP Specification¶
| Spec | Clause | Content |
|---|---|---|
| TS 38.413 | Clause 8.1 | Classification of NGAP procedures (Class 1 / Class 2) |
| TS 38.413 | Clause 8.7.1 | NG Setup (Clause 8.7.1.1 General / Clause 8.7.1.2 Successful operation / Clause 8.7.1.3 Unsuccessful operation / Clause 8.7.1.4 Abnormal conditions; sub-clauses to be confirmed) |
| TS 38.413 | Clause 8.7.2 / Clause 8.7.3 / Clause 8.7.4 / Clause 8.7.6 | RAN Configuration Update / AMF Configuration Update / NG Reset / AMF Status Indication |
| TS 38.413 | Clause 9.2.6.1 / Clause 9.2.6.2 / Clause 9.2.6.3 | Message definitions of NG Setup Request / Response / Failure |
| TS 38.413 | Clause 9.3.1.2 | Cause |
| TS 38.413 | Clause 9.3.1.3 | Criticality Diagnostics IE (to be confirmed) |
| TS 38.413 | Clause 10 | Handling of unknown, unforeseen and erroneous protocol data (Protocol causes, when Error Indication is used instead; sub-clauses to be confirmed) |
| TS 38.413 / TS 23.502 | Clause 8.5 / Clause 4.2.3.3 | Paging (where the Supported TA List is used; to be confirmed) |
| TS 38.412 | Clause 7 | SCTP on N2 (port, PPID, streams, TNL associations) |
| TS 23.003 | Clause 28.6 / Clause 19.4.2.3 / Clause 28.4.2 | 5GS TAI / TAC (Clause 28.6 to be confirmed) / EPS TAI (for comparison) / Formats of S-NSSAI (including to be confirmed) |
| TS 23.501 | Clause 5.3.2.3 | Registration Area management (allocation of a TAI List built from TAs) |
| TS 38.331 | Clause 6.2.2 / Clause 6.3.2 | SIB1 / PLMN-IdentityInfo (trackingAreaCode; to be confirmed) |
| TS 23.501 | Clause 5.15.2.1 / Clause 5.19.3 | S-NSSAI / AMF Load Balancing (weight factor; including to be confirmed) |
| TS 36.413 | Clause 8.7.3 | S1 Setup (for the EPC comparison) |
| RFC 9260 | — | SCTP (obsoletes RFC 4960) |
Summary¶
- NG Setup is a non-UE-associated procedure between the gNB and the AMF, and the first NGAP procedure performed after SCTP is established
- N2 comes up as IP → SCTP → NG Setup → UE-associated NGAP. "SCTP ESTABLISHED," "NG Setup succeeded" and "Registration succeeded" are separate stages
- The gNB introduces itself with the Global RAN Node ID / Supported TA List (TAC, PLMN, S-NSSAI)
- The AMF returns the Served GUAMI List / Relative AMF Capacity / PLMN Support List, which the gNB uses for AMF selection
- The rejection condition explicitly specified is a PLMN mismatch. Handling of TAC and slice mismatches is implementation dependent
- On failure, look at the Cause (use its category to separate "configuration mismatch / AMF state / message encoding") and Time to Wait. Redoing NG Setup erases UE contexts unless UE Retention has been agreed
Comprehension check¶
Q1. The SCTP association between the gNB and the AMF is ESTABLISHED, but there is a serious mismatch between the PLMN/TAC in the NG Setup Request and the AMF's service-area configuration. Which statement is most appropriate? A. Because SCTP is ESTABLISHED, NG Setup always succeeds / B. The AMF always returns an NG Setup Response and first detects the mismatch at Registration / C. Even if the transport layer is fine, NG Setup at the NGAP layer can fail / D. PLMN/TAC are checked by the SMF and UPF over PFCP, so NG Setup is not affected
Answer: C. SCTP is only the carrier; configuration consistency is checked in NGAP on top of it. If none of the PLMNs match, the AMF returns NG Setup Failure (TS 38.413 Clause 8.7.1). Whether a TAC mismatch leads to rejection is AMF implementation dependent, but "always succeeds" (A) and "always returns a Response" (B) are wrong. PFCP (D) is the N4 (SMF⇔UPF) protocol and unrelated to NG Setup.
Q2. You changed Relative AMF Capacity from 255 to 0. What happens to already registered UEs?
They do not immediately move to another AMF. Relative AMF Capacity mainly affects new UEs, for which the gNB selects an AMF without an existing identifier. UEs with a 5G-GUTI / 5G-S-TMSI are returned to their previous AMF by the GUAMI. To move existing UEs, combine it with AMF Status Indication (Unavailable GUAMI) and load re-balancing mechanisms. Also, the treatment of 0 is gNB implementation dependent.
Q3. An NG Setup Failure contained Time to Wait. How should the gNB behave, and what is the purpose?
It does not resend NG Setup to the same AMF until the time indicated by Time to Wait has elapsed (TS 38.413 Clause 8.7.1.3). The purpose is to prevent many gNBs from retrying at once and overwhelming the AMF, for example right after an AMF restart.
Q4. NG Setup was redone between a gNB and an AMF during operation. What is the impact on the UEs under that gNB?
Unless the gNB and the AMF have agreed on retaining UE contexts via UE Retention Information, NG Setup erases the existing NGAP UE-related contexts and the related signaling connections, as an NG Reset would (TS 38.413 Clause 8.7.1.1, sub-clause to be confirmed). In that case, the UEs' N2 contexts are lost and the UEs have to re-establish their signaling connections. If there is an SCTP re-establishment loop, this repeats.
Q5. The Cause of an NG Setup Failure was in the Protocol category (e.g., Abstract syntax error (reject) / Semantic error). Before reviewing the PLMN and TAC configuration, what do you suspect?
Suspect a problem with the message itself rather than a mismatch of configuration values such as PLMN or TAC: missing mandatory or unexpected IEs, logically contradictory IE contents, or incompatibility arising from the combination of gNB and AMF Releases / software versions. Which IE was at fault may be indicated in Criticality Diagnostics, so check it (Cause values in TS 38.413 Clause 9.3.1.2; error-handling rules in Clause 10). Note that a message that cannot be decoded as ASN.1 is reported with Error Indication rather than NG Setup Failure (TS 38.413 Clause 10.2, to be confirmed), so also expect cases where no Failure arrives. A PLMN mismatch normally uses the Miscellaneous cause Unknown PLMN (Unknown PLMN or SNPN from Rel-16), so just looking at the category changes the direction of the investigation.
Next Step¶
- The contents of the GUAMI received in the NG Setup Response → GUAMI / AMF Region / Set / Pointer
- UE signaling that flows after NG Setup → Registration / SUPI / SUCI / 5G-GUTI
- Mechanisms where the TAC in the Supported TA List matters → Tracking Area / TAI / Registration Area / Paging / Mobility Registration Update
- S-NSSAI and slice selection → Network Slicing
- The whole picture of the N2 interface → N2 / NGAP Dictionary