RRC Resume / Small Data Transmission — Lightweight Return from RRC Inactive¶
Learning objectives¶
- Explain the three-state model of RRC (RRC_IDLE / RRC_INACTIVE / RRC_CONNECTED).
- Accurately explain the relationship that when in RRC_INACTIVE, from the core's viewpoint the UE remains CM-CONNECTED.
- Explain the flow of the RRC Resume procedure (present I-RNTI → restore UE context → Path Switch only when necessary).
- Explain, as concepts, the positioning of Small Data Transmission (SDT, Rel-17) and its two schemes CG-SDT / RA-SDT.
- Explain the difference from the radio-led lightweight return that the sister page Service Request marked as "out of scope."
- Compare the point that EPC (4G/LTE) has no RRC_INACTIVE state, and the similarity with LTE's Suspend/Resume and EDT (to be confirmed).
Prerequisites¶
- Service Request — full connection resumption from CM-IDLE. The direct sister of this chapter.
- Paging — the foundation for understanding the difference between core-originated Paging and RAN Paging.
- PDU Session — the prerequisite for the U-Plane path (N3).
- Registration — the prerequisite for CM states and registration.
- N2 / N3 — the interfaces between the core and the (R)AN.
- AMF — the core NF that manages the UE context and CM state.
What you'll learn in this chapter¶
In scope: the RRC three-state model, the relationship between RRC_INACTIVE and the core's CM-CONNECTED, the conceptual flow of the RRC Resume procedure, the positioning of SDT (the two schemes CG-SDT / RA-SDT, concept only), the difference from the Service Request chapter, and the EPC comparison. The focus is on the involvement and impact as seen from the core (5GC).
Out of scope: the bit-level details of RRC messages, the state-transition decision algorithms inside the RAN, and the radio physical-layer / scheduling details of SDT. These are radio (RAN) led, and since this site is a 5GC core textbook, they are kept at the conceptual level plus to be confirmed.
Why — why RRC Inactive / RRC Resume is necessary¶
Smartphones and IoT terminals repeat a behavior of frequently exchanging small amounts of traffic and then resting. Here, if the UE shuttles between CM-IDLE ↔ CM-CONNECTED every time and re-establishes the connection with a full Service Request (see Service Request), then re-establishing NAS/NGAP, re-establishing AS security, and so on make the signaling heavy and increase the terminal's power consumption.
So 5G introduced an intermediate state called RRC_INACTIVE. It puts only the radio side into a light suspension, while keeping the connection as seen from the core (CM-CONNECTED / N2 / UE context) maintained. On return, the UE can go back to RRC_CONNECTED lightly with RRC Resume. Furthermore, Rel-17's Small Data Transmission (SDT) dispenses with even full connection establishment when merely sending a small amount of data.
Analogy: RRC_IDLE is the state of "having checked out of the hotel and taken all your luggage home." To stay again, you need the full procedure at the front desk (Service Request). RRC_INACTIVE is the state of "going out without checking out, having only deposited your room key card." When you come back, just showing the I-RNTI (= the key card) lets you return to your room quickly (RRC Resume). SDT is the image of a lightness like "handing over just the luggage in the lobby without stopping by the front desk."
Overview¶
| Aspect | RRC Resume | Small Data Transmission (SDT) |
|---|---|---|
| Purpose | Lightweight return from RRC_INACTIVE → RRC_CONNECTED | Sending small data without full connection establishment (signaling saving) |
| UE's RRC state | Transitions from RRC_INACTIVE to RRC_CONNECTED | Sends while remaining in RRC_INACTIVE (concept, to be confirmed) |
| Core's CM state | Maintains CM-CONNECTED | Maintains CM-CONNECTED |
| Degree of core involvement | Minimal (N2/N3 update only when necessary) | Minimal to limited (scope of core impact is to be confirmed) |
| Data transmission | Normal after return | Small data sent/received lightly (scheme dependent, to be confirmed) |
| Main Release | Rel-15 (foundation) | Rel-17 (standardization) |
flowchart LR
A["UE (RRC_INACTIVE / CM-CONNECTED)"] --> B{"How much data to send?"}
B -->|Small| C["SDT: CG-SDT / RA-SDT
(sends while in RRC_INACTIVE, to be confirmed)"]
B -->|Normal| D["RRC Resume
RRC_INACTIVE → RRC_CONNECTED"]
D --> E["Path Switch only when necessary (N2/N3 update)"]
C -.->|If not applicable| D
Basic Concept — a beginner-friendly explanation¶
1. The RRC three-state model¶
The RRC of 5G NR has three states.
- RRC_IDLE: no radio connection. Return requires RRC Setup (full). Broadly corresponds to CM-IDLE in the core.
- RRC_INACTIVE: the radio is suspended but the gNB retains the UE context. In the core it remains CM-CONNECTED.
- RRC_CONNECTED: radio connection present, communicating normally. In the core it is CM-CONNECTED.
Note
The RRC of 4G/LTE has only two states, RRC_IDLE and RRC_CONNECTED, and RRC_INACTIVE is a new 5G state (details in the "Comparison with EPC" section).
2. RRC_INACTIVE and the core's CM-CONNECTED¶
This is the most important point of this chapter. When in RRC_INACTIVE, from the core's (AMF's) viewpoint the UE remains CM-CONNECTED, and the N2/NGAP connection and the UE context are maintained. Only the radio side enters a light suspension.
- The gNB retains the UE context, and the UE can move within a RAN Notification Area (RNA) without core Paging.
- For movement across RNA boundaries, an RNAU (RAN Notification Area Update) is performed.
- Incoming reachability is done not by core-originated Paging but by RAN Paging (gNB-led) (details are radio led, to be confirmed).
The essential difference from Service Request
A full Service Request re-establishes everything, including N2, from CM-IDLE. RRC Resume resumes only the radio while keeping CM-CONNECTED. This difference in the starting point is the source of the lightness.
3. RRC Resume and Small Data Transmission¶
- RRC Resume: the UE presents an I-RNTI, and the gNB restores the UE context (held locally, or obtained from the old gNB over Xn) and returns to RRC_CONNECTED.
- SDT (Small Data Transmission, Rel-17): an extension that sends small data lightly without fully transitioning to RRC_CONNECTED. There are two schemes, CG-SDT (Configured Grant based) and RA-SDT (Random Access based) (radio led; details to be confirmed).
Architecture¶
flowchart TB
UE["UE (RRC_INACTIVE)"] -->|"Uu: RRC (radio)"| GNBc["gNB (current)"]
GNBc -.->|"Xn: Retrieve UE Context (when necessary)"| GNBl["gNB (last serving)"]
GNBc -->|"N2: NGAP (Path Switch only when necessary)"| AMF["AMF"]
GNBc -->|"N3: GTP-U (path update when necessary)"| UPF["UPF"]
AMF -->|"control"| UPF
classDef core fill:#d5f5e3,stroke:#1e8449,color:#145a32;
class AMF,UPF core;
Key point: core involvement is minimal. The N2/N3 update happens only when necessary (e.g. when returning at a gNB different from the old one and switching the U-Plane path). If the UE context is not at the current gNB, it is obtained from the last serving gNB via Xn: Retrieve UE Context (RAN-deployment dependent, to be confirmed).
Network Function (the NFs that appear)¶
| NF | Role in this procedure | Information held/retrieved | Main APIs/procedures used | Impact on failure |
|---|---|---|---|---|
| gNB (current) | Radio side. Accepts RRC Resume, restores the UE context | I-RNTI ↔ UE context mapping (local or obtained via Xn) | RRC(Uu), XnAP, NGAP Path Switch when necessary | Return impossible / data blocked |
| gNB (last serving) | Radio side. Provides the old context | The immediately prior UE context | XnAP Retrieve UE Context | Xn retrieval fails → falls back to full return |
| AMF | Core involvement minimal. Maintains CM-CONNECTED, N2 update when necessary | UE context, CM state, N2 connection | NGAP (Path Switch equivalent, to be confirmed) | Path update failure impacts the U-Plane |
| SMF | Core involvement minimal. Involved in U-Plane path update when necessary | PDU Session context | SBI / N4 (when necessary, to be confirmed) | Possibility of session inconsistency |
| UPF | Core involvement minimal. N3 termination | N3 tunnel information | Updated over N4 (when necessary) | Old path until path update |
Note
The Path-Switch-equivalent N2 update occurs only when necessary, and whether and how many times it occurs depends on the RAN deployment and implementation (to be confirmed).
Interface / Protocol¶
| Interface | Protocol | Transport | Counterpart | Use |
|---|---|---|---|---|
| N2 | NGAP | SCTP (38412) | gNB ↔ AMF | Core control such as Path Switch when necessary |
| N3 | GTP-U | UDP (2152) | gNB ↔ UPF | U-Plane data / forwarding after path update |
| Xn | XnAP | SCTP (port to be confirmed) | gNB ↔ gNB | UE context retrieval (Retrieve UE Context) |
| Uu | RRC | radio | UE ↔ gNB | RRC Resume / SDT (radio led) |
Warning
Only the known standard values (SCTP 38412 / UDP 2152) are written for the port numbers. The procedureCode / message type / Xn details are version/implementation dependent = to be confirmed.
Procedure — Call Flow¶
sequenceDiagram
participant UE as UE
participant GC as gNB (current)
participant GL as gNB (last serving)
participant AMF as AMF
participant UPF as UPF
Note over UE,GC: UE is RRC_INACTIVE / core is CM-CONNECTED
UE->>GC: RRC Resume Request (present I-RNTI)
Note right of GC: TS 38.331 (to be confirmed)
alt UE context held by current gNB
GC->>GC: Restore context locally
else Return at a different gNB
GC->>GL: Xn: Retrieve UE Context Request
Note right of GL: TS 38.423 XnAP (to be confirmed)
GL-->>GC: Retrieve UE Context Response
end
GC->>UE: RRC Resume
UE->>GC: RRC Resume Complete
opt U-Plane path update only when necessary
GC->>AMF: NGAP Path Switch Request
Note right of AMF: TS 38.413 (to be confirmed)
AMF->>UPF: N3 path update (via N4, when necessary)
AMF-->>GC: NGAP Path Switch Request Ack
end
Note over UE,GC: UE moves to RRC_CONNECTED
Step-by-step explanation
- RRC Resume Request: the UE requests return from RRC_INACTIVE and presents its I-RNTI to let itself be identified against its context.
- UE context restoration: if the current gNB holds it, restore locally. If not, obtain it from the last serving gNB via Xn: Retrieve UE Context.
- RRC Resume: the gNB accepts the return and returns the information needed to resume the AS (radio led; details to be confirmed).
- RRC Resume Complete: the UE notifies of return completion. At this point it is RRC_CONNECTED.
- Path Switch (only when necessary): when returning at a different gNB and the U-Plane path changes, the N3 path of the AMF/UPF is updated via NGAP Path Switch.
Warning
Whether Xn-based retrieval occurs and whether/how many times Path Switch occurs depend on the RAN deployment and implementation = to be confirmed. If it completes within a single gNB, core updates may not occur.
SDT (concept only, small flow)
sequenceDiagram
participant UE as UE
participant GC as gNB
Note over UE,GC: UE remains in RRC_INACTIVE (to be confirmed)
alt CG-SDT
UE->>GC: Send small data on the Configured Grant
else RA-SDT
UE->>GC: Send piggybacked on the Random Access procedure
end
GC-->>UE: Response / additional exchange (scheme dependent, to be confirmed)
There are two schemes, CG-SDT (uses a pre-allocated Configured Grant) and RA-SDT (piggybacks on Random Access). Both are radio led and their details are to be confirmed. The scope of impact on the core (5GC) is also to be confirmed.
Signal Flow¶
| Message/procedure | Protocol | Source→Destination | Purpose | Key IEs (some to be confirmed) | Result |
|---|---|---|---|---|---|
| RRC Resume Request | RRC (Uu) | UE→gNB | Return request / context identification | I-RNTI, resumeCause (to be confirmed) | Return processing starts |
| Retrieve UE Context Request | XnAP | gNB→gNB | Obtain the old context | UE Context ID equivalent (to be confirmed) | Context transfer |
| Retrieve UE Context Response | XnAP | gNB→gNB | Context response | UE Context (to be confirmed) | Restoration complete |
| RRC Resume | RRC (Uu) | gNB→UE | Return accepted | Resume configuration (to be confirmed) | RRC resumes |
| RRC Resume Complete | RRC (Uu) | UE→gNB | Return complete notification | (to be confirmed) | RRC_CONNECTED |
| NGAP Path Switch Request | NGAP (N2) | gNB→AMF | U-Plane path update request | New N3 tunnel information (to be confirmed) | Path update starts |
| NGAP Path Switch Request Ack | NGAP (N2) | AMF→gNB | Path update response | Update result (to be confirmed) | N3 update complete |
State Machine¶
stateDiagram-v2
[*] --> RRC_IDLE
RRC_IDLE --> RRC_CONNECTED: RRC Setup (full)
RRC_CONNECTED --> RRC_INACTIVE: gNB suspends
RRC_INACTIVE --> RRC_CONNECTED: RRC Resume
RRC_INACTIVE --> RRC_IDLE: release / timer expiry
RRC_CONNECTED --> RRC_IDLE: RRC Release
The core CM-state mapping for each state:
- RRC_IDLE … the core is broadly CM-IDLE. Return is via a full Service Request.
- RRC_INACTIVE … the core is CM-CONNECTED (N2/UE context maintained). This is the new 5G state.
- RRC_CONNECTED … the core is CM-CONNECTED, communicating normally.
Packet Analysis (Wireshark)¶
Key Display Filters¶
| Filter | Target |
|---|---|
ngap |
N2/NGAP (Path Switch, etc., when necessary) |
xnap |
Xn/XnAP (Retrieve UE Context, to be confirmed) |
sctp.port == 38412 |
The SCTP of N2 |
gtp |
N3 U-Plane |
Warning
The concrete values of procedureCode / message type are version/implementation/dissector dependent = to be confirmed. Do not fabricate.
Points to note when decoding¶
- Whether Path Switch family messages appear in NGAP tells you whether there is core involvement (N2/N3 update).
- Check inter-gNB context transfer with the XnAP Retrieve UE Context family (to be confirmed).
The message nesting structure¶
- N2: SCTP → NGAP. N3: UDP → GTP-U → inner IP. Xn: SCTP → XnAP (to be confirmed).
The radio segment (RRC/Uu) is usually hard to capture = implementation dependent. RRC messages such as RRC Resume Request do not appear in a typical core-side capture.
Configuration¶
Only the structural level is shown. The decision to transition to RRC_INACTIVE, the RNA configuration, the inactivity timer, and the SDT-related timers are radio-side / implementation dependent, and the core-side configuration is limited (equivalent to RRC Inactive assistance information, to be confirmed).
Warning
Timer values, configuration keys, and so on are version/implementation dependent. This site does not assert fictitious values. Specific values are always marked "to be confirmed."
Trouble Shooting¶
| Symptom | Presumed cause | What to check | Related logs/Packets | Direction of remedy |
|---|---|---|---|---|
| RRC Resume failure | I-RNTI cannot be resolved / UE context retrieval failure | I-RNTI validity, Xn reachability | RRC (radio, hard), xnap |
Fall back to full return |
| U-Plane blocked | Path Switch failed, still on the old N3 path | Presence of Path Switch response | ngap, gtp |
Retry the path update, check consistency |
| Incoming calls do not arrive | RAN Paging not reached due to a missed RNAU | RNA update history | RAN-side logs (to be confirmed) | Check RNA configuration and mobility tracking |
| SDT not applicable | Scheme unsupported / outside conditions | SDT applicability conditions (to be confirmed) | RAN-side logs | Fall back to full RRC Resume |
Comparison with EPC¶
| Aspect | 5G (NR) | 4G/LTE (EPC) |
|---|---|---|
| Number of RRC states | 3 (IDLE / INACTIVE / CONNECTED) | 2 (IDLE / CONNECTED) |
| INACTIVE state | Present (new) | Absent |
| Lightweight return | RRC Resume (from INACTIVE) | Suspend/Resume (Rel-13) (similar, to be confirmed) |
| Small-data optimization | SDT (Rel-17) | EDT: Early Data Transmission (similar, to be confirmed) |
Info
RRC_INACTIVE is a new 5G state and does not exist in LTE. LTE's Suspend/Resume (Rel-13) and EDT are the concepts similar to SDT (to be confirmed). In 5G, signaling reduction has evolved further with Resume/SDT.
Release differences¶
| Release | Content |
|---|---|
| Rel-15 | Introduction of RRC_INACTIVE, foundation of RRC Resume |
| Rel-16 | RNA/RNAU-related extensions (to be confirmed) |
| Rel-17 | Standardization of Small Data Transmission (SDT), CG-SDT / RA-SDT |
| Rel-18 (5G-Advanced) | Continued extensions (to be confirmed) |
Warning
The fine details of the feature allocation per Release are to be confirmed. Only the representative positioning is shown here.
3GPP Specification¶
| Spec | Section | Content |
|---|---|---|
| TS 38.331 | (to be confirmed) | RRC. The radio procedures of RRC_INACTIVE / RRC Resume / SDT |
| TS 38.300 | (to be confirmed) | Overall NR architecture / RRC state model / RNA |
| TS 37.340 | (to be confirmed) | MR-DC (to be confirmed) |
| TS 23.501 | §5.3 series (to be confirmed) | CM states / RRC Inactive assistance information (to be confirmed) |
| TS 23.502 | (to be confirmed) | Related procedures |
| TS 38.423 | (to be confirmed) | XnAP (Retrieve UE Context, etc., to be confirmed) |
| TS 38.413 | (to be confirmed) | NGAP (Path Switch) |
Note
The subsection numbers change by version, so they are marked to be confirmed and not fabricated on this site.
FAQ¶
When in RRC_INACTIVE, what is the core's CM state?
It remains CM-CONNECTED. The N2/NGAP connection and the UE context are maintained, and only the radio side is suspended. This is the essential difference from a full Service Request (which starts from CM-IDLE).
What is the difference between RRC Resume and a full Service Request?
RRC Resume is a lightweight return that brings only the radio back from RRC_INACTIVE→RRC_CONNECTED while keeping CM-CONNECTED. A Service Request is a heavy procedure that re-establishes everything, including N2, from CM-IDLE (see Service Request).
What is I-RNTI?
An identifier that a UE in RRC_INACTIVE presents at RRC Resume so that the gNB can identify its UE context. Between gNBs it serves as the clue for context retrieval over Xn (details are radio led, to be confirmed).
What are RNA and RNAU?
RNA (RAN Notification Area) is the area within which a UE can move without core Paging while in RRC_INACTIVE. When moving across the area boundary, an RNAU (RAN Notification Area Update) is performed. Incoming reachability is done by RAN Paging (radio led, to be confirmed).
Does SDT affect the core?
SDT is a radio-led feature standardized in Rel-17, and the scope of its impact on the core (5GC) is to be confirmed. It is an extension for sending small data lightly while remaining in RRC_INACTIVE, and there are two schemes, CG-SDT / RA-SDT.
Summary¶
- RRC has three states, RRC_IDLE / RRC_INACTIVE / RRC_CONNECTED, and RRC_INACTIVE is a new 5G state.
- When in RRC_INACTIVE, from the core's viewpoint the UE remains CM-CONNECTED, and the N2/UE context is maintained.
- RRC Resume is a lightweight return: present I-RNTI → restore UE context (local or Xn retrieval) → Path Switch only when necessary.
- SDT (Rel-17) is a signaling-saving extension that sends small data without full connection establishment (CG-SDT / RA-SDT; details to be confirmed).
- RRC / RRC Resume / SDT are radio (RAN) led, and core involvement is minimal. Specific values are to be confirmed.
Reference specs (section numbers are to be confirmed): TS 38.331 / TS 38.300 / TS 23.501 §5.3 series / TS 23.502 / TS 38.423 / TS 38.413.
Practice — comprehension check and exercises¶
Comprehension check¶
Q1. What is the core CM state when in RRC_INACTIVE?
CM-CONNECTED. The N2/NGAP and the UE context are maintained.
Q2. Name the three RRC states.
RRC_IDLE / RRC_INACTIVE / RRC_CONNECTED.
Q3. When the current gNB does not have the UE context, how is it obtained?
Obtained from the last serving gNB via Retrieve UE Context over Xn (RAN-deployment dependent, to be confirmed).
Q4. When does Path Switch occur?
Only when returning at a different gNB and the U-Plane (N3) path needs to be switched. Whether and how many times it occurs is implementation dependent, to be confirmed.
Q5. What are the two SDT schemes?
CG-SDT (Configured Grant based) and RA-SDT (Random Access based). Details are radio led, to be confirmed.
Exercises¶
The main RRC Resume steps below have been shuffled. Reorder them into the correct sequence.
A. RRC Resume Complete
B. RRC Resume Request (present I-RNTI)
C. N3 path update via NGAP Path Switch, only when necessary
D. UE context restoration (local or Xn retrieval)
E. RRC Resume
Answer
Order: B → D → E → A → C
- B: the UE presents its I-RNTI and requests return.
- D: the gNB restores the context (obtains it over Xn if absent).
- E: the gNB accepts the return and returns RRC Resume.
- A: the UE returns RRC Resume Complete and moves to RRC_CONNECTED.
- C: only when the path changes, such as when returning at a different gNB, the N3 is updated via Path Switch.
Note: whether and how many times C (Path Switch) and the Xn retrieval in D occur depend on the RAN deployment and implementation = to be confirmed. If it completes within a single gNB, core updates may not occur.
Next Step¶
- Service Request — the direct sister (full return from CM-IDLE).
- Paging — the contrast between core Paging and RAN Paging.
- PDU Session — the prerequisite for the U-Plane path.
- Related NFs: AMF / SMF / UPF
- Related IFs: N2 / N3
- Dictionaries: Message Dictionary / Timer Dictionary / Cause Dictionary / Protocol Dictionary / NF Dictionary / Interface Dictionary