# 5G UE RRC States

## Summary


Radio Resource Control (RRC) is a layer within the 5G NR protocol stack. It exists only in the control plane, in the UE and in the gNB. The behaviour and functions of RRC are governed by the current state of RRC. In 5G NR, RRC has three distinct states: RRC\_IDLE, RRC\_CONNECTED and RRC\_INACTIVE. 

For each UE RRC state, applicable functions are clearly defined in the standard. Moreover, it's also defined how state transitions will happen, not only within 5G but also to 2G/3G/4G systems via handover or PLMN/cell reselection. 

RRC\_INACTIVE is not applicable for Non-Standalone (NSA) mode of operation.

## Discussion

### Why was RRC_INACTIVE state introduced in 5G?

Before 5G, RRC had only two states, idle and connected. In connected state, radio resources are allocated to the UE and typically active communication (user plane or control plane) is taking place between the UE and the network. Otherwise, UE is in idle state. 

While releasing an RRC connection is good for capacity utilization and power saving, it's not ideal from a latency perspective. For Machine Type Communications (MTC) and IoT applications, it's typical for devices to send small amounts of data. The overhead in establishing an RRC connection to do this is bad from a power perspective. The extra signalling also introduces delay that's not ideal for URLLC use cases. 

Since 5G caters to new cases such as mMTC and URLLC, RRC\_INACTIVE has been introduced. While entering this state, both UE and NG-RAN save radio and security configurations. This saved UE Inactive Access Stratum (AS) context can be quickly restored with minimal signalling when moving to connected state.  

Essentially, RRC\_INACTIVE is UE RRC's way of implementing an "always on" radio connection with the network. 


### What are the functions in each of the 5G UE RRC states?

In RRC\_INACTIVE and RRC\_CONNECTED, UE and NG-RAN store **AS Inactive context** and **AS context** respectively. In RRC\_IDLE, UE may be registered with the Core Network (CN) but no AS context is stored. 

In both RRC\_IDLE and RRC\_INACTIVE, UE does measurements of neighbouring cells and can do **reselection**. In RRC\_CONNECTED, UE mobility is controlled by the CN and **handovers** can be initiated. Data transfer, CA, DC and measurement reporting are supported. 

In RRC\_IDLE, **UE paging** is initiated by the CN. In RRC\_INACTIVE, UE paging is initiated by NG-RAN. To page a UE, it's location must be known. In RRC\_IDLE, this is the Tracking Area (RA). In RRC\_INACTIVE, this is the RAN-based Notification Area (RNA) and UE may initiate RNA updates.  

In RRC\_IDLE, **Discontinuous Reception (DRX)** is configured by higher layers. In RRC\_INACTIVE, configuration comes from higher layers and RRC. In RRC\_CONNECTED, DRX configuration is for discontinuously monitoring DL PDCCH. 


### How does UE RRC transition from one state to another in 5G NR?

RRC\_IDLE to RRC\_CONNECTED happens via the RRC Connection Setup procedure. This consists of three messages: RRCSetupRequest (UE initiated), RRCSetup, and RRCSetupComplete. 

RRC\_CONNECTED to RRC\_IDLE is via RRC Connection Release procedure with network-initiated RRCRelease message. Upper layers in the UE may also request a release. RRC connection is also released due to radio link failure, handover failure or cell not meeting cell selection criteria. 

RRC\_CONNECTED to RRC\_INACTIVE is network initiated. It's entered via RRCRelease message with `suspendConfig` information element (IE). When UE is using a Dual Active Protocol Stack (DAPS) bearer or is redirected to an inter-RAT carrier frequency, this IE is not configured. 

RRC\_INACTIVE to RRC\_CONNECTED is triggered by the network via RAN paging. A paged UE will start with RRC Connection Resume procedure consisting of three messages: RRCResumeRequest, RRCResume (or RRCSetup), RRCResumeComplete (or RRCSetupComplete). This procedure can also be initiated by UE for uplink transfer, including RNA update. 

RRC\_INACTIVE to RRC\_IDLE happens when network responds to RRCResumeRequest with RRCRelease. Alternatively, the UE may be asked to remain in RRC\_INACTIVE for some more time. 


### How do UE RRC states map to states in other layers of the protocol stack?

When RRC is in either RRC\_INACTIVE or RRC\_CONNECTED states, there's a Non-Access Stratum (NAS) connection between the UE and the CN. Thus, Connection Management (CM) is in the Connected state. 

In RRC\_CONNECTED, Mobility Management (MM) may be in either Deregistered or Registered state. If the UE is in the process of registering to the network (attach procedure), then MM is in Deregistered state. Otherwise, it's in Registered state. 

When a UE is just powered up, RRC is in RRC\_IDLE and MM is in Deregistered state. After MM registration, RRC can move from RRC\_CONNECTED to RRC\_INACTIVE, and return to RRC\_IDLE only as part of deregistration (detach procedure). It's also possible for a UE to move to RRC\_IDLE and still be available for CN-initiated paging. For simplicity, this case in not shown in the figure. 


### Could you describe RRC states and transitions across different cellular generations?

**Reselection** can happen in idle states. In 2G, GSM\_Idle and GPRS Packet\_Idle are the idle states. In 3G, reselection is also possible from connected states Cell\_FACH, Cell\_PCH and URA\_PCH.  

Reselection is possible from GPRS Packet Transfer Mode. Cell Change Order (CCO) is possible from 2G idle state, GPRS Packet Transfer Mode and E-UTRA RRC Connected. For reselection from UTRAN to GERAN, CCO can be assisted with Network Assisted Cell Change (NACC). 

In connected states, **handovers** are possible. For handovers, relevant states are GSM\_Connected, GPRS Packet Transfer Mode (2G); Cell\_DCH (3G); E-UTRA RRC Connected (4G); and NR RRC\_CONNECTED (5G). 

## Milestones

2015

In the 5G-PPP European project *METIS-II*, the main 5G pre-standards project, there's discussion and effort towards supporting **an RRC inactive state**. In June 2016, a draft titled *Draft Asynchronous Control Functions and Overall Control Plane Design* is published with mention of **RRC Connected Inactive** state. 

Aug  
2016

LTE RRC specification TS 36.331, Release 13, version 13.2.0 is published. In this release, LTE RRC has only two states, RRC\_IDLE and RRC\_CONNECTED. This version includes **suspend/resume of RRC connection**. When suspended, RRC goes to RRC\_IDLE. However, the connection can be resumed with minimal signalling due to stored UE AS context. This feature caters to NB-IoT requirements. 

Dec  
2017

3GPP publishes Release 15 "early drop". In 5G RRC specification TS 38.331, version 15.0.0, there are **three states**: RRC\_IDLE, RRC\_CONNECTED and RRC\_INACTIVE. RRC\_INACTIVE state applies only in SA mode, that is, it's not applicable in EN-DC (E-UTRA-NR Dual Connectivity). 

Mar  
2018

3GPP publishes version 1.0.0 of specification TS 38.304 titled *User Equipment (UE) procedures in idle mode and in RRC Inactive state*. In June, this is re-versioned to 15.0.0 for Release 15. Version 16.3.0 comes out in January 2021. It's mentioned that, "The UE initiates RRC Connection Resume procedure upon receiving RAN initiated paging. If the UE receives a CN initiated paging in RRC\_INACTIVE state, the UE moves to RRC\_IDLE and informs NAS." 

Oct  
2018

In LTE RRC specification TS 36.331, version 15.3.0, **RRC\_INACTIVE state** is introduced. At the same time, 5G RRC specification TS 38.331, version 15.3.0 includes ASN.1 definition for RRCRelease message. This include `suspendConfig` IE that indicates transition to RRC\_INACTIVE. Periodic RNA Update timer can range from 5-720 minutes. 

Dec  
2018

Hailu et al. publish performance analysis showing improvements due to RRC\_INACTIVE state. They use the term "RRC Connected Inactive" for this and refer to LTE Release 13 suspend/resume procedure as "RRC Suspended". Compared to LTE idle state, RRC\_INACTIVE brings 8x latency improvement, 5x power efficiency and 3.5x less signalling. 

Jul  
2020

3GPP publishes Release 16 specifications. In 5G RRC specification TS 38.331, version 16.1.0, `preferredRRC-State` IE is introduced as part of UE's **release preference**. UE can indicate preference towards RRC\_IDLE, RRC\_INACTIVE, leave RRC\_CONNECTED without any preference for the next state or revert to an earlier indicated preference.