5G NR - RRCReject Message Explained

The RRCReject message is the network’s negative answer to an early RRC access attempt in 5G NR. It is sent by the gNB when the network does not want to accept the current RRC connection establishment or RRC connection resumption attempt.

For beginners, the simple meaning is: the UE tried to get into or back into a usable RRC connection path, and the network said not now.

For engineers, the important detail is that RRCReject does not carry an explicit reject-cause field like many NAS reject messages do. In practice, you troubleshoot it by combining:

  • the preceding request (RRCSetupRequest or RRCResumeRequest)
  • the UE state (RRC_IDLE or RRC_INACTIVE)
  • the waitTime
  • access barring and admission context
  • the surrounding radio and resume flow behavior

What is RRCReject in simple terms?

RRCReject is a short downlink RRC message sent on SRB0 / CCCH when the network refuses to continue the current access attempt.

It answers questions like:

  • should this UE be admitted right now?
  • should this resume attempt continue?
  • should the UE wait before trying again?

What happens before and after it

If the UE is trying to establish a new connection:

RRCSetupRequest -> RRCReject

If the UE is trying to resume from RRC_INACTIVE:

RRCResumeRequest / RRCResumeRequest1 -> RRCReject

After the reject, the UE applies the rejection handling defined in TS 38.331, including timer handling around T300, T319, and T302.

Why this message matters

RRCReject is one of the fastest indicators that the access problem is happening before the normal connected-mode signaling path has even formed.

It matters because it tells you:

  • the network saw the request
  • the request was not accepted
  • the UE may need to wait before retrying
  • you should investigate access control, admission, or resume-context issues rather than later connected-mode messages

Important clarification: RRCReject does not carry explicit reject causes

This is the most important troubleshooting note for this page.

In 5G NR, RRCReject does not carry a standardized reject cause value like:

  • congestion
  • invalid identity
  • barred user
  • configuration mismatch

as an explicit IE inside the message.

Instead, the message mainly gives you waitTime, and the actual reason must usually be inferred from context.

Common network-side reasons engineers associate with RRCReject

These are practical reasons engineers investigate when RRCReject appears. They are not standardized cause IE values inside the message.

1. Access barring or unified access control rejection

The UE may have triggered an access attempt that the cell or system currently does not want to admit.

Inspect:

  • access category
  • access identities
  • SIB1 barring-related behavior
  • whether the attempt should have been allowed

2. Temporary admission rejection or overload

The cell may be temporarily unable or unwilling to take new setup attempts.

Inspect:

  • cell load indicators
  • repeated rejects across multiple UEs
  • waitTime patterns
  • whether the behavior is bursty or persistent

3. Resume rejection from RRC_INACTIVE

The network may reject RRCResumeRequest or RRCResumeRequest1 when it does not want to continue the resume path.

Inspect:

  • whether the UE was in RRC_INACTIVE
  • whether the request was for paging response, upper-layer resume, or RNA update
  • T319 and T302 behavior

If the resume attempt was triggered by RNA update logic, the reject may indicate that the network did not accept the current update attempt and the UE must continue according to the specified reject handling.

Inspect:

  • pending RNA update behavior
  • paging monitoring continuation
  • resume trigger type

5. Policy or implementation-specific admission behavior

Sometimes the network rejects early access for reasons that are visible only indirectly in vendor counters, configuration, or load policies.

Inspect:

  • whether the problem is isolated to one gNB or one area
  • whether specific access scenarios are impacted
  • whether the same UE succeeds later without changing identity or capability

Where RRCReject appears in the call flow

Setup rejection path

UE                        gNB
|                         |
|---- RRCSetupRequest --->|
|                         |
|<------ RRCReject -------|
|                         |

This is the classic RRC connection establishment reject case.

If the setup succeeds instead of being rejected, the next successful network response is usually RRC Setup.

Resume rejection path

UE                        gNB
|                         |
|--- RRCResumeRequest --->|
|                         |
|<------ RRCReject -------|
|                         |

This happens when the UE is trying to resume a suspended or inactive connection path and the network does not accept it.

Full procedure context

If RRCReject follows RRCSetupRequest

  • previous message: RRCSetupRequest
  • current message: RRCReject
  • likely next behavior: UE waits according to waitTime / T302, then retries later if appropriate
  • interpretation: setup attempt rejected before normal connected-mode signaling begins

If RRCReject follows RRCResumeRequest or RRCResumeRequest1

  • previous message: RRCResumeRequest or RRCResumeRequest1
  • current message: RRCReject
  • likely next behavior: UE handles resume failure, timer behavior, and paging monitoring according to spec
  • interpretation: resume or RNA-related attempt not accepted

Transport and radio details

For trace analysis, the transport profile is:

  • Direction: gNB to UE
  • Bearer: SRB0
  • Logical channel: DL-CCCH
  • RLC mode: TM
  • Protocol layer: NR RRC

This is important because RRCReject is an early-path message, not a normal secured DCCH connected-mode message.

What engineers should inspect first

When RRCReject appears, inspect in this order:

  1. Which request triggered it?
  2. What is the waitTime?
  3. Was this setup rejection or resume rejection?
  4. Was access likely barred or temporarily delayed?
  5. Are retries respecting T302?

Practical troubleshooting guidance

RRCReject is most useful when you read it together with the surrounding access context, not as a standalone reject code.

In a setup rejection case, correlate it with:

  • RRCSetupRequest
  • RRC Setup to compare successful versus rejected access handling
  • cell access barring and admission conditions
  • gNB counters for access attempts and rejects

In a resume rejection case, correlate it with:

  • RRCResumeRequest or RRCResumeRequest1
  • inactive-state and RNA update handling
  • timer behavior around T319 and T302

If the UE keeps getting rejected, the key questions are:

  • is the network temporarily refusing access or resume?
  • is the UE retrying with the correct timing?
  • is the problem isolated to one cell, one area, or one access scenario?
  • does the surrounding signaling point to barring, overload, or resume-context failure?

Summary

RRCReject is a short but very important 5G NR control message.

The key engineering points are:

  • it rejects setup or resume
  • it carries waitTime
  • it drives T302
  • it does not carry explicit standardized reject causes
  • troubleshooting depends on context, not on decoding a cause IE

FAQ

What does RRCReject mean in 5G NR?

It means the network rejected the current RRC setup or RRC resume attempt.

Who sends RRCReject?

The gNB sends RRCReject to the UE.

What is the most important field in RRCReject?

waitTime is the most important field because it drives T302 and tells the UE how long to wait before retrying.

Does 5G NR RRCReject include reject causes?

No. RRCReject does not include a standardized explicit reject-cause IE.

What are the common reasons for RRCReject?

Typical reasons include access barring, temporary admission rejection, overload, or a resume attempt that the network does not accept.

What happens after RRCReject?

The UE stops the current setup or resume supervision timers, handles T302 if waitTime is present, and retries later if appropriate.

Is RRCReject used only for connection establishment?

No. In NR it can also reject RRC connection resumption.

Summary

Downlink NR RRC message used by the network to reject an RRC connection establishment attempt or an RRC connection resumption attempt.