Skip to content

RRC Resume / Small Data Transmission — Lightweight Return from RRC Inactive

Difficulty: Advanced / Estimated study time: 40 min / Scope: RRC Resume / Small Data Transmission / Lead actor: (R)AN/gNB (core involvement is minimal) / Main interfaces: N2, N3 (Xn is also touched on)

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

  1. RRC Resume Request: the UE requests return from RRC_INACTIVE and presents its I-RNTI to let itself be identified against its context.
  2. 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.
  3. RRC Resume: the gNB accepts the return and returns the information needed to resume the AS (radio led; details to be confirmed).
  4. RRC Resume Complete: the UE notifies of return completion. At this point it is RRC_CONNECTED.
  5. 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