Tracking Area / TAI / Registration Area — How the 5GC Keeps Track of Where a UE Is¶
Learning objectives¶
After reading this chapter, you will be able to:
- Explain the difference between TAC and TAI (TAI = PLMN ID + TAC) at the format level
- Explain through which path the UE and the AMF each learn the TA (SIB1 / NG Setup / User Location Information)
- Explain what a Registration Area (TAI List) is, and why moving within the Registration Area does not necessarily require a Mobility Registration Update
- Distinguish the 5GS registration type (Initial / Mobility / Periodic, etc.) and infer from a trace "why this Registration arrived"
- Explain that the size of the Registration Area is a trade-off between Registration Update frequency and Paging load
- Distinguish the UE-side Forbidden TA lists from the network-side Forbidden Area (Mobility Restriction), and isolate TAI List / T3512 / TAC configuration mismatches from a trace
Prerequisites¶
- NG Setup Procedure — the gNB declares its TAs to the AMF in the Supported TA List
- Registration — basics of Registration Request / Accept
- Supplementary: Paging / Mobility Registration Update / Periodic Registration Update / RRC Resume
The focus of this chapter (Level ∞ Deep Dive)
In the previous chapter, the TAC appeared in the Supported TA List of the NG Setup Request. This chapter digs into how that TAC is used for UE location management (Registration Area / Paging / Registration Update), from the IE and trace-analysis perspective.
TA information appears as different IEs at each stage, from bringing up N2 to registering the UE.
Why — why not track location per cell?¶
If the AMF tried to always know a UE's location per cell, the UE would have to report to the network every time it moved to another cell. For an idle (CM-IDLE) UE, that wastes battery and radio resources.
Conversely, if the AMF knew nothing about a UE's location, it would have to page across the whole network for every incoming call or downlink data, and the Paging load would be enormous.
So 5GS manages the location of CM-IDLE UEs in coarse units: a Tracking Area (TA), which groups multiple cells, and a Registration Area, which further groups multiple TAs (TS 23.501 Clause 5.3.2.3).
Analogy: A Registration Area is "the delivery district you tell the courier about." The UE only says "I am somewhere in this district" and does not call in every time it moves within the district. When a parcel (incoming call) arrives, the courier calls out across the district (Paging). Only when the UE leaves the district does it register a new district (Mobility Registration Update).
What — TA / TAC / TAI / Registration Area¶
Tracking Area¶
A Tracking Area is a set of cells used to manage the location of CM-IDLE UEs. As a baseline, a cell belongs to one TA (per PLMN) (the NTN exception is covered later).
Tracking Area (TAC = 0x000064)
┌──────────────────────────────────────┐
│ Cell A Cell B Cell C │
│ Cell D Cell E Cell F │
└──────────────────────────────────────┘
TAC and TAI — not the same thing¶
| Term | Composition | Length | Reference |
|---|---|---|---|
| TAC (Tracking Area Code) | Code identifying a TA within a PLMN | 24 bits in 5GS (16 bits in EPS) | TS 23.003 Clause 28.6 (5GS, to be confirmed) / EPS: Clause 19.4.2.3. On NGAP: TS 38.413 Clause 9.3.3.10 (3 octets, to be confirmed) |
| TAI (Tracking Area Identity) | MCC + MNC + TAC | — | TS 23.003 Clause 28.6 (5GS, to be confirmed) / EPS: Clause 19.4.2.3 |
A TAC alone is not unique across PLMNs. What uniquely identifies a TA, including across networks and in roaming, is the TAI. If a trace only says "TAC=100," always check which PLMN's TAC 100 it is.
How the UE learns the TA — SIB1¶
The UE learns the PLMN and TAC of a cell from PLMN-IdentityInfo (the list of PLMN IDs and the trackingAreaCode) in SIB1 broadcast by the gNB (TS 38.331 Clause 6.2.2 / Clause 6.3.2, to be confirmed).
The UE compares the TAI of its serving cell with the TAI List it holds, to decide whether it is inside its Registration Area.
How the AMF learns the TA — two paths¶
| Path | What it tells | Reference |
|---|---|---|
| Supported TA List in NG Setup Request / RAN Configuration Update | Which gNB serves which TA (static, per-node information) | TS 38.413 Clause 8.7.1 / Clause 8.7.2 |
| User Location Information in Initial UE Message / Uplink NAS Transport, etc. | Which cell (NR CGI) and which TAI the UE is in right now (dynamic, per-UE information) | TS 38.413 Clause 9.2.5.1 / Clause 9.2.5.3 / Clause 9.3.1.16 (to be confirmed) |
User Location Information (CHOICE) … TS 38.413 Clause 9.3.1.16 (to be confirmed)
├─ User Location Information E-UTRA (under an ng-eNB)
├─ User Location Information NR (under a gNB)
│ ├─ NR CGI (M) PLMN + NR Cell Identity 36 bits
│ ├─ TAI (M) PLMN + TAC
│ └─ Age of Location (Time Stamp) etc. (O)
└─ User Location Information N3IWF (non-3GPP access; IP address and port)
- User Location Information is a CHOICE type whose contents differ per access type. For NR, NR CGI and TAI are both mandatory; everything else (Age of Location indicating how fresh the location is, PSCell Information / NID from Rel-16 onward, etc.) is optional. From Rel-16 onward, alternatives for TNGF / TWIF / W-AGF have also been added (the presence of each IE and the Release in which it was added are to be confirmed in TS 38.413 Clause 9.3.1.16).
- In the Initial UE Message, User Location Information is a mandatory IE (TS 38.413 Clause 9.2.5.1, to be confirmed). In other words, by the time the AMF receives the UE's first NAS message, it already knows the TAI the UE is in. UE-associated messages such as Uplink NAS Transport also deliver the latest value each time.
- If the AMF wants to keep track of cell / TA changes during CM-CONNECTED, it can send Location Reporting Control to the NG-RAN and have it report via Location Report (TS 23.502 Clause 4.10 / TS 38.413 Clause 8.12, sub-clauses to be confirmed). The kinds of reporting events (report immediately, on change of serving cell, etc.) are specified by the NGAP Location Reporting Request Type (TS 38.413 Clause 9.3.1.65, to be confirmed). In which situations reporting is requested depends on requests from other NFs (SMF / PCF, etc.) and on AMF implementation / operation (TS 23.502 Clause 4.10).
Cross-check three values
In trace analysis, the basic approach is to line up and compare "what the RAN says it serves (Supported TA List)" → "where the UE actually came from (User Location Information)" → "what the AMF allowed (TAI List / Cause)."
Registration Area and TAI List¶
The AMF allocates to the UE a Registration Area made up of one or more TAs, and notifies the UE of that set of TAIs over NAS as the TAI List (TS 23.501 Clause 5.3.2.3).
Registration Area (allocated to UE-1)
┌────────┐ ┌────────┐ ┌────────┐
│ TA 100 │ │ TA 101 │ │ TA 102 │
└────────┘ └────────┘ └────────┘
↓ notified over NAS
TAI List = { 440-11/100, 440-11/101, 440-11/102 }
- A Registration Area is allocated per UE. Two UEs in the same cell may hold different TAI Lists. When allocating, the AMF may take into account the UE's Mobility Pattern, Allowed / Non-Allowed Area, etc. (TS 23.501 Clause 5.3.2.3). How it uses them is AMF implementation / operation dependent.
- For non-3GPP access, the Registration Area is a single reserved N3GPP TAI (TS 23.501 Clause 5.3.2.3, to be confirmed).
Representation on NAS — the 5GS tracking area identity list IE¶
The TAI List is carried in the 5GS tracking area identity list IE included in Registration Accept, etc. (TS 24.501 Clause 8.2.7 / Clause 9.11.3.9). Internally, the IE is a sequence of "partial tracking area identity lists," and the Type of list field (bits 7–6) in the first octet of each partial list determines the format of what follows (TS 24.501 Clause 9.11.3.9).
| Type of list | Content | Octet layout of the partial list | Use |
|---|---|---|---|
| 00 | One PLMN + a list of non-consecutive TACs | first octet 1 + PLMN 3 + TAC 3 × N | Allocating scattered TACs |
| 01 | One PLMN + first TAC (N consecutive TACs) | first octet 1 + PLMN 3 + TAC 3 | Compactly expressing a run of TACs (TAC1, TAC1+1, …, TAC1+N−1) |
| 10 | A list of TAIs that may belong to different PLMNs | first octet 1 + (PLMN 3 + TAC 3) × N | A Registration Area spanning multiple PLMNs |
First octet of a partial list
bit: 8 7 6 5 4 3 2 1
┌─────┬──────────┬─────────────────────┐
│spare│Type of │ Number of elements │
│ │list │ (coded as N−1) │
└─────┴──────────┴─────────────────────┘
- Number of elements is coded as "number of elements − 1" (00000 = 1 element … 01111 = 16 elements). Whether Wireshark displays the coded value or the element count depends on the version, so compare against the raw bits (including handling of out-of-range values, to be confirmed in TS 24.501 Clause 9.11.3.9).
- Multiple partial lists can be placed in one IE (e.g. a run of TACs in PLMN A + a single TAI in PLMN B). However, the IE as a whole can contain at most 16 TAIs (TS 24.501 Clause 9.11.3.9). The IE length is a minimum of 9 octets and a maximum of 114 octets (TS 24.501 Clause 9.11.3.9, to be confirmed).
- Because the TAC is 3 octets in 5GS (2 octets in EPS), the byte string is not identical to the EPS TAI list IE (TS 24.301 Clause 9.9.3.33).
- The handling of Type of list values other than the above, including 11, and Release-dependent differences such as those related to SNPN (Rel-16 onward) are to be confirmed.
The UE may include the Last visited registered TAI (TS 24.501 Clause 8.2.6 / Clause 9.11.3.8) in the Registration Request, from which the AMF can learn "the TA in which the UE was last registered." Note, however, that this IE is not a cleartext IE, so when a valid NAS security context exists it is carried encrypted inside the NAS message container (TS 24.501 Clause 4.4.6, to be confirmed).
How — how location management works¶
Location granularity per CM state¶
| UE state | Location known to the AMF | Reference |
|---|---|---|
| CM-IDLE | Somewhere in the Registration Area (TAI List) (presence can only be guaranteed at this granularity; the last reported TAI / cell may be kept as reference information) | TS 23.501 Clause 5.3.3 / Clause 5.4.1 (sub-clauses to be confirmed) |
| CM-CONNECTED (RRC_CONNECTED) | The serving NG-RAN node. Cell and TAI are known from User Location Information etc. on N2 | TS 23.501 Clause 5.3.3 / Clause 5.4.2 (sub-clauses to be confirmed) |
| CM-CONNECTED with RRC_INACTIVE | CM-CONNECTED from the AMF's point of view. The UE's detailed location is managed by the NG-RAN at RAN Notification Area granularity | TS 23.501 Clause 5.3.3.2.5 (to be confirmed) |
For RRC_INACTIVE details, see RRC Resume / Small Data.
Downlink to a CM-IDLE UE — Paging within the Registration Area¶
A CM-IDLE UE has no N2/N3 connection, so downlink data cannot be delivered as is. The AMF sends Paging to the gNBs serving the TAs included in the UE's Registration Area (TS 23.502 Clause 4.2.3.3).
sequenceDiagram
participant DN as Internet
participant UPF
participant SMF
participant AMF
participant gNB
participant UE
DN->>UPF: Downlink Data
UPF->>SMF: Data Notification (N4)
SMF->>AMF: Namf_Communication_N1N2MessageTransfer
Note over AMF: UE is CM-IDLE → select gNBs serving TAs in the Registration Area
AMF->>gNB: NGAP Paging (TAI List for Paging)
gNB->>UE: RRC Paging
UE->>AMF: Service Request (NAS)
Note over UE,AMF: CM-CONNECTED → re-establish the User Plane
- NGAP Paging carries the TAI List for Paging (mandatory IE), and the gNB pages over the radio in its own cells belonging to those TAs (TS 38.413 Clause 8.5.1 / Clause 9.2.4.1, to be confirmed).
- The AMF can decide "which gNBs to send Paging to" because it remembers the gNB⇔TA mapping from the Supported TA List in NG Setup (previous chapter).
- Paging strategies such as "page the last known cell / TA first and widen the area if there is no response" depend on operator configuration and AMF implementation (TS 23.501 Clause 5.4.3, to be confirmed).
For details, see Paging / Service Request. The CM-IDLE → CM-CONNECTED transition and the Service Request IEs are covered in depth in the next chapter (CM-IDLE / CM-CONNECTED and Service Request).
Leaving the Registration Area — Mobility Registration Updating¶
When the UE detects that it has entered a TA not included in its TAI List, it sends a Registration Request with Registration type = mobility registration updating (TS 24.501 Clause 5.5.1.3.2).
TAI List = {100, 101, 102}
TA100 → TA101 → TA102 → TA200
(in) (in) (in) (out) ← Mobility Registration Update here
\"The TA changed\" does not mean \"a Registration Update is always needed\"
Merely changing TA within the Registration Area (TA100 → TA101 in the example above) does not, by the TA boundary crossing alone, trigger a Mobility Registration Update. On the other hand, Mobility Registration Update also has triggers other than moving outside the TAI List (change of UE capabilities, change of requested NSSAI, etc.) (TS 24.501 Clause 5.5.1.3.2). Do not assume that a Registration Update seen in a trace was caused only by TA movement.
For the full procedure, see Mobility Registration Update.
Even within the same Registration Area — Periodic Registration Updating¶
Even while staying within its Registration Area, the UE sends a Registration Request with Registration type = periodic registration updating when T3512 (the periodic registration update timer) expires (TS 24.501 Clause 5.3.7 / Clause 5.5.1.3.2).
Registration Accept (may convey a T3512 value)
↓ NAS signalling connection released (5GMM-CONNECTED → 5GMM-IDLE) → T3512 starts
↓ expires while still in 5GMM-IDLE
Periodic Registration Update
(if the UE enters 5GMM-CONNECTED in between, T3512 stops and restarts from its initial value the next time the UE returns to IDLE)
| Timer | Runs at | Meaning | Reference |
|---|---|---|---|
| T3512 | UE | Runs in 5GMM-IDLE; on expiry, Periodic Registration Update. The AMF can convey the value in the T3512 value IE of Registration Accept. The default value is specified in TS 24.501 Clause 10.2 Table 10.2.1 (this book does not assert the value; to be confirmed) | TS 24.501 Clause 5.3.7 / Clause 10.2 Table 10.2.1 |
| Mobile reachable timer | AMF | Starts when the UE enters 5GMM-IDLE (≈ CM-IDLE), i.e. when the NAS signalling connection is released. By default 4 minutes longer than T3512. On expiry the UE is considered unreachable and the Implicit De-registration timer starts | TS 24.501 Clause 5.3.7 / Clause 10.2 Table 10.2.2, TS 23.501 Clause 5.4.1.1 (to be confirmed) |
- The start / stop conditions of T3512 are in TS 24.501 Clause 5.3.7. The key point is that it only ticks while in 5GMM-IDLE: a UE that stays in CM-CONNECTED (including RRC_INACTIVE) for a long time does not send Periodic Registration Updates during that time (details of the handling during RRC_INACTIVE are to be confirmed).
- The T3512 value IE uses the GPRS timer 3 format (TS 24.501 Clause 9.11.2.5 → TS 24.008 Clause 10.5.7.4a, to be confirmed) and is expressed as "unit + value". One of the unit values indicates deactivated (timer disabled), in which case the UE does not perform Periodic Registration Update (TS 24.501 Clause 5.3.7, to be confirmed).
- UE behavior when the AMF does not include a T3512 value, and the handling of T3512 in MICO mode etc., are to be confirmed in TS 24.501 Clause 5.3.7 / Clause 5.3.6 (MICO mode). The value used in operation (how many minutes) is operator configuration / AMF implementation dependent.
- On the AMF side, if no Periodic Registration Update arrives and the Mobile reachable timer → Implicit De-registration timer expire, the AMF implicitly deregisters the UE (TS 24.501 Clause 5.3.7, to be confirmed).
Periodic Registration Update is a liveness check that tells the AMF "the UE is still in coverage and its registration is alive." For details, see Periodic Registration Update.
5GS registration type — the first IE to check in a trace¶
When you see a Registration Request, first check the 5GS registration type (TS 24.501 Clause 9.11.3.7).
| Value | Registration type | Typical trigger |
|---|---|---|
| 1 | initial registration | Power on, re-registration after deregistration |
| 2 | mobility registration updating | Moving outside the TAI List, change of capabilities / NSSAI, etc. |
| 3 | periodic registration updating | T3512 expiry |
| 4 | emergency registration | Registration for an emergency call |
From Rel-17 onward, values such as SNPN onboarding registration have been added (to be confirmed). The same IE also contains the Follow-on request pending (FOR) bit, indicating whether the UE wants to keep the NAS signalling connection after registration.
"A Registration Request arrived" is not enough information. Whether it is Initial, Mobility or Periodic completely changes which causes you should suspect.
Forbidden Tracking Areas and Mobility Restrictions¶
The UE keeps lists of TAs it should not use (TS 24.501 Clause 5.3.13).
| UE-side list | Main trigger (5GMM cause) | Outline of UE behavior on receipt | Reference |
|---|---|---|---|
| 5GS forbidden tracking areas for regional provision of service | #12 Tracking area not allowed | Adds the current TAI to the list and enters limited service; looks for a cell in another, allowed TA even within the same PLMN | TS 24.501 Clause 5.3.13 / Clause 9.11.3.2 / Annex A (details of the behavior to be confirmed) |
| 5GS forbidden tracking areas for roaming | #13 Roaming not allowed in this tracking area | Adds the current TAI to the list and performs PLMN selection again | Same as above (to be confirmed) |
| Same as above (roaming) | #15 No suitable cells in tracking area | Adds the current TAI to the list and looks for a suitable cell in another TA of the same PLMN (or an equivalent PLMN) | Same as above (to be confirmed) |
For the exact per-cause UE behavior (5GMM state, counters, conditions for adding to a list, etc.), see the per-cause descriptions in TS 24.501 Clause 5.5.1.2.5 (Initial) / Clause 5.5.1.3.5 (Mobility / Periodic) (to be confirmed).
The Forbidden TA lists have an operationally important property: once an entry is added, it stays for a while (TS 24.501 Clause 5.3.13; removal on receipt of a TAI List: Clause 5.5.1.2.4 / Clause 5.5.1.3.4; all to be confirmed).
- The lists are erased when the UE is switched off, when the USIM is removed, and periodically (in the range of 12 to 24 hours)
- A TAI is removed from the lists when it is received in the TAI List of a Registration Accept
- Therefore, if a network-side misconfiguration returns #12 / #13 / #15, UEs that have already added the TAI to their list may not attempt normal registration in that TA for a while, even after the configuration is fixed
On the network side, Mobility Restrictions based on subscription (RAT Restriction, Forbidden Area, Service Area Restriction (Allowed Area / Non-Allowed Area), etc.) are applied. Of these, Forbidden Area and Service Area Restriction are expressed per TA (TS 23.501 Clause 5.3.4.1). For UE-side handling of Service Area Restriction, see TS 24.501 Clause 5.3.5 (to be confirmed).
| Similar-sounding item | Owner | Source | Effect |
|---|---|---|---|
| 5GS forbidden tracking areas (UE-side lists) | UE | 5GMM cause #12 / #13 / #15 in Registration Reject, etc. | The UE stops attempting normal registration in that TA (TS 24.501 Clause 5.3.13) |
| Forbidden Area (a kind of Mobility Restriction) | AMF (derived from subscription data) | Subscription data in the UDM / local AMF configuration | The AMF restricts registration and services. In CM-CONNECTED it is also passed to the NG-RAN as the Mobility Restriction List and used for handover target selection (TS 23.501 Clause 5.3.4.1 / TS 38.413 Clause 9.3.1.85, the latter to be confirmed) |
When you see the word "Forbidden" in a trace, first distinguish whether it refers to the UE-side lists or the network-side Mobility Restriction.
Registration Area design trade-off¶
The size of the Registration Area itself is a design parameter whose value 3GPP does not fix (how it is allocated is AMF implementation / operation dependent; however, the upper limit on the number of TAIs in a TAI List is fixed by the IE format).
flowchart LR
S["Small Registration Area
(few TAIs)"] --> S1["Mobility Registration Update ↑
(more UE battery use / NAS signaling)"]
S --> S2["Paging area ↓
(fewer gNBs paged per incoming call)"]
L["Large Registration Area
(many TAIs)"] --> L1["Mobility Registration Update ↓"]
L --> L2["Paging area ↑
(more radio / N2 Paging load)"]
| Aspect | Small Registration Area | Large Registration Area |
|---|---|---|
| Mobility Registration Update | Many | Few |
| Paging area / load | Small | Large |
| Typical fit (general) | UEs with many incoming calls and little movement | Fast-moving UEs, UEs with few incoming calls |
Where to place TA boundaries (e.g. avoiding many boundaries along highways and railways) and tailoring TAI Lists per UE are also areas of operator design and implementation.
Packet Analysis (Wireshark)¶
Display Filter¶
| Filter | Use |
|---|---|
ngap |
All NGAP (NG Setup / Initial UE Message / Paging, etc.) |
nas-5gs |
All 5G NAS (Registration Request / Accept / Reject, etc.) |
ngap && nas-5gs |
Only NAS carried in NGAP |
Individual field names (e.g. registration type, TAC) differ between Wireshark versions, so this page does not assert them (to be confirmed). The reliable way is to right-click a field in the packet details and choose "Apply as Filter." Note that encrypted NAS cannot be read unless it can be deciphered.
What to look at¶
① NG Setup Request
└─ Supported TA List ← TAs served by the gNB (TAC + PLMN + S-NSSAI)
② Initial UE Message
└─ User Location Information
└─ NR CGI / TAI ← where the UE actually is
③ Registration Request (NAS)
├─ 5GS registration type ← Initial / Mobility / Periodic (cleartext IE)
└─ Last visited registered TAI (optional, non-cleartext IE; may need deciphering)
④ Registration Accept / Reject (NAS)
├─ 5GS tracking area identity list ← Registration Area allocated by the AMF
├─ T3512 value (optional)
└─ 5GMM cause (for Reject)
Decode example (conceptual)¶
The following is a conceptual representation of the display structure; values are fictitious examples using the test PLMN (001-01) (not an actual capture). It assumes a NAS-deciphered display. The 5GS registration type is a cleartext IE, but the Last visited registered TAI is a non-cleartext IE. When a valid NAS security context exists, it is carried encrypted inside the NAS message container and cannot be seen without deciphering. When there is no valid context, the initial Registration Request contains only cleartext IEs, and the complete message is sent in the NAS message container of Security Mode Complete after NAS security is established (TS 24.501 Clause 4.4.6, to be confirmed). In an actual display, the complete Registration request appears nested inside the NAS message container.
NGAP InitialUEMessage
├─ RAN-UE-NGAP-ID: 1
├─ NAS-PDU
│ └─ Registration request
│ ├─ 5GS registration type: mobility registration updating (2)
│ └─ NAS message container (deciphered)
│ └─ Registration request (complete)
│ └─ Last visited registered TAI: 001-01, TAC 0x000064
└─ UserLocationInformation
└─ userLocationInformationNR
├─ nR-CGI: 001-01, NR Cell Identity 0x000000010
└─ tAI: 001-01, TAC 0x0000c8
NAS Registration accept
└─ 5GS tracking area identity list
└─ Partial TAI list: type = 01 (consecutive)
├─ PLMN: 001-01
├─ TAC: 0x0000c8
└─ Number of elements: 3 → TAC 200, 201, 202 (coded value in the bits is N−1 = 2)
Build a comparison table¶
For TA-related problems, lining up the values from four places makes the faulty spot easier to see.
| Where | PLMN | TAC | Where to look |
|---|---|---|---|
| RAN broadcast (SIB1) | 440-11 | 1131 | RAN configuration / radio logs |
| NG Setup Request (Supported TA List) | 440-11 | 1131 | N2 trace |
| Initial UE Message (User Location Information) | 440-11 | 1131 | N2 trace |
| AMF configuration (Service Area / TA settings) | 440-11 | 1132 | AMF config |
In this example, the RAN side is consistently TAC 1131 while the AMF is configured with TAC 1132. Whether this is rejected at NG Setup, or accepted and then causes problems in Registration or Paging, is AMF implementation / configuration dependent (see the previous chapter).
Pitfalls when building the comparison table:
- Decimal vs hexadecimal confusion: whether TACs are written in decimal or hexadecimal in configuration screens and CLIs is product dependent. If TAC "1131" is decimal it is 0x00046B; if it is hexadecimal 0x1131 it is 4401 in decimal — a different TA. Normalize to the value in the trace (24 bits) before comparing.
- Number of MNC digits: "440-11" with a 2-digit MNC and "440-011" with a 3-digit MNC are different PLMNs (TS 23.003 Clause 2.2 / Clause 12.1, to be confirmed). Check which notation the configuration or log uses.
- The Last visited registered TAI in the Registration Request is not "where the UE is now": it is the TA in which the UE was last registered, and in a Mobility Registration Update it normally differs from the new TA. Check "the TAI the UE is in now" in the NGAP User Location Information (the Last visited registered TAI is a non-cleartext IE, so it may need deciphering).
Trouble Shooting¶
| Symptom | Likely cause | Check point | Log | Packet | Resolution |
|---|---|---|---|---|---|
| Abnormally many Mobility Registration Updates (bouncing between two specific TAs) | Registration Area too small; TA boundaries coincide with flows of people (roads / railways) or radio coverage edges, so UEs go back and forth between two TAs near the boundary (ping-pong) | For Registration Requests with registration type = mobility registration updating, line up the TAI in User Location Information with the TAI List allocated just before. Is it a move outside the TAI List, or another trigger? | AMF statistics per TA / per registration type (item names are implementation dependent) | ngap && nas-5gs (registration type and the TAI in ULI) |
Put the two TAs straddling the boundary in the same TAI List, or move the TA boundary (both operation / AMF implementation dependent) |
| Another Mobility Registration Update arrives right after a Mobility Registration Update | The TAI List in Registration Accept does not include the TAI the UE is in now (flawed TAI List generation settings in the AMF) | Expand the 5GS tracking area identity list in Registration Accept and check whether it contains the TAI from the ULI of the Initial UE Message of the same procedure | AMF logs (TAI List generation) | nas-5gs (TAI List) / ngap (ULI) |
Fix the TAI List settings so the current TAI is included (details of the UE re-initiation conditions: TS 24.501 Clause 5.5.1.3.2, to be confirmed) |
| High Paging load / low Paging success rate | Registration Area too large; Paging strategy settings (how the area is widened, number of retransmissions) | Number of TAIs in the TAI List for Paging of NGAP Paging, number of gNBs paged per incoming call, time from Paging to Service Request | AMF / gNB Paging statistics | ngap (Paging) / nas-5gs (Service Request) |
Shrink the Registration Area, tune staged Paging (implementation dependent) |
| Incoming calls do not reach CM-IDLE UEs (only under specific gNBs) | The gNB⇔TA mapping held by the AMF is stale or wrong. The gNB's TA configuration was changed but no RAN Configuration Update was sent / it was not reflected in the AMF | The Supported TA List in the latest NG Setup / RAN Configuration Update, the UE's TAI List, and the gNBs Paging was sent to | AMF logs (Supported TAs per gNB) | ngap (NG Setup / RAN Configuration Update / Paging) |
Align the RAN / AMF TA configuration and redo RAN Configuration Update or NG Setup |
| Registration fails only in a specific area | Mismatch between the TAC in the RAN broadcast and the TAC in the AMF configuration, including decimal / hexadecimal confusion and 2- / 3-digit MNC confusion | The comparison table above (SIB1 / Supported TA List / ULI / AMF configuration). Compare after normalizing values to 24 bits and the same radix | AMF / gNB logs | ngap / nas-5gs |
Align the RAN / AMF TAC / PLMN configuration |
| Registration Reject (5GMM cause #12 / #13 / #15) | The TA is not allowed by subscription / roaming agreement (Forbidden Area, etc.), TA configuration mismatch | 5GMM cause in the Reject, subscription data in the UDM (Mobility Restriction), local AMF configuration | AMF logs | nas-5gs (5GMM cause) |
Check subscription data and TA configuration (cause meanings are in TS 24.501 Annex A; which cause results from given subscription data / settings is operation / implementation dependent) |
| Configuration was fixed, but some UEs still do not register in a specific TA | UEs that received #12 / #13 / #15 before the fix still hold the TAI in their forbidden tracking area lists | Whether those UEs received a Reject before the fix (past traces); whether behavior changes after power-cycling the UE | AMF logs (past Rejects) | nas-5gs (past Rejects) |
Clear the list by power-cycling the UE, etc. Erasure conditions of the lists: TS 24.501 Clause 5.3.13 (to be confirmed) |
| Periodic Registration Updates arrive at unexpected intervals / do not arrive | The T3512 value conveyed by the AMF differs from what is expected, the T3512 value is deactivated, or the UE stays in CM-CONNECTED (including RRC_INACTIVE) for a long time so T3512 is not running | T3512 value in Registration Accept (unit and value), timestamps of the UE's CM state transitions | AMF logs | nas-5gs (Registration Accept / registration type) |
Make the T3512 value in Registration Accept match the AMF's T3512 setting (the operational value is implementation / operation dependent) |
| The UE becomes unreachable for incoming calls / is implicitly deregistered | No Periodic Registration Update arrived, and the AMF's Mobile reachable timer → Implicit De-registration timer expired | Time of the last Registration / Service Request and the T3512 value, the AMF's Mobile reachable timer setting | AMF logs (UE unreachable, implicit deregistration) | nas-5gs |
Check the relationship between T3512 and the network-side timers (TS 24.501 Clause 5.3.7, to be confirmed) and isolate coverage / UE-side problems |
Tracking Areas in NTN (satellite access)¶
In satellite access (NR NTN, Rel-17 onward), cells may move over the ground as satellites move, making Tracking Area handling more complex than in terrestrial networks. For example, there are extensions such as a single cell possibly broadcasting multiple TACs per PLMN (TS 38.300 Clause 16.14, TS 23.501 Clause 5.4.11, sub-clauses to be confirmed). This chapter does not go into detail; just keep in mind that "the terrestrial assumption (one cell = one TA) does not apply as is."
Boundary between 3GPP specifications and vendor implementation¶
| Defined by 3GPP | Decided by vendor / operations |
|---|---|
| TA / TAC / TAI format, TAC broadcast in SIB1 | TAC numbering plan, placement of TA boundaries |
| Registration Area and TAI List (IE format, Type of list) | How to build the TAI List per UE (size, use of mobility patterns) |
| Triggers for Mobility / Periodic Registration Updating | Paging strategy (how to widen the area, number of retransmissions) |
| Meaning and default values of T3512 / Mobile reachable timer | Operational T3512 value |
| Forbidden TA lists and the meaning of 5GMM causes (TS 24.501 Annex A) | Which cause to map subscription data / settings to |
| NGAP Supported TA List / User Location Information / TAI List for Paging | CLIs such as show tracking-area / show subscriber location, per-TA subscriber statistics, AMF internal location DB, TA-based load balancing |
Comparison with EPC (4G)¶
| Item | 4G EPC | 5GC |
|---|---|---|
| TAC length | 16 bits | 24 bits |
| Unit of location management | TA / TAI List | TA / TAI List (Registration Area) |
| Procedure when leaving the TA list | Tracking Area Update (TAU, TS 24.301 Clause 5.5.3) | Mobility Registration Updating (TS 24.501 Clause 5.5.1.3.2) |
| Periodic update | Periodic TAU (T3412) | Periodic Registration Updating (T3512) |
| How to tell procedures apart | EPS update type | 5GS registration type |
| Location-managing node | MME | AMF |
| RAN-side TA declaration | Supported TAs in S1 Setup (TS 36.413 Clause 8.7.3) | Supported TA List in NG Setup (includes S-NSSAI) |
The TA / TAI List concept in 5G is almost the same as in EPS. The major differences are that TAU has been folded into the Registration procedure (as a Registration type) and that the TAC has been extended to 24 bits.
3GPP Specification¶
| Spec | Clause | Content |
|---|---|---|
| TS 23.501 | Clause 5.3.2.3 | Registration Area management (TAI List allocation, N3GPP TAI) |
| TS 23.501 | Clause 5.3.3 / Clause 5.3.3.2.5 | Connection Management (CM-IDLE / CM-CONNECTED, RRC_INACTIVE; sub-clauses to be confirmed) |
| TS 23.501 | Clause 5.4.1 / Clause 5.4.1.1 / Clause 5.4.2 | UE reachability in CM-IDLE (including Mobile reachable timer / Implicit De-registration) / CM-CONNECTED (sub-clauses to be confirmed) |
| TS 23.501 | Clause 5.3.4.1 | Mobility Restrictions (Forbidden Area, Service Area Restriction, etc.) |
| TS 23.501 | Clause 5.4.3 | Paging strategy (to be confirmed) |
| TS 23.501 | Clause 5.4.11 | Satellite access (to be confirmed) |
| TS 23.502 | Clause 4.2.3.3 | Network Triggered Service Request (Paging) |
| TS 23.502 | Clause 4.10 | NG-RAN Location reporting (to be confirmed) |
| TS 24.501 | Clause 4.4.6 | Protection of initial NAS messages (cleartext IEs; to be confirmed) |
| TS 24.501 | Clause 5.3.5 | UE-side handling of Service Area Restriction (to be confirmed) |
| TS 24.501 | Clause 5.3.6 | MICO mode (differences in T3512 handling; to be confirmed) |
| TS 24.501 | Clause 5.3.7 | T3512 / Mobile reachable timer / Implicit De-registration timer (start / stop conditions) |
| TS 24.501 | Clause 5.3.13 | Lists of 5GS forbidden tracking areas (details such as erasure conditions to be confirmed) |
| TS 24.501 | Clause 5.5.1.2.4 / Clause 5.5.1.3.4 | UE behavior on receipt of Registration Accept (removal from the Forbidden TA lists on receipt of a TAI List; to be confirmed) |
| TS 24.501 | Clause 5.5.1.2.5 / Clause 5.5.1.3.2 / Clause 5.5.1.3.5 | Initial Registration rejected / initiation of Mobility and Periodic Registration / its rejection (partly to be confirmed) |
| TS 24.501 | Clause 8.2.6 / Clause 8.2.7 | Registration Request / Registration Accept |
| TS 24.501 | Clause 9.11.3.2 / Clause 9.11.3.7 / Clause 9.11.3.8 / Clause 9.11.3.9 | 5GMM cause / 5GS registration type / 5GS tracking area identity / 5GS tracking area identity list |
| TS 24.501 | Clause 9.11.2.5 | GPRS timer 3 (format of the T3512 value; to be confirmed) |
| TS 24.501 | Clause 10.2 Table 10.2.1 / Table 10.2.2 | 5GMM timers (UE side / network side; this book does not assert the T3512 default, to be confirmed) |
| TS 24.501 | Annex A | Meaning of 5GMM causes |
| TS 24.008 | Clause 10.5.7.4a | Coding of GPRS timer 3 (units, deactivated; to be confirmed) |
| TS 23.003 | Clause 28.6 / Clause 19.4.2.3 | 5GS TAI / TAC (24 bits) / EPS TAI (for comparison; Clause 28.6 to be confirmed) |
| TS 23.003 | Clause 2.2 / Clause 12.1 | MCC / MNC (2- or 3-digit MNC), PLMN Identifier (to be confirmed) |
| TS 38.413 | Clause 9.3.3.10 | TAC (format on NGAP; to be confirmed) |
| TS 38.413 | Clause 8.5.1 / Clause 9.2.4.1 | Paging (TAI List for Paging; to be confirmed) |
| TS 38.413 | Clause 8.7.1 / Clause 8.7.2 | NG Setup / RAN Configuration Update (Supported TA List) |
| TS 38.413 | Clause 8.12 / Clause 9.3.1.65 | Location Reporting Control / Location Report, Location Reporting Request Type (to be confirmed) |
| TS 38.413 | Clause 9.3.1.85 | Mobility Restriction List (to be confirmed) |
| TS 38.413 | Clause 9.2.5.1 / Clause 9.2.5.3 / Clause 9.3.1.16 | Initial UE Message / Uplink NAS Transport / User Location Information (CHOICE structure, presence of each IE; to be confirmed) |
| TS 38.331 | Clause 6.2.2 / Clause 6.3.2 | SIB1 / PLMN-IdentityInfoList (trackingAreaCode; to be confirmed) |
| TS 38.300 | Clause 16.14 | NTN (to be confirmed) |
| TS 24.301 | Clause 5.5.3 / Clause 9.9.3.33 | Tracking Area Update / EPS TAI list IE (for EPC comparison; the latter to be confirmed) |
| TS 36.413 | Clause 8.7.3 | S1 Setup (for EPC comparison; to be confirmed) |
Summary¶
TAC (Tracking Area Code, 24 bits)
+ PLMN ID (MCC + MNC)
↓
TAI (Tracking Area Identity)
TAI #1 ─┐
TAI #2 ─┼──► TAI List = Registration Area (per UE, at most 16 TAIs)
TAI #3 ─┘
- The TAC is a TA number within a PLMN (24 bits in 5GS); TAI = PLMN ID + TAC. They are not the same thing
- The UE learns the TA from SIB1; the AMF learns it from the Supported TA List (per gNB) and User Location Information (per UE)
- The AMF allocates a Registration Area (TAI List) per UE. For a CM-IDLE UE, the AMF can only guarantee presence at Registration Area granularity (the last reported TAI / cell may be kept as reference information)
- Moving outside the TAI List triggers Mobility Registration Updating. Moving between TAs within the Registration Area alone does not, though there are other triggers
- Even within the Registration Area, T3512 expiry triggers Periodic Registration Updating. T3512 only runs in 5GMM-IDLE, and "deactivated" can also be signalled
- The Forbidden TA lists (UE side; added on #12 / #13 / #15 and kept for a while) and the network-side Forbidden Area (Mobility Restriction) are different things
- The size of the Registration Area is a trade-off between Registration Update frequency and Paging load (design is implementation / operation dependent)
- In traces, cross-check Supported TA List → User Location Information → TAI List / Cause, and in a Registration Request check the registration type first
Knowledge check¶
Q1. A UE has been allocated a Registration Area made up of TA100 / TA101 / TA102. The UE moves from TA100 to TA101 while in CM-IDLE. TA101 is still within the Registration Area. Which is the most appropriate description? A. Because the TA changed, the UE always performs a Mobility Registration Update / B. Because the move is within the Registration Area, crossing a TA boundary alone does not necessarily require a Mobility Registration Update / C. The UE sends a PFCP Session Modification Request to the AMF / D. The gNB updates the Registration Area on behalf of the UE using Namf_Communication
Answer: B. The trigger for Mobility Registration Updating is "entering a TA not included in the TAI List"; moving between TAs within the Registration Area alone does not start it (TS 24.501 Clause 5.5.1.3.2). It is "not necessarily" because it will still be performed if another trigger such as a capability change applies. PFCP (C) is the N4 (SMF⇔UPF) protocol and is not used by the UE. Namf_Communication (D) is an SBI service, and there is no procedure in which the gNB updates the Registration Area on behalf of the UE.
Q2. A log in a trace only says \"TAC = 100.\" What else is needed to uniquely identify the TA?
The PLMN ID (MCC + MNC). A TA is uniquely identified by TAI = PLMN ID + TAC (TS 23.003 Clause 28.6, to be confirmed). Especially with cells broadcasting multiple PLMNs or in roaming environments, unless you check which PLMN's TAC 100 it is, you may confuse it with another TA.
Q3. For an incoming call to a CM-IDLE UE, how does the AMF decide which gNBs to send Paging to?
It sends Paging to the gNBs serving the TAs included in the UE's Registration Area (TAI List) (TS 23.502 Clause 4.2.3.3). The AMF knows the gNB-to-TA mapping from the Supported TA List in NG Setup / RAN Configuration Update. Based on the TAI List for Paging in NGAP Paging, the gNB pages over the radio in its cells belonging to those TAs. The order and extent of widening the Paging area is the Paging strategy (implementation / operation dependent).
Q4. A UE stays in the same cell all the time, yet a Registration Request arrives roughly every hour. What do you check first?
Check the 5GS registration type of the Registration Request. If it is periodic registration updating, it is a normal periodic registration due to T3512 expiry (TS 24.501 Clause 5.3.7). Compare it with the T3512 value conveyed in Registration Accept (if not included, the default in TS 24.501 Clause 10.2 Table 10.2.1; value to be confirmed). If the registration type is mobility registration updating, suspect triggers other than TA movement (change of capabilities / NSSAI, etc.).
Q5. What improves and what gets worse when you enlarge the Registration Area?
Improves: the UE leaves its TAI List less often, so Mobility Registration Updates (UE battery, NAS signaling) decrease. Gets worse: the location of CM-IDLE UEs becomes vaguer, more gNBs / cells are paged per incoming call, and radio and N2 Paging load increases. The optimal size is not fixed by 3GPP and depends on operator design and AMF implementation according to traffic characteristics.
Q6. Due to a TA misconfiguration in the AMF, UEs in a certain TA were receiving Registration Reject with 5GMM cause #13. The configuration has been fixed, yet some UEs still do not register in that TA. What could be the reason?
The TAI may still be held in the UE-side 5GS forbidden tracking areas for roaming list. A UE that receives #13 adds the current TAI to this list and from then on does not attempt normal registration in that TA (TS 24.501 Clause 5.3.13 / Clause 5.5.1.2.5 / Clause 5.5.1.3.5, to be confirmed). The list is erased when the UE is switched off, when the USIM is removed and periodically (12 to 24 hours), and an entry is removed when a Registration Accept whose TAI List includes that TAI is received (TS 24.501 Clause 5.5.1.2.4 / Clause 5.5.1.3.4, to be confirmed). Also note that this is different from the network-side Forbidden Area (Mobility Restriction).
Q7. The 5GS tracking area identity list in a Registration Accept contains a partial list with Type of list = 01, PLMN = 001-01, TAC = 0x0000C8 and Number of elements bits = 00010. Which TAIs are in this UE's Registration Area?
Three TAIs: TAC 0x0000C8 / 0x0000C9 / 0x0000CA (decimal 200 / 201 / 202) in 001-01. Type of list = 01 means "consecutive TACs in one PLMN," running from the first TAC for the number of elements. Number of elements is coded as number of elements − 1, so 00010 (= 2) means three elements (TS 24.501 Clause 9.11.3.9). Whether Wireshark shows the coded value or the element count depends on the version, so check the raw bits as well.
Next Step¶
- Next chapter: how a UE woken up by Paging returns to CM-CONNECTED → CM-IDLE / CM-CONNECTED and Service Request
- The N2 handshake that declares TAs → NG Setup Procedure
- The procedure triggered by moving outside the TAI List → Mobility Registration Update
- Periodic registration driven by T3512 → Periodic Registration Update
- Incoming calls to CM-IDLE UEs → Paging / Service Request
- RRC_INACTIVE and the RAN Notification Area → RRC Resume / Small Data
- NAS / NGAP messages and IEs → NAS Dictionary / NGAP Dictionary
- Timers such as T3512 → Timer Dictionary / 5GMM causes in general → Cause Dictionary