5G-NR RACH trigger reasons with details

In the intricate world of 5G networks, the Random Access Channel (RACH) serves as a vital gateway for User Equipment (UE) to establish initial communication with the network. While RACH is commonly associated with UE transitions from idle mode to connected mode, there exist specific scenarios where RACH activation occurs even when the UE is already in RRC_CONNECTED mode. In this article, we delve into the nuances of RACH trigger reasons, shedding light on the circumstances that prompt UEs to initiate RACH procedures in both Non-Standalone (NSA) and Standalone (SA) modes.

Below is the list of reasons when RACH Can be triggered in NSA and SA mode by a UE.

NR RACH Trigger Reasons

  • Initial access from RRC_IDLE
  • Transition from RRC_Inactive to RRC_CONNECTED
  • RRC Connection Reestablishment
  • Handover
  • Beam Failure recovery
  • Synchronous Reconfiguration
  • Timing alignment during Scell addition
  • DL out of sync- gNB Trigerrs PDCCH order
  • UL Out of sync
  • SR Max Transmission reached
  • UL Data Arrival – No PUCCH Configured for SR
  • On demand System information
NR RACH Triggers Reasons

Below are brief details about each NR RACH trigger reason, It is good to know the details and it will help in debugging some issues along the way.

Initial access from RRC_IDLE

This is pretty self-explanatory, When UE powers ON, it needs to find a cell and camp on it to receive wireless services. When UE decodes MIB/SIB1 of a favorable cell it attempts to perform RACH on that cell. The Initial RACH will always be contention-based rach as gNB will not have any prior information related to UE.

  • 2-Step RACH in Release-16 is applicable in this scenario.
  • RACH Applicable to only Stand-Alone mode.
  • Contention Based RACH only

Further Reading: 5G-NR RACH Process

Transition from RRC_Inactive to RRC_Connected

In NR the RRC Connection can be put in INACTIVE mode, in this case, UE can resume the connection by triggering the RRC_RESUME message. In order to send the RRC_RESUME message to gNB, UE needs to perform RACH.

UE in this case can use Group B Preambles if they are configured and if msg3 size meets the threshold set in SIB1. Usually, the RRC_RESUME message can trigger RACH with GroupB preambles this allows UE to allocate resources for msg3 accordingly since it will be a larger size.

In order for a UE to trigger RRC_RESUME below needs to be configured

  • In SIB1
  • RRC Release with Suspend Config

Group B to be configured

  • Group B messages from RACH
  • 2-Step RACH in Release-16 is applicable in this scenario.
  • RACH Applicable to only Stand-Alone mode.
  • Contention Based RACH only

RRC Re-establishment

What are the common reasons when UE triggers RRC Connection Reestablishment?

  • Radio Link Failure : UE triggers radio link failure when T310 Expiry occurs, i.e. UE is unable to detect PDCCH for certain duration and it triggers RACH
  • Handover Failure : UE can trigger RRC Reestablishment either to Source cell or target Cell indicating handover failure.

In either case, UE triggers contention-based RACH.

RRCReconfiguration Failure

When the network sends a Configuration that is not supported by the UE or the configuration is incorrect. UE drops the Connection and triggers an RRC Reestablishment by indicating the cause as RRCReconfiguration Failure. UE triggers contention-based RACH in this case.

  • 2-Step RACH in Release-16 is applicable in this scenario.— need to check
  • RACH Applicable to only Stand-Alone mode.
  • Contention Based RACH only


During Mobility when UE needs to move between different cells it needs to sync to the target cell during the handover procedure. The sync is done through the RACH procedure. In Handover both Contentions based and Contention free RACH can be configured.

For contention Free RACH to happen, UE needs to send the best SSB beam info to the gNB, gNB can then assign dedicated RACH resources to the UE.

In 5G-NR RACH process is tied to the SSB index, For a gNB to configure Contention Free RACH to UE it needs to send the below-dedicated information to UE

  • SSB index
  • PRACH Preamble
  • RACH Occasion

In the case of SA,

  • UE needs to send A2/A3 Measurement report whichever is configured by the gNB.
  • Once UE triggers a Measurement report containing target cell info with the best SSB beam gNB can trigger a Handover with CFRA resources.

In the case of NSA,

  • Network needs to configure the B1 Measurement Report that includes SSB index reporting.
  • When UE reports B1 Meas report with SSB indexes, gNB can select the best SSB index and configure CFRA RACH
  • gNB can configure CFRA RACH during NSA Addition or during Handover.

Either in the case of SA and NSA What will happen if the UE is configured with CFRA RACH resources and when UE triggers to perform RACH it does not find the SSB index for which CFRA resources are configured will UE trigger RLF of will UE continue looking for that SSB ?.

Since Handover is a time-sensitive procedure, if UE is not able to find the SSB index which is assigned in CFRA resources, it will trigger a Contention-based RACH with CRNTI and complete the handover procedure.

In the case there is no SSB beam info available then contention-based RACH is performed always.

  • The Above procedure applies to the RACH procedure in SA as well
  • RACH Applicable to both SA and NSA mode
  • Contention-based and Contention Free RACH Applicable.

Synchronous Reconfiguration (reconfigurationWithSync)

Synchronous reconfiguration can be performed for NR Cells operating in NSA and SA mode. The gNB sends RRCReconfiguration message with reconfigurationWithSync IE, when UE receives reconfigurationWithSync , it performs a MAC reset, which involves releasing the PUCCH-CSI/SRS/SR configuration. UE then triggers RACH and completes the random access procedure. Now both UE and network apply the new configuration sent in RRCReconfiguration message with reconfigurationWithSync IE. gNB can also configure rach-ConfigDedicated IE for contention-free RACH in reconfigurationWithSync field.

  • 2-Step RACH in Release-16 is applicable in this scenario.
  • gNB can configure to perform either Contention based RACH or Contention Free RACH.
  • RACH Applicable to both SA and NSA mode

In the case of RRCReconfiguration with reconfigurationWithSync, the UE performs a MAC reset, which involves releasing the PUCCH-CSI/SRS/SR configuration in accordance with clause 5.3.12 and TS 38.321 [6], clauses 5.12 and 5.2. Hence, for these parts of the dedicated radio resource configuration, delta signaling is not supported in the message when reconfigurationWithSync is included


Parameters for the synchronous reconfiguration to the target SpCell.

-- Serving cell specific MAC and PHY parameters for a SpCell:
SpCellConfig ::=                        SEQUENCE {
    servCellIndex                       ServCellIndex            
    reconfigurationWithSync             ReconfigurationWithSync  
    rlf-TimersAndConstants              SetupRelease { RLF-TimersAndConstants }
    rlmInSyncOutOfSyncThreshold         ENUMERATED {n1}          
    spCellConfigDedicated               ServingCellConfig        
ReconfigurationWithSync ::=         SEQUENCE {
    spCellConfigCommon                  ServingCellConfigCommon  
    newUE-Identity                      RNTI-Value,
    t304                                ENUMERATED {ms50, ms100, ms150, ms200, ms500, ms1000, ms2000, ms10000},
    rach-ConfigDedicated                CHOICE {
        uplink                              RACH-ConfigDedicated,
        supplementaryUplink                 RACH-ConfigDedicated

 Timing alignment during Scell addition

RACH can also be triggered when there is a Timing Alignment issue between UE and gNB on Pscell. But Suppose if there is a Scell who is not in the same Timing Alignment group(TAG) as Pcell then the gNB can configure the UE to trigger RACH on Scell to perform Timing Alignment.

This might arise when both the Pcell and Scell are not Co-located i.e. both Pcell and Scell are not physically located at the same place so both the cells experience different RF propagation delays.

One example can be of FR1-FR2 CA in the case of stand Alone where Pcell might be an FR1 Cell whereas Scell can be an FR2 Cell, both cells will have different RF Characteristics will experience different RF propagation delays. So when gNB adds FR2 Cell as a Scell it can ask UE to perform RACH on the scell during Scell addition process.gNB sends reconfigurationWithSync field to UE either with CFRA RACH resources on CBRA RACH resources.

  • 2-Step RACH in Release-16 is applicable in this scenario.
  • gNB can configure to perform either Contention-based RACH or Contention Free RACH.
  • RACH Applicable to both SA and NSA mode

DL Data Transmission -DL out of sync

When UE is in RRC_CONNECTED mode and if gNB detects that there is downlink data to be transmitted to UE and there is a sync issue with UE, gNB triggers a PDCCH order on the last known SSB that UE was camped on.

  • UE receives the PDCCH order and triggers a Contention Free RACH.
  • PDCCH order can only be sent via DCI Format 0_1
  • PDCCH order is scrambled with CRNTI and is sent in Dedicated SearchSpace/CORESET for DCI Format 0_1.

UE receives the following information from UE

  • RACH preamble
  • SSB index
  • RACH Occasion

RACH Applicable to both SA and NSA mode. PDCHH order is discussed in detail here

PDCCH Order in 5G NR

UL Data Arrival ; UL Out of sync

When UE is in RRC_CONNECTED mode and if UE MAC buffer receives data that needs to be sent in Uplink and L1/L2 detects that UL is out of sync with the gNB or the timing alignment timer has expired and there is no Timing advanced command received from gNB then in this scenario UE triggers RACH for synchronization.

  • 2-Step RACH in Release-16 is applicable in this scenario.
  • Only Contention based RACH can be performed.
  • RACH Applicable to both SA and NSA mode

UL Data Arrival – SR Max Transmission reached

When UE is in RRC_CONNECTED mode and it detects that there is some uplink data that needs to be sent, It checks if there is UL PUSCH allocation available to UE from gNB.

If there is no UL grant received from gNB then UE will send Scheduling Request MAC CE through the PUCCH channel.

UE starts a timer after SR transmission as defined in RRC message sr-prohibit-timer

If there is no response and the timer expires, UE keeps sending SR until it receives an uplink grant or it has reached max SR transmission.

Once UE reaches Max SR Transmission it clears PUCCH resources and triggers a Contention-based RACH.

Once RACH is successful and if UE receives Uplink grants normal operation is resumed at UE.

  • 2-Step RACH in Release-16 is applicable in this scenario.
  • Only Contention based RACH can be performed.
  • RACH Applicable to both SA and NSA mode
Scheduling Request (SR) Transmission

UL Data Arrival – No PUCCH Resources

UE triggers RACH when there are no Valid PUCCH resources assigned to it and it needs to send Scheduling requests for Uplink grants.

Let’s consider a scenario where a UE is in RRC_CONNECTED mode and it detects that there is some uplink data that needs to be sent, but there are no valid PUCCH resources available. UE triggers RACH on the serving cell and gNB sends an RRCReconfiguration message configuring PUCCH/CSI-RS and other reference signals.

Let’s consider another scenario where UE triggered RACH due to max SR transmission and RACH was successful. But there is no RRCreconfiguration message from gNB Configuring the PUCCH resource. UE detects that there is no Valid PUCCH resource and UE triggers RACH again.

So whenever a UE in RRC_Connected mode triggers RACH due to uplink issues it releases all PUCCH resources.

The network has to explicitly configure those PUCCH resources again.

Reference :

  • 2-Step RACH in Release-16 is applicable in this scenario.
  • Only Contention-based RACH can be performed.
  • RACH Applicable to both SA and NSA mode

Beam Failure recovery

A UE Can perform below two RACH procedures for beam failure recovery request



A UE will perform CBRA RACH due to one of the below reasons

  • UE is not configured with CFRA RACH resources, then in that case CBRA is used by default.
  • Or a UE has been configured with CFRA RACH but was unable to perform CFRA RACH due to the unavailability of the candidate beams
  • Or CFRA RACH was unsuccessful and UE has to fall back to CBRA RACH.

So when a UE performs CBRA RACH for the recovery procedure, it is performed as a Normal Contention based RACH procedure.

So here is the overview

  • UE is in RRC Connected mode
  • It detects Beam Failure at the PHY layer.
  • The UE performs Candidate beam selection for the recovery procedure.
  • UE triggers the RACH process and sends a RACH preamble to gNB.
  • gNB sends a Random Access Response(RAR) and UL grant for msg3 within the RAR window.
  • UE sends MAC CE(msg3) for contention resolution.
  • gNB sends a UL grant to UE
  • Beam Failure recovery Complete
Below is the Procedure for Contention Free RACH procedure for Beam Failure recovery.

In the case of CFRA Beam failure recovery request, the UE will receive RAR scrambled with C-RNTI instead of RA-RNTI is a regular RACH process.

The gNB will also configure a dedicated CORSET config for Beam Failure recovery which the UE monitors after transmitting the RACH preamble.

Here is a rundown with a simple explanation.

  • UE is configured with CORSET-BFR
  • UE is also configured with dedicated preambles to be used for BFR
  • In case UE detects a Beam Failure, It starts the Best Beam selection procedure.
  • If the Best beam is within any of the beams configured in the beam failure recovery config, the UE selects CFRA else it selects the CBRA RACH procedure.
  • For example, In this case, UE selects CFRA RACH
  • The UE triggers RACH with a dedicated preamble.
  • UE Monitors the CORSET-BFR for PDCCH scrambled with C-RNTI
  • UE Receives the RAR scrambled with C-RNTI
  • Beam Failure recovery Complete 

On demand System information

In NR the gNB does not need to broadcast the System information periodically, Instead, it can configure the SI in on-demand requests, meaning SI is not broadcasted always, and whenever a UE needs to read further system information the UE can request SI by triggering RACH procedure.

If SIB1 includes si-SchedulingInfo containing si-RequestConfig or si-RequestConfigSUL, UE triggers Random Access procedure using the PRACH preamble(s) and PRACH resource(s) in si-RequestConfig corresponding to the SI message(s) that the UE requires to operate within the cell, and for which si-BroadcastStatus is set to notBroadcasting;

After the Successful RACH procedure, UE receives other SI messages.

In case if there is a RACH failure for SI request it is up to UE implementation when to retry the SI request.

gNB can configure to perform either contention-based RACH or Contention Free RACH for SI.

RACH Applicable to only SA  mode


  1. 3GPP TS 38.321: Medium Access Control (MAC) protocol specification.
  2. 3GPP TS 38.213: Physical layer procedures for control.
  3. 3GPP TS 38.331: Radio Resource Control (RRC) protocol specification.
Further Readings :

2-Step RACH in Release-16 of 5G-NR

2-Step RACH : MsgB Reception-Part2