>
Home5G NRCross-Layer TopicsService Request Flow
🧠 Cross-Layer TopicsIntermediate

Service Request Call Flow (Idle → Connected) in 5G NR

How an idle (CM-IDLE / RRC_IDLE) UE returns to connected — UE- or network-triggered Service Request, RRC setup, N2 context setup and the user-plane restore, step by step.

📚 3GPP-basedTS 23.502TS 24.501TS 38.300

A phone that is registered but sitting idle has told the core network "I exist and here is roughly where I am" — but it holds no radio bearers and no user-plane tunnel. Nothing can flow to it or from it until those resources are rebuilt. The Service Request is the procedure that rebuilds them on demand: it takes a UE from CM-IDLE back to CM-CONNECTED, re-activates the user plane for its PDU sessions, and does so whether the UE wants to send data or the network needs to deliver it. This page is grounded in TS 23.502 (5GS procedures), TS 24.501 (5GS NAS), and TS 38.331 (NR RRC).

Introduction

The Service Request is the most frequently run signalling procedure in a live 5G network — far more common than registration, which typically happens once per power cycle or per new tracking area. Every time a registered-but-idle phone gets a notification, sends a keep-alive, or the user unlocks it to load a page, a Service Request is what rebuilds the radio bearers and the user-plane tunnel that idle mode tore down.

It sits at the boundary between the connection-management states: it moves the UE from CM-IDLE to CM-CONNECTED on the core side, and from RRC_IDLE/RRC_INACTIVE to RRC_CONNECTED on the access side. It exists in three flavours — UE-triggered, network-triggered (paging first), and the lighter control-plane variant — but all three end in the same place: re-activated PDU session user planes and a restored N3 tunnel.

Because it stitches together paging, RRC, NGAP over N2, NAS 5GMM, and the SMF/UPF re-activation over N11/N4, a Service Request failure is almost always localisable to one hop. This page walks the heaviest path — network-triggered from RRC_IDLE — message by message, then shows what the RRC_INACTIVE resume path skips.

Call Flow — Network-Triggered Service Request from RRC_IDLE

Read the flow as four beats. First, downlink data arrives and the core decides it must fetch the UE. Second, the UE is paged and answers with an RRC setup that carries the NAS Service Request. Third, the AMF re-activates the user plane toward the SMF and orders the gNB to build the security context and radio bearers. Fourth, the N3 tunnel is restored and user data flows again.

UE gNB AMF SMF / UPF DL data at UPF → SMF notifies AMF (Namf N1N2 transfer) 1 Paging 2 RRCSetupRequest 3 RRCSetup 4 RRCSetupComplete + Service Request (NAS) 5 INITIAL UE MESSAGE (NGAP) + Service Request 6 Nsmf_PDUSession_UpdateSMContext 7 Initial Context Setup Request (N2) 8 RRCReconfiguration (DRB) 9 RRCReconfigurationComplete 10 Initial Context Setup Response N3 tunnel restored (UPF ↔ gNB) — user data flows
Figure 1. Network-triggered Service Request from RRC_IDLE. Downlink data buffered at the UPF triggers paging; the UE answers with an RRC setup carrying the NAS Service Request; the AMF re-activates the user plane and orders Initial Context Setup, restoring the N3 tunnel.

A few things are worth noticing. The NAS Service Request is piggybacked in step 4 on RRCSetupComplete and then relayed transparently by the gNB in the NGAP INITIAL UE MESSAGE at step 5 — the gNB does not interpret it. Step 6 is where the SMF is told to re-activate the user plane; it allocates the UPF-side N3 tunnel endpoint and returns it so the AMF can pass it to the gNB inside the Initial Context Setup Request at step 7, which also carries the security context and the PDU session resource setup list. Steps 8–9 build the data radio bearers over the air. Only after step 10 confirms the gNB-side tunnel endpoint to the AMF (relayed on to the SMF) is the bidirectional N3 path complete and the buffered downlink packets released.

Message-by-message breakdown

The same discipline that works for RACH works here: identify the first message that did not happen and you have localised the fault. Below, each key step of the network-triggered flow gets its own debugging checklist and the failure modes that live at that hop.

🎯

Exact channels & identities: paging (step 1) is carried on a PDSCH scheduled by a DCI format 1_0 whose CRC is scrambled with the P-RNTI (fixed 0xFFFE), monitored in the Type2-PDCCH common search space (pagingSearchSpace) at the UE's paging occasion; the Paging record identifies the UE by its 5G-S-TMSI (or ng-5G-S-TMSI). The UE then answers with the four-step RACH — Msg2 RAR on PDSCH via DCI 1_0/RA-RNTI (Type1-PDCCH CSS), Msg4 via DCI 1_0/TC-RNTI — and the NAS Service Request rides RRCSetupComplete on SRB1.

Step 1 — Paging

DL data buffered at the UPF makes the SMF send Namf_Communication_N1N2MessageTransfer to the AMF; the AMF pages the UE across its whole registration area (every TAI in the TAI list). The UE monitors its paging occasion and matches its 5G-S-TMSI.

✅ Debugging steps

  • Confirm the SMF actually notified the AMF (buffered DL data present) and the AMF issued paging to the right registration area.
  • Check the paging record uses the correct 5G-S-TMSI and that the UE's DRX paging occasion (from defaultPagingCycle) aligns with when paging was sent.
  • Verify the UE monitored P-RNTI (0xFFFE) on the Type2-PDCCH CSS.

⚠ Common causes of failure

  • UE out of coverage or in deep DRX sleep, so it misses the paging occasion.
  • Paging sent to the wrong TAI list (stale registration area), so the UE is not reached.
  • Wrong 5G-S-TMSI in the paging record, so the UE never recognises the page.

Steps 2–4 — RRC setup carrying the NAS Service Request

The paged UE runs RACH and RRC: RRCSetupRequest (Msg3, with ng-5G-S-TMSI as identity and an establishmentCause such as mt-Access), RRCSetup (Msg4), and RRCSetupComplete carrying the NAS Service Request as dedicatedNAS-Message.

✅ Debugging steps

  • Confirm RACH completed (Msg1–Msg4) and RRC_CONNECTED was reached — see the Random Access page to debug the individual messages.
  • Check RRCSetupComplete carried a non-empty dedicatedNAS-Message containing the Service Request, and that establishmentCause matches the trigger (mt-Access for network-triggered).
  • Verify the Uplink data status / PDU session status IEs in the Service Request list the sessions to re-activate.

⚠ Common causes of failure

  • RACH itself fails (preamble not detected, contention lost) so no RRC connection forms.
  • Missing or malformed NAS Service Request in RRCSetupComplete.
  • Mismatched PDU session status bitmap so the AMF re-activates the wrong sessions.

Steps 5–6 — NGAP relay and SMF user-plane re-activation

The gNB relays the Service Request transparently in the NGAP INITIAL UE MESSAGE; the AMF calls Nsmf_PDUSession_UpdateSMContext so the SMF re-activates the user plane and allocates the UPF-side N3 tunnel endpoint (TEID).

✅ Debugging steps

  • Confirm the gNB selected the serving AMF and sent INITIAL UE MESSAGE with a valid RAN-UE-NGAP-ID.
  • Trace Nsmf_PDUSession_UpdateSMContext (AMF→SMF) and confirm the SMF returned N2 SM info with the UPF UL N3 TEID/endpoint.
  • Check the SMF re-armed the N4 rules at the UPF for the sessions being resumed.

⚠ Common causes of failure

  • N2/SCTP association down, so the NAS message never reaches the AMF.
  • SMF/UPF unreachable over N11/N4, so the user plane is not re-activated.
  • Session context expired at the SMF (e.g. session already released), returning an error.

Steps 7–10 — Initial Context Setup, DRB, and N3 completion

The AMF sends Initial Context Setup Request over N2 with the security context and the PDU session resource setup list (QoS flows + UPF N3 TEID). The gNB runs RRCReconfiguration to rebuild the DRBs, the UE confirms with RRCReconfigurationComplete, and the gNB returns Initial Context Setup Response with its own N3 TEID — completing the bidirectional tunnel and releasing buffered DL data.

✅ Debugging steps

  • Confirm Initial Context Setup Request carried the AS security key and the PDU session resource list (QFI/5QI, UPF N3 TEID).
  • Check the gNB re-established the DRB(s) via RRCReconfiguration and received RRCReconfigurationComplete.
  • Verify the gNB's DL N3 TEID reached the AMF/SMF in Initial Context Setup Response so both tunnel ends are set.

⚠ Common causes of failure

  • Radio admission/DRB setup failure at the gNB, so the bearer is never rebuilt.
  • AS security mismatch (stale K_gNB), so RRCReconfiguration is rejected.
  • N3 TEID mismatch, so DL packets are still dropped despite a "successful" setup.

Representative core/NGAP trace (network-triggered Service Request) — illustrative, values vary by vendor/build:

SMF: DL data notification (UPF buffer, PDU session 5) -> Namf_Communication_N1N2MessageTransfer AMF: PAGING sent, 5G-S-TMSI=0x0A1B2C3D, TAIListForPaging={311/480 TAC 0x191, 0x192}, pagingDRX=rf128 gNB: RRCSetupComplete rx, dedicatedNAS = ServiceRequest, establishmentCause=mt-Access NGAP: INITIAL UE MESSAGE, RAN-UE-NGAP-ID=42, NAS=ServiceRequest AMF: Nsmf_PDUSession_UpdateSMContext (PDU 5, UP activate) -> N2 SM info: UPF N3 TEID=0x00A0B0C0 NGAP: INITIAL CONTEXT SETUP REQUEST, QosFlow QFI=9 5QI=9, UL-NGU TEID=0x00A0B0C0 gNB: RRCReconfiguration (DRB1 re-add) -> RRCReconfigurationComplete NGAP: INITIAL CONTEXT SETUP RESPONSE, DL-NGU TEID=0x00113355 -> N3 tunnel complete, DL data released
FieldMeaningExampleCheck
5G-S-TMSITemporary UE identity the AMF pages with and the UE answers under.0x0A1B2C3DMust match the value the UE holds; a mismatch means the UE never responds to the page.
TAIListForPagingRegistration area over which the UE is paged.TAC 0x191/0x192The UE's current TA must be in this list, or the page never reaches it.
establishmentCauseWhy the RRC connection is being set up.mt-Accessmt-Access for network-triggered; mo-Data/mo-Signalling for UE-triggered — a wrong cause hints at the wrong trigger.
NAS = ServiceRequestThe 5GMM message relayed transparently by the gNB.in INITIAL UE MESSAGEMust be present and decodable; absent = RRC problem, not core.
UPF N3 TEID (UL)Tunnel endpoint the gNB sends UL data to.0x00A0B0C0Returned by the SMF; must appear in INITIAL CONTEXT SETUP REQUEST.
gNB N3 TEID (DL)Tunnel endpoint the UPF sends DL data to.0x00113355Must reach the SMF via the response; missing = one-way or dropped DL.
QFI / 5QIQoS flow being restored and its characteristics.QFI 9 / 5QI 9Must match the session's configured flow; a wrong 5QI mis-maps the DRB.

Why a Service Request Exists

💡

In plain words: think of registration as getting a library card, and the Service Request as actually walking up to the desk to borrow a book. Holding the card (being registered) costs the library nothing while you are away; but the moment you want a book — or the librarian has a reserved book to hand you (a page) — someone has to walk to the counter and re-open the transaction. Keeping a checkout desk permanently staffed for every cardholder who might show up would be absurd; the Service Request is the "walk up to the desk on demand" that makes idle mode cheap.

When a UE goes idle, two independent state machines drop to their resting positions. On the access side RRC moves to RRC_IDLE (or the intermediate RRC_INACTIVE); the gNB releases the radio bearers and, in RRC_IDLE, discards the UE's access-stratum context entirely. On the core side the NAS connection-management state moves to CM-IDLE: there is no N2 signalling association and no N3 user-plane tunnel between the gNB and the UPF. The UE stays RM-REGISTERED — the AMF still holds its mobility context and can page it — but the pipe that carries actual traffic is gone.

What

The Service Request is a NAS procedure (Service Request message, in TS 24.501) that asks the AMF to transition the UE to CM-CONNECTED and re-activate the user-plane resources of one or more PDU sessions.

Why

Keeping bearers up for every idle UE would exhaust radio and transport resources. Tearing them down and rebuilding on demand is the whole point of idle mode — but something has to rebuild them, fast, when traffic appears.

How

The UE sets up RRC, sends Service Request inside RRCSetupComplete, and the AMF drives an Initial Context Setup over N2 plus an Nsmf_PDUSession_UpdateSMContext toward the SMF to re-arm the N3 tunnel.

🎯

Core idea: registration proves who the UE is and where it is; the Service Request rebuilds the plumbing so packets can actually move. It is the everyday round-trip in and out of connected mode — run far more often than registration itself.

UE-Triggered, Network-Triggered, and the Control-Plane Variant

The same NAS message serves three situations that differ only in what starts the ball rolling.

  • UE-triggered. The UE has uplink user data to send, or a NAS/RRC signalling need (for example a mobility registration update where it also wants the user plane back). It simply initiates RRC and sends Service Request. No paging is involved — the UE already knows it wants a connection.
  • Network-triggered. Downlink data (or downlink signalling) arrives for an idle UE. The UPF buffers the packets and notifies the SMF; the SMF sends an Namf_Communication_N1N2MessageTransfer to the AMF, which cannot reach the UE directly, so it pages the UE across its registration area. The paged UE then responds by launching exactly the same UE-side Service Request. In other words, network-triggered = "page first, then the UE does a Service Request."
  • Control-Plane Service Request. A lighter variant used mainly with the Control Plane CIoT 5GS optimisation, where small data and SMS are carried inside NAS on the signalling plane rather than over a re-activated N3 user-plane tunnel. The UE sends a Control Plane Service Request and the payload rides the control plane, avoiding the cost of full DRB and N3 setup for tiny, infrequent transfers.
💡

One message, three doors: the Service Request (and its Control Plane Service Request sibling) is always sent by the UE. What differs is the trigger: pending uplink data, or a page telling the UE the network has something for it. The Uplink data status and PDU session status IEs in the request tell the AMF exactly which PDU sessions to re-activate.

RRC_IDLE vs RRC_INACTIVE — Two Speeds of Resume

The cost of a Service Request depends heavily on which idle-ish state the UE was in. From true RRC_IDLE the gNB has no stored access-stratum context, so the UE must run a full RRC setup and the NAS Service Request travels all the way to the AMF. From RRC_INACTIVE the last serving gNB kept the UE's AS context and the core-network connection was only "suspended" — so the UE can resume with a much lighter RRCResume handshake and, in the best case, never bother the AMF at all.

AspectFrom RRC_IDLEFrom RRC_INACTIVE
AS context at gNBDiscarded — rebuilt from scratchStored (suspended) at last serving gNB
RRC procedureRRCSetupRequest / RRCSetup / RRCSetupCompleteRRCResumeRequest / RRCResume / RRCResumeComplete
UE identity used5G-S-TMSI (in Msg3)I-RNTI (points to the stored context)
NAS involvementService Request to AMF alwaysOften none — context fetched over Xn, connection resumed
Context retrievalN/ANew gNB fetches context over Xn (Retrieve UE Context) from old gNB
Relative speed / signallingHeavier, more round-tripsLighter, faster access

The rest of this page walks the heavier case — network-triggered Service Request from RRC_IDLE — because it exercises every node. The resume path section then shows what is skipped when the UE was merely RRC_INACTIVE. Both states, and the transitions between them, are covered in RRC states.

The RRC_INACTIVE Resume Path — Why It's Faster

When the UE was suspended into RRC_INACTIVE rather than released to RRC_IDLE, the previous ("last serving") gNB kept the full access-stratum context and gave the UE an I-RNTI — a handle that identifies that stored context. On the core side, the N2 and N3 connections were placed into a suspended state, not torn down. Resuming is therefore a much lighter transaction.

The UE sends RRCResumeRequest carrying its I-RNTI and a short security token. If it lands on the same gNB, that gNB simply reactivates the stored context. If it lands on a different gNB, the new gNB reads the I-RNTI, works out which old gNB holds the context, and fetches it over the Xn interface with a Retrieve UE Context Request / Retrieve UE Context Response exchange — no full RRC rebuild, no round-trip to the AMF to re-derive keys from scratch. The gNB replies with RRCResume (which itself carries the radio-bearer reconfiguration), and the UE confirms with RRCResumeComplete. The user plane is re-activated by the network resuming the suspended N3 path.

🎯

Why faster: the expensive parts of the idle case — full RRC setup, NAS Service Request to the AMF, and rebuilding the AS security context from nothing — are all skipped. Context is moved laterally over Xn instead of being reconstructed vertically through the core. That is exactly why RRC_INACTIVE exists: keep the phone reachable and cheap to wake, without holding radio bearers. See RRC states.

The trade-off is that the last serving gNB must retain context and the core must hold suspended associations, so RRC_INACTIVE is a resource choice the network makes; a UE parked there too long, or roaming beyond the configured RAN notification area, may still fall back to a full RRC_IDLE Service Request.

🔀

LTE ↔ NR: LTE has a NAS Service Request too (EMM), used to move from ECM-IDLE to ECM-CONNECTED and re-activate EPS bearers — the shape is the same (page → RRC → Service Request → S1AP Initial Context Setup). The big NR addition is RRC_INACTIVE: LTE had no equivalent stored-context suspend state, so every idle-to-connected transition in LTE was the "heavy" path. NR's RRCResume over the I-RNTI with Xn context fetch has no LTE counterpart (Rel-13 LTE "RRC Suspend/Resume" is the closest ancestor). NR also cleanly separates re-activation per PDU session via the PDU session status/Uplink data status IEs.

Summary

The Service Request is the everyday hinge in and out of connected mode, and it fails in predictable places. Debug it as a chain: if the UE never wakes, suspect paging — coverage, DRX alignment, wrong 5G-S-TMSI, or a stale TAI list. If it wakes but never reaches the AMF, suspect RACH/RRC — the four-step procedure or a missing NAS Service Request in RRCSetupComplete. If the AMF gets it but the pipe never rebuilds, suspect the SMF/UPF re-activation (Nsmf_PDUSession_UpdateSMContext, N4) or the Initial Context Setup/DRB rebuild and N3 TEID exchange.

Two facts save the most time. First, the message is always sent by the UE — "network-triggered" just means "paged first," so a network-triggered failure is often really a paging or RACH failure. Second, the user plane is not up until both N3 TEIDs are exchanged; a session that looks "set up" but drops downlink almost always has a one-sided or mismatched tunnel endpoint. And remember the fast path: from RRC_INACTIVE most of this is skipped via RRCResume and Xn, so confirm which state the UE was actually in before assuming the heavy flow.

Quick Q&A

Q&A Interview quickfire

Q. Who sends the Service Request message — the UE or the network?

A. Always the UE. In the network-triggered case the network only pages first; the UE responds by initiating RRC and sending the NAS Service Request itself. There is no "network Service Request" message — the network side is a page plus, later, Initial Context Setup and Nsmf_PDUSession_UpdateSMContext.

Q. What is the main difference between resuming from RRC_IDLE and from RRC_INACTIVE?

A. From RRC_IDLE there is no stored AS context, so the UE runs a full RRCSetup and the NAS Service Request goes to the AMF. From RRC_INACTIVE the context is stored at the last serving gNB and referenced by the I-RNTI; the UE uses the lighter RRCResume, and a new gNB fetches the context over Xn — often with no AMF involvement, so it is faster.

Q. When is the Control-Plane Service Request used instead of the normal one?

A. With the Control Plane CIoT 5GS optimisation, for small/infrequent data (and SMS) carried inside NAS on the signalling plane. It avoids building data radio bearers and re-activating the N3 user-plane tunnel, which would be disproportionate overhead for a few bytes.

🎯

Preparing for a 4G/5G technical interview?

Mastering end-to-end call flows message-by-message is the baseline interviewers expect for tier-1 network testing and design roles. Get live feedback on how you hold up under real questions.

Book a Mock Interview ₹199 →

Where the Service Request connects

The Service Request is the hinge between idle and connected: paging wakes the UE, the Service Request rebuilds the pipe, and the PDU session's user plane comes back to life. From here, follow how the network finds the UE, how the sessions it re-activates are built, and the states it moves between.

Paging — how the network reaches an idle UEPDU Session — the user plane being re-activatedRRC States — IDLE, INACTIVE and CONNECTED