>
HomeLTE 4GRRC — Radio Resource ControlCell Reselection
🗂️ RRC — Radio Resource ControlAdvanced

Cell Reselection (Idle) in LTE 4G

Idle-mode mobility — the S-criterion for suitability, the R-criterion ranking, absolute frequency priorities, and intra/inter-frequency and inter-RAT reselection.

📚 3GPP-basedTS 36.304TS 36.331

When your phone sits in your pocket with no active call or data session, it is not idle in the lazy sense — it is quietly watching the radio around it and deciding, entirely on its own, which cell to camp on. That autonomous "which cell is best right now?" decision in RRC_IDLE is cell reselection, and it is governed by TS 36.304 (the UE procedures) with the thresholds and timers broadcast per TS 36.331. The network never commands an idle UE to move; the UE moves itself, using a small toolbox of criteria and a handful of parameters it reads from the System Information Blocks.

Introduction

Cell reselection is the idle-mode mobility procedure a UE runs continuously while camped on a cell but not connected. It is a pure UE-autonomous algorithm — defined by TS 36.304, parameterised by values broadcast per TS 36.331 — with no per-move signalling to the network. The UE measures, ranks or priority-compares, waits out a timer, and hops, all on its own.

It runs precisely in RRC_IDLE (and the idle-like paging states of later releases), the state where the UE has no C-RNTI, no bearer, and no handover machinery. Because there is no dedicated connection to hand over, the UE cannot be told where to go; it must keep itself camped on the best usable cell so that paging reaches it and a later access attempt succeeds — and it must do so without burning battery on constant measurement.

The procedure is a short pipeline: decide whether to measure (search thresholds) → check a candidate is usable (S-criterion) → choose among usable candidates (R-criterion ranking or absolute-priority comparison) → commit only after it stays best (Treselection). Knowing which stage a stuck UE is in — not measuring, measuring but nothing qualifies, qualifying but never committing — is usually enough to name the misconfigured parameter.

Why cell reselection is needed

💡

In plain words: reselection is like walking through a building while streaming music on Wi-Fi with your screen off. You don't phone the IT desk every time you drift toward a better access point — your phone quietly notices the current one is fading, sees a stronger one, waits a moment to be sure it isn't a fluke, and switches. The network stays out of it entirely; the device just keeps itself on the best usable connection so that when a message finally arrives, it lands.

Concretely, reselection exists because of what idle mode is. The UE holds no radio connection and no context in any cell, so there is no bearer to hand over and no eNB tracking it move-by-move — the network literally cannot steer it. Yet the UE must stay reachable: it has to be camped on a cell whose paging channel it can hear and through which a later RRC connection can actually succeed. And it must do all of this on a tight battery budget, so it cannot measure every neighbour all the time. Reselection is the algorithm that balances those three pressures — keep camped somewhere good, follow real coverage changes, but don't waste power or ping-pong on noise.

What

An idle-mode UE autonomously re-evaluating which cell to camp on, using measured level and quality against thresholds it reads from SIB3 (serving-cell and common reselection info), SIB4 (intra-frequency neighbours), SIB5 (inter-frequency E-UTRA), and SIB6/SIB7 (UTRAN/GERAN inter-RAT).

Why

In idle there is no per-UE signalling budget for handover. Letting the UE decide keeps it camped where paging will reach it and where a later RRC connection can succeed — without waking the network for every small movement, and without draining the battery on constant measurement.

How

The UE checks a cell is still suitable (the S-criterion), then either ranks candidates by signal (the R-criterion, for equal-priority and intra-frequency) or compares by absolute frequency priority, and finally commits only after a candidate stays better for Treselection.

Cell Selection vs Cell Reselection

Two closely related procedures often get muddled. Cell selection is the one-shot act of finding a suitable cell to camp on when the UE first powers up, returns from out-of-coverage, or transitions out of connected mode. It comes in two flavours: initial cell selection, where the UE has no stored information and scans every carrier and every band it supports for the strongest cell; and stored-information cell selection, where the UE uses previously saved carrier frequencies and cell parameters to find a suitable cell faster. Either way the goal is the same — land on a cell that passes the suitability test so the UE can camp.

Cell reselection is the ongoing job that runs while already camped in idle (and in RRC_INACTIVE-like paging states in later releases): the UE keeps measuring the serving cell and neighbours and hops to a better one when the rules say so. This page is about reselection. The essential difference is that selection answers "where do I camp now, from a cold or semi-cold start?" while reselection answers "should I move from the cell I am already camped on?" — a continuous background loop rather than a one-time search.

🎯

Camped normally: once selection or reselection lands the UE on a suitable cell of its registered/selected PLMN, it is "camped normally" — it monitors that cell's paging channel, reads system information, and can initiate access. Everything below is about keeping that camped cell the best available one.

The S-Criterion — Is a Cell Suitable?

Before any ranking or priority comparison happens, a cell must pass the suitability test, the S-criterion. It asks whether the received level (and, from Release 9, the received quality) clears the minimum the operator has configured. The received-level term Srxlev is built from measured RSRP minus the minimum required level; the quality term Squal is built from measured RSRQ minus a minimum quality. A cell qualifies only when the relevant terms are positive — Srxlev > 0, and, where quality is configured, Squal > 0.

Srxlev = Qrxlevmeas − ( q-RxLevMin + Pcompensation ) − Qoffsettemp
Squal = Qqualmeas − ( q-QualMin + Qqualminoffset ) − Qoffsettemp

Here Qrxlevmeas is measured RSRP and Qqualmeas is measured RSRQ. q-RxLevMin and q-QualMin are the operator's floors, broadcast in the SIBs. Pcompensation accounts for the UE's uplink power headroom: a UE that physically cannot reach the cell on the uplink should not treat it as suitable, so this term subtracts a penalty derived from p-Max and the UE's power class — formally Pcompensation = max(PEMAXPPowerClass, 0). Qoffsettemp is a temporary offset applied to a cell after a failed access attempt, so a cell that just rejected the UE is briefly made to look worse. The optional q-RxLevMinOffset / Qqualminoffset terms are applied only during periodic search for a higher-priority PLMN while roaming, so a visited network cannot trap the UE. The Squal (RSRQ-based) gate was added in Release 9; on legacy configurations only Srxlev is checked.

📘

Suitability gates everything. A cell that fails the S-criterion is never reselected, no matter how strongly it ranks or how high its priority. Ranking (R-criterion) and priority comparison only ever choose among cells that are already suitable. The S-criterion is also the same test used at initial cell selection — the difference is only what happens after a cell passes.

✅ Debugging steps

  • Read the serving cell's q-RxLevMin (and q-QualMin, Rel-9+) from SIB1/SIB3 and recompute Srxlev / Squal against the measured RSRP/RSRQ in the trace.
  • Check Pcompensation = max(PEMAXPPowerClass, 0) — a power-limited UE on a high-p-Max cell can fail suitability even with decent RSRP.
  • Confirm no Qoffsettemp penalty is lingering from a recent failed access, artificially suppressing an otherwise-suitable cell.
  • Verify the cell is not barred (cellBarred in SIB1) or reserved — a barred cell fails suitability regardless of level.

⚠ Common causes of failure

  • q-RxLevMin / q-QualMin set too high, so genuinely usable cells never pass suitability (UE goes "no suitable cell", out of service).
  • Power-limited UE with a large Pcompensation penalty on a cell it can hear but cannot reach on the uplink.
  • Cell barred, reserved for operator use, or belonging to a forbidden PLMN/TA, so it is excluded despite strong signal.
  • Rel-9 Squal gate biting under heavy load: RSRP is fine but RSRQ collapses, so the cell drops out of suitability.

The R-Criterion — Ranking & the Treselection Timer

For intra-frequency neighbours, and for inter-frequency neighbours of equal priority, absolute priorities cannot break the tie — so the UE falls back to signal-strength ranking, the R-criterion. Each cell is given a rank value R in dBm. The serving cell gets a hysteresis bonus Qhyst to make it "sticky", while each neighbour can be nudged up or down by cell- and frequency-specific offsets bundled into Qoffset.

Rs = Qmeas,s + Qhyst
Rn = Qmeas,nQoffset

Qmeas is measured RSRP. For a neighbour on the same frequency, Qoffset is just the cell-specific offset q-OffsetCell; for an equal-priority inter-frequency neighbour it is the sum of the frequency offset q-OffsetFreq and the cell offset. The UE continuously computes Rs for the serving cell and Rn for every suitable neighbour, sorts them, and identifies the best-ranked cell.

But ranking better for an instant is not enough. The UE reselects to the highest-ranked neighbour only if all three of these hold: the new cell is ranked better than the serving cell (Rn > Rs); this has been true for the whole duration of the reselection timer Treselection; and more than 1 second has elapsed since the UE last camped on the current serving cell. That middle condition is the anti-ping-pong heartbeat of the whole procedure.

Treselection is the commitment timer. A neighbour can flicker above the serving cell for a moment during a fade and it changes nothing. Only when it stays better for the entire Treselection window does the UE actually move. Lengthening Treselection makes the UE more stable but slower to follow real coverage changes; shortening it makes reselection snappier but risks ping-pong. It is the single most important knob for tuning idle-mode stability, and — as the last section shows — it is scaled down automatically when the UE is moving fast.

Two subtleties round out the R-criterion. Qhyst is the margin a neighbour must beat: because it is added to Rs, a neighbour must exceed the serving cell by more than Qhyst dB before it can even start the Treselection clock. And Qoffset lets the operator bias the outcome — a positive q-OffsetCell discourages reselection to a specific neighbour (useful to protect a congested cell), while a negative one actively encourages it (useful to pull traffic onto a preferred cell).

R-criterion over time: neighbour must stay better for Treselection rank R (dBm) time → Rs = Qmeas,s + Qhyst (serving) Rn = Qmeas,n − Qoffset Rn crosses above Rs still better after Treselection → reselect Treselection window
Figure 1. Two cells ranked over time. The neighbour (dashed) climbs above the serving cell (solid) at the first marker, but the UE waits: only when Rn stays above Rs for the full Treselection window does it reselect, at the second marker.

✅ Debugging steps

  • Compute Rs = Qmeas,s + Qhyst and Rn = Qmeas,nQoffset from the trace and confirm the ranking order matches what the UE actually did.
  • Check the target genuinely beats the serving cell by more than Qhyst before expecting the Treselection clock to even start.
  • Measure how long Rn > Rs held and compare to the broadcast Treselection; confirm the >1 s-since-camping guard is also satisfied.
  • Inspect q-OffsetCell/q-OffsetFreq for a bias that is deliberately suppressing or forcing this neighbour.

⚠ Common causes of failure

  • Treselection too long, so a moving UE lags behind coverage and drops the serving cell before it commits (ping-out / call setup on a dying cell).
  • Treselection too short or Qhyst too small, causing ping-pong between two similar cells.
  • A large positive q-OffsetCell/q-OffsetFreq unintentionally locking the UE onto a weakening serving cell.
  • The 1-second minimum-camp guard repeatedly blocking rapid moves in a fast-fading pocket.

Absolute Frequency Priorities

Ranking works within a frequency layer, but LTE steers UEs between layers with absolute priorities, not signal comparison. Every frequency layer is assigned a cellReselectionPriority (integer 0–7, higher = more preferred). These come from SIB3 for the serving frequency, SIB5 for inter-frequency E-UTRA layers, and SIB6/SIB7 for UTRAN/GERAN. Alternatively they can be delivered per-UE in the RRCConnectionRelease message via idleModeMobilityControlInfo — these dedicated priorities override the broadcast ones and are the mechanism operators use to push a specific UE onto a specific layer as it goes idle.

The rules are deliberately asymmetric depending on whether the target layer is higher or lower priority than the serving one. This asymmetry is the whole point: it keeps the UE glued to the preferred layer as long as it is usable, and only lets it fall to a lesser layer when the preferred one genuinely weakens.

Go UP (higher priority): Srxlev(target) > threshX-High for Treselection
Go DOWN (lower priority): Srxlev(serving) < threshServing-Low and Srxlev(target) > threshX-Low for Treselection

To move up to a higher-priority layer, the UE needs only the target to clear threshX-High — the serving cell's condition is irrelevant, because the operator wants the UE on the preferred layer whenever it can get there. To drop down to a lower-priority layer, two things must be true at once: the serving cell must have fallen below threshServing-Low, and the target must clear threshX-Low. If several layers qualify at the same time, the UE picks the highest-priority one. Note that equal-priority frequencies never use this comparison at all — a layer explicitly sharing the serving layer's priority is handled by the R-criterion, and a layer with no configured priority is simply not considered for reselection.

The priority ladder HIGHER priority freq reselect if Srxlev(target) > threshX-High SERVING freq (camped) Rs = Qmeas,s + Qhyst LOWER priority freq only if serving < threshServing-Low AND target > threshX-Low go UP: target strong go DOWN: serving weak equal priority → use R-criterion
Figure 2. The absolute-priority ladder. Climbing needs only a strong target; descending needs both a weak serving cell and an acceptable target. Equal-priority layers are decided by ranking instead.
💡

Why the asymmetry: it prevents ping-pong down onto a low layer while the current layer is still fine, and it guarantees the UE always drifts back up to the operator's preferred layer as soon as coverage there is adequate — exactly the behaviour you want for load-steering onto a capacity band.

✅ Debugging steps

  • List each frequency layer's cellReselectionPriority from SIB3/SIB5/SIB6/SIB7 (and check for dedicated priorities from the last RRCConnectionRelease).
  • For an "up" move, verify only that target Srxlev > threshX-High; for a "down" move, verify both serving < threshServing-Low and target > threshX-Low.
  • Confirm the target layer actually has a configured priority — a layer with no priority is silently ignored for reselection.
  • Check whether dedicated priorities have a validity timer (t320) that expired, reverting the UE to broadcast priorities mid-test.

⚠ Common causes of failure

  • Two layers accidentally sharing the same priority, so the UE ranks (R-criterion) where the operator expected a priority-based move.
  • A layer left with no cellReselectionPriority at all, making the UE never consider it.
  • threshX-High/threshServing-Low set so the UE never climbs to the capacity layer, or descends off it too eagerly.
  • Dedicated priorities from idleModeMobilityControlInfo overriding the broadcast plan in a way that pins the UE to an unexpected layer.

Intra-Frequency, Inter-Frequency & Inter-RAT

Putting the two mechanisms together, the reselection logic branches by the type of the candidate. The branch decides whether ranking or priority comparison applies, and which SIB supplied the parameters.

Intra-frequency neighbours — cells on the same carrier as the serving cell — are always chosen by the R-criterion. Priority is meaningless here because they share the serving frequency by definition. Their neighbour list and offsets come from SIB4, and a cell not in the list is still measured and considered unless it is on a black-list. Inter-frequency E-UTRA neighbours are the priority-driven case: a layer of higher or lower priority uses the threshX-High/threshX-Low rules, while a layer of equal priority drops back to R-criterion ranking with q-OffsetFreq folded into Qoffset. Their parameters come from SIB5.

Inter-RAT reselection extends the same absolute-priority machinery to other radio technologies. Reselection to UTRAN (3G) uses priorities and thresholds from SIB6; reselection to GERAN (2G) uses SIB7. Because 2G/3G do not report RSRP, the measured quantity differs — UTRAN FDD uses CPICH RSCP and Ec/No, GERAN uses GSM carrier RSSI — but the comparison logic is identical: higher-priority target needs to clear threshX-High; lower-priority target needs the serving E-UTRA cell below threshServing-Low and the target above threshX-Low. In later releases the same pattern extends to reselection toward NR via SIB24, letting an idle LTE UE drift onto a 5G cell.

Candidate typeDecided byParameter source
Intra-frequency neighbourR-criterion (ranking): reselect if Rn > Rs for TreselectionSIB3 / SIB4
Inter-frequency, equal priorityR-criterion, with q-OffsetFreq in QoffsetSIB5
Inter-frequency, higher priorityPriority: Srxlev(target) > threshX-HighSIB5
Inter-frequency, lower priorityPriority: serving < threshServing-Low AND target > threshX-LowSIB5
Inter-RAT UTRAN (3G)Priority (RSCP/EcNo based)SIB6
Inter-RAT GERAN (2G)Priority (RSSI based)SIB7
Candidate fails S-criterionNever reselected, whatever its rank or priority

Measurement Rules & Speed-State Scaling

Measuring neighbours costs battery, so the UE only powers up its receiver for reselection measurements when it is worth it. Two search thresholds decide this, both compared against the serving cell.

ThresholdApplies toRule
Sintrasearch (s-IntraSearchP/s-IntraSearchQ)Intra-frequency neighboursIf serving Srxlev > Sintrasearch (and Squal > the Q variant), the UE may skip intra-frequency measurements. Below it, it must measure same-frequency neighbours.
SnonIntraSearch (s-NonIntraSearchP/s-NonIntraSearchQ)Equal/lower-priority inter-frequency & inter-RATIf serving Srxlev > SnonIntraSearch, the UE need not measure equal- or lower-priority layers. Below it, it must.
(none — always measure)Higher-priority layers (E-UTRA and inter-RAT)A UE always measures higher-priority layers, regardless of how strong the serving cell is — the operator's preferred layer is never ignored.

If either threshold is absent from the SIB, the UE treats it as "always measure" for that category. The logic is intuitive: while your serving cell is strong there is little point scanning equal-or-lower layers, but a higher-priority layer is always worth a look because the operator would rather have you there.

The second refinement is speed-dependent (mobility-state) scaling. A fast-moving UE crosses cells quickly and should reselect more eagerly so it does not lag behind coverage. The UE estimates its own mobility state by counting how many reselections it has performed inside a sliding window t-Evaluation: crossing n-CellChangeMedium puts it in Medium-mobility state, crossing n-CellChangeHigh puts it in High-mobility state, and if it falls quiet for t-HystNormal it returns to Normal. This estimate needs no GPS and no network help — it is inferred purely from reselection history.

In Medium- and High-mobility states the UE applies the broadcast scaling factors from SpeedStateScaleFactors. Treselection is multiplied by sf-Medium or sf-High (values from 0.25 to 1.0), shortening the commitment timer so a fast UE reselects sooner. And Qhyst is adjusted by sf-Medium/sf-High from q-HystSF, typically reducing the hysteresis so the sticky bonus that keeps a stationary UE glued to its serving cell is relaxed for a mover. Net effect: the faster you go, the lower the barrier to reselection and the shorter the wait — while a stationary UE enjoys full hysteresis and a full timer for maximum stability.

🎯

Mental model: search thresholds decide whether to measure, priorities decide which layer to prefer, the S-criterion decides if a cell qualifies at all, the R-criterion breaks ties within a layer, and Treselection decides when the move actually commits. Speed scaling simply shrinks the timer and hysteresis when the UE is moving fast.

Reading reselection in the logs

Idle-mode traces expose the whole decision: the serving-cell measurement, the search-threshold comparison that gated measuring, the ranked candidate, and the timer that committed the move. Reading them in that order tells you which stage stalled.

Representative log — illustrative, values vary by vendor/build:

LTE Idle Reselection Eval serving : earfcn=1850 pci=143 RSRP=-104 dBm RSRQ=-13.0 dB Srxlev(serving)=8 dB Sintrasearch=6 SnonIntraSearch=4 --> Srxlev < Sintrasearch : measure intra-frequency neighbours Qhyst=4 dB Treselection=1 s mobilityState=NORMAL neighbour: earfcn=1850 pci=207 RSRP=-96 dBm q-OffsetCell=0 Rs = -104 + 4 = -100 Rn = -96 - 0 = -96 (Rn > Rs by 4 dB) Rn > Rs held for 1.0 s && >1 s since camping --> RESELECT to pci=207 (intra-freq, R-criterion)
FieldMeaningExampleCheck
Srxlev(serving)Serving suitability level = RSRP − (q-RxLevMin + Pcompensation).8 dBMust be > 0 for the serving cell to stay suitable; near 0 means imminent out-of-service.
Sintrasearch / SnonIntraSearchSearch thresholds gating whether neighbours are measured.6 / 4If serving Srxlev is above these the UE skips measuring; confirm that matches the "measure/skip" decision logged.
QhystServing-cell hysteresis bonus added to Rs.4 dBNeighbour must beat serving by more than this; too small = ping-pong, too large = sticky.
TreselectionHow long the candidate must stay best before committing.1 sCompare to how long Rn > Rs actually held; scaled by sf-Medium/High at speed.
Rs / RnComputed ranks of serving and neighbour.-100 / -96Rn > Rs is the reselect condition; verify the arithmetic against Qhyst/Qoffset.
mobilityStateNORMAL / MEDIUM / HIGH from reselection counting.NORMALMEDIUM/HIGH shrinks Treselection/Qhyst; a mis-estimated state changes reselection speed.

✅ Debugging steps

  • Confirm the search-threshold decision: is serving Srxlev above or below Sintrasearch/SnonIntraSearch, and did the UE measure the categories it should have?
  • Check the UE's estimated mobilityState against how fast it is actually moving — count reselections in t-Evaluation vs n-CellChangeMedium/n-CellChangeHigh.
  • Verify the applied Treselection and Qhyst after any sf-Medium/sf-High scaling, not just the broadcast values.
  • For higher-priority layers, confirm the UE is measuring them regardless of serving strength.

⚠ Common causes of failure

  • Search thresholds set so the UE never measures neighbours until the serving cell is nearly dead, causing late reselection or radio-link loss in idle.
  • Mobility-state estimator stuck in NORMAL for a fast UE (window/counters mis-tuned), so no speed scaling applies and reselection lags.
  • Missing SpeedStateScaleFactors in the SIB, so a fast UE runs full-length timers.
  • Higher-priority layer measurement suppressed by a config error, so the UE never climbs to the preferred band.
ParameterWhere broadcastRole
q-RxLevMin, q-QualMinSIB1/SIB3Minimum required RSRP / RSRQ for suitability (S-criterion).
QhystSIB3Serving-cell hysteresis bonus in ranking (Rs).
q-OffsetCell, q-OffsetFreqSIB4/SIB5Per-cell and per-frequency neighbour offsets folded into Qoffset.
Treselection (t-ReselectionEUTRA, …)SIB3/SIB5/SIB6/SIB7How long a candidate must stay best before reselection commits.
cellReselectionPrioritySIB3SIB7 or dedicatedAbsolute priority of each frequency layer (0–7).
threshX-High, threshX-LowSIB5SIB7Target thresholds for going up / down in priority.
threshServing-LowSIB3Serving threshold that must be crossed to descend to a lower layer.
Sintrasearch, SnonIntraSearchSIB3Serving-cell thresholds gating whether to measure neighbours.
sf-Medium, sf-HighSIB3Speed-state scaling of Treselection and Qhyst.
🔀

LTE ↔ NR: the reselection algorithm is essentially identical in NR — same S-criterion, same R-criterion ranking, same absolute-priority ladder, same Treselection commitment. The differences are in the plumbing. NR broadcasts the parameters in SIB2 (common reselection + serving/intra-frequency) and SIB3/SIB4 (intra- and inter-frequency neighbour lists), not the LTE SIB3–SIB7 layout. The measured quantities gain SS-RSRP/SS-RSRQ/SS-SINR derived from SSB beams (with beam consolidation via nrofSS-BlocksToAverage and absThreshSS-BlocksConsolidation), rather than a single cell-wide RSRP. And NR adds RRC_INACTIVE, where the UE reselects exactly as in idle but stays within a RAN Notification Area and can be RAN-paged — a state LTE does not have.

Summary

Cell reselection is the UE's own idle-mode mobility engine: no network command, just a measure-rank-wait-hop loop tuned entirely by broadcast parameters. Run it as a pipeline and each stall points at a distinct cause. First the search thresholds (Sintrasearch, SnonIntraSearch) decide whether the UE even measures neighbours — a UE that never measures until the serving cell is nearly dead is misconfigured here. Then the S-criterion gates suitability: a cell that fails Srxlev/Squal is never reselected no matter how it ranks. Then the choice mechanism — R-criterion ranking for intra-frequency and equal-priority layers, absolute priorities (threshX-High/threshServing-Low/threshX-Low) between layers of different priority.

Finally Treselection is the commitment timer — the candidate must stay best for the whole window (and >1 s must have passed since camping) before the UE moves — and speed-state scaling shrinks that timer and Qhyst for a fast UE. When reselection misbehaves, ask which stage it is in: not measuring (thresholds), measuring but nothing qualifies (S-criterion / priorities), or qualifying but never committing (Treselection / Qhyst / offsets). Naming the stage almost always names the parameter.

Interview Quickfire

Q&A Interview quickfire

Q. What is the difference between cell selection and cell reselection?

A. Selection is the one-time procedure of finding a suitable cell to camp on (power-on, out-of-coverage return, or leaving connected mode), in either an initial or stored-information form. Reselection is the continuous idle-mode process of moving to a better cell while already camped, driven by the S-criterion plus R-criterion ranking and absolute-priority rules read from the SIBs.

Q. What must be true for a UE to actually reselect to a higher-ranked neighbour?

A. Three things at once: Rn > Rs (the neighbour beats the serving cell including Qhyst); this stays true for the whole Treselection timer; and more than 1 second has passed since the UE last camped on the serving cell. The candidate must also be suitable (pass the S-criterion).

Q. Why is climbing to a higher-priority frequency easier than dropping to a lower one?

A. For a higher-priority layer the UE reselects as soon as the target's Srxlev exceeds threshX-High — the serving cell's condition is irrelevant because the operator wants the UE on the preferred layer. For a lower-priority layer the UE must also see its serving cell fall below threshServing-Low, so it only descends when the current layer is genuinely weak.

Q. What are Sintrasearch and SnonIntraSearch for?

A. They are serving-cell thresholds that gate measurement. If serving Srxlev is above Sintrasearch the UE may skip intra-frequency measurements; if it is above SnonIntraSearch it may skip equal- and lower-priority inter-frequency and inter-RAT measurements. Higher-priority layers are always measured regardless.

Q. How does the UE know it is moving fast, and what changes when it does?

A. It counts reselections within t-Evaluation; crossing n-CellChangeMedium/n-CellChangeHigh puts it in Medium/High mobility state. In those states it multiplies Treselection by sf-Medium/sf-High and adjusts Qhyst, generally shortening the timer and shrinking the hysteresis so a fast UE reselects sooner.

Q. What role does Qoffset play, and where does it come from?

A. Qoffset biases a neighbour's rank Rn. For intra-frequency it is the cell offset q-OffsetCell; for equal-priority inter-frequency it adds the frequency offset q-OffsetFreq. A positive value discourages reselection to that neighbour (protecting a congested cell); a negative value encourages it (pulling traffic onto a preferred cell).

Where cell reselection connects

Reselection assumes the UE can already find and measure cells, knows which RRC state it is in, and stays reachable while camped — the pieces on either side of this procedure.

Cell Search (PSS/SSS) — how the UE detects and measures a cellRRC States — IDLE vs CONNECTED and the mobility each usesPaging — how the network reaches an idle, camped UE