Uplink NR RRC message sent by the UE on SRB1 and DCCH to confirm successful RRC connection establishment and transfer the initial NAS message.
Message Fact Sheet
Protocol
rrc
Network
5g
Spec
3GPP TS 38.331
Spec Section
5.3.3.1, 5.3.3.3, 6.2.2
Direction
UE -> gNB
Message Type
Connection Control
Full message name
5G NR - RRC Setup Complete
Protocol
RRC
Technology
5G
Direction
UE -> gNB
Interface
Uu
Signaling bearer / channel
SRB1 / UL-DCCH
Typical trigger
The UE has successfully applied RRCSetup and is ready to confirm the setup while forwarding the first dedicated NAS message.
Main purpose
Confirms successful completion of RRC connection establishment, moves the procedure into core-facing signaling, and carries the dedicated NAS message toward the network.
Main specification
3GPP TS 38.331, 5.3.3.1, 5.3.3.3, 6.2.2
Release added
Release 15
Procedures where used
RRC Connection Establishment, Initial Registration, Mobility Registration Update, Periodic Registration Update, Service Request from Idle
Related timers
T300
What is RRC Setup Complete in simple terms?
Uplink NR RRC message sent by the UE on SRB1 and DCCH to confirm successful RRC connection establishment and transfer the initial NAS message.
Confirms successful completion of RRC connection establishment, moves the procedure into core-facing signaling, and carries the dedicated NAS message toward the network.
Why this message matters
RRCSetupComplete tells the gNB that the UE finished the initial radio setup and is now sending the first real NAS message, such as Registration Request.
Where this message appears in the call flow
5G RRC Connection Setup
Call flow position: UE response after applying the RRC Setup configuration.
Typical state: UE has entered connected-mode handling and can now use SRB1.
Preconditions:
RRCSetup has been received and successfully applied.
SRB1 is available.
The dedicated NAS payload is ready for transfer.
Next likely message: Initial UE Message on N2 and then AMF-driven response signaling
5G Initial Registration
Call flow position: Bridge message between radio setup and core registration signaling.
Typical state: UE is ready to deliver Registration Request into the network.
Preconditions:
Initial access and RRC setup completed successfully.
Domain: Access-side radio control carrying core-bound NAS payload
Signaling bearer: SRB1
Logical channel: UL-DCCH
Transport / encapsulation: RRC over DCCH on SRB1 after the initial setup has been applied
Security context: Sent after SRB1 is established. Depending on the exact stage, the message is still before later AS security activation but already uses the dedicated control bearer rather than SRB0.
Message Structure Overview
RRCSetupComplete still uses the RRC transaction wrapper, but the operationally important payload is the dedicated NAS message plus selected PLMN and optional AMF or slice context.
Unlike RRCSetupRequest, this message is sent on SRB1 and therefore marks the move to the dedicated connected-mode control bearer.
Engineers should inspect the dedicatedNAS-Message first, then selectedPLMN-Identity and any AMF / S-NSSAI context.
In practice, read this message as the UE confirming setup and handing the first real NAS payload into the radio-to-core pipeline. The dedicatedNAS-Message is usually the most important field.
selectedPLMN-Identity should match the PLMN selection broadcast and chosen by the UE.
The key payload is dedicatedNAS-Message because it tells the network what core procedure starts next.
If present, registeredAMF and slice information can influence how the later core handling proceeds.
Important Information Elements
IE
Required
Description
rrc-TransactionIdentifier
Yes
Transaction identifier matching the RRC setup transaction being completed.
selectedPLMN-Identity
Yes
Index of the PLMN or SNPN selected by the UE from the plmn-IdentityInfoList or npn-IdentityInfoList broadcast in SIB1.
registeredAMF
Optional
Transfers the GUAMI of the AMF where the UE is registered, as provided by upper layers.
guami-Type
Optional
Indicates whether the GUAMI is native or mapped.
s-NSSAI-List
Optional
Carries one or more S-NSSAI values provided by upper layers for slice-related access handling.
dedicatedNAS-Message
Yes
Mandatory NAS message container used to transfer the initial UE-specific NAS message transparently through RRC.
ng-5G-S-TMSI-Value
Optional
Optional NG-5G-S-TMSI value. In the normal RRCSetupRequest -> RRCSetup -> RRCSetupComplete path, the UE sets the Part2 form when upper layers provide a 5G-S-TMSI.
lateNonCriticalExtension
Optional
Late non-critical extension container used for release evolution and backward compatibility.
nonCriticalExtension
Optional
Regular extension branch used for later release additions such as idle measurement availability, mobility history, UL RRC segmentation, onboarding request, NCR indication, and mobile IAB indication.
Detailed field explanation
rrc-TransactionIdentifier
Transaction identifier matching the RRC setup transaction being completed.
Presence: Required
In practice: In practice, compare this field with the original request and with any later release-dependent optional fields so you can see whether the network accepted the same service model the UE asked for.
selectedPLMN-Identity
Index of the PLMN or SNPN selected by the UE from the plmn-IdentityInfoList or npn-IdentityInfoList broadcast in SIB1.
Presence: Required
In practice: In practice, compare this field with the original request and with any later release-dependent optional fields so you can see whether the network accepted the same service model the UE asked for.
registeredAMF
Transfers the GUAMI of the AMF where the UE is registered, as provided by upper layers.
Presence: Optional
In practice: In practice, compare this field with the original request and with any later release-dependent optional fields so you can see whether the network accepted the same service model the UE asked for.
guami-Type
Indicates whether the GUAMI is native or mapped.
Presence: Optional
In practice: In practice, compare this field with the original request and with any later release-dependent optional fields so you can see whether the network accepted the same service model the UE asked for.
s-NSSAI-List
Carries one or more S-NSSAI values provided by upper layers for slice-related access handling.
Presence: Optional
In practice: This is the slice context that ties the session to the network selection outcome. In roaming or slice-specific cases, it is one of the strongest indicators of whether the session landed on the expected slice.
dedicatedNAS-Message
Mandatory NAS message container used to transfer the initial UE-specific NAS message transparently through RRC.
Presence: Required
In practice: In practice, compare this field with the original request and with any later release-dependent optional fields so you can see whether the network accepted the same service model the UE asked for.
ng-5G-S-TMSI-Value
Optional NG-5G-S-TMSI value. In the normal RRCSetupRequest -> RRCSetup -> RRCSetupComplete path, the UE sets the Part2 form when upper layers provide a 5G-S-TMSI.
Presence: Optional
In practice: In practice, compare this field with the original request and with any later release-dependent optional fields so you can see whether the network accepted the same service model the UE asked for.
lateNonCriticalExtension
Late non-critical extension container used for release evolution and backward compatibility.
Presence: Optional
In practice: In practice, compare this field with the original request and with any later release-dependent optional fields so you can see whether the network accepted the same service model the UE asked for.
nonCriticalExtension
Regular extension branch used for later release additions such as idle measurement availability, mobility history, UL RRC segmentation, onboarding request, NCR indication, and mobile IAB indication.
Presence: Optional
In practice: In practice, compare this field with the original request and with any later release-dependent optional fields so you can see whether the network accepted the same service model the UE asked for.
What to check in logs and traces
Confirm the message follows a valid RRCSetup and uses SRB1 / UL-DCCH.
Decode the embedded dedicatedNAS-Message fully and correlate it with the expected procedure.
Check selectedPLMN-Identity against SIB1 broadcast information and UE selection.
Inspect any registeredAMF or NG-5G-S-TMSI-related context for consistency with prior UE state.
Correlate the message with the subsequent Initial UE Message on N2.
Common Issues and Troubleshooting
RRCSetupComplete is missing after RRCSetup.
Likely cause: The UE may have failed while applying RRC Setup or failed before assembling the dedicated NAS payload.
What to inspect: Check RRCSetup content, SRB1 bring-up, and whether the UE can build the NAS message.
Next step: Troubleshoot the transition from RRCSetup to SRB1-based uplink signaling.
RRCSetupComplete is present but the core procedure fails immediately.
Likely cause: The embedded NAS message or identity context may be wrong even though the radio procedure succeeded.
What to inspect: Decode dedicatedNAS-Message, selected PLMN, and AMF-related fields, then compare with Initial UE Message.
Next step: Shift troubleshooting from pure RRC to the NAS / NGAP handoff path.
Unexpected PLMN or AMF context is used.
Likely cause: selectedPLMN-Identity or registeredAMF-related fields may not match the scenario.
What to inspect: Check SIB1 selection context, GUAMI usage, and any temporary identity values.
Next step: Validate PLMN selection and UE context assumptions.
LTE / 5G / Variant Comparison
Compared with RRCSetupRequest
RRCSetupRequest asks for access on SRB0 and contains no NAS payload. RRCSetupComplete confirms setup on SRB1 and carries the dedicated NAS message that launches the core procedure.
FAQ
What is RRCSetupComplete in 5G NR?
It is the uplink RRC message that confirms successful RRC connection establishment and carries the UE's initial NAS message toward the network.
What NAS message is usually inside RRCSetupComplete?
Common examples are Registration Request and Service Request, depending on why the UE initiated the connection.
Does RRCSetupComplete use SRB0 or SRB1?
RRCSetupComplete is sent on SRB1 using DCCH and RLC AM, unlike RRCSetupRequest which is sent on SRB0 and CCCH.
What comes after RRCSetupComplete?
The network typically forwards the NAS message toward the AMF and continues with procedures such as Initial UE Message, Downlink NAS Transport, and Security Mode Command.
Decode this message with the 3GPP Decoder, inspect the related message database, or open the matching call flow to see where this signaling step fits in the full procedure.