>
Home5G NRRRC — Radio Resource ControlPaging
🗂️ RRC — Radio Resource ControlIntermediate

Paging in 5G NR

Paging occasions, idle/inactive DRX, and CN vs RAN paging.

📚 3GPP-basedTS 38.331TS 38.304

Every other downlink transmission in NR is addressed to a UE the gNB is already talking to. Paging is the exception, and it exists because of one design decision made much higher up: a UE in RRC_IDLE reselects cells freely and tells nobody. It does not report its serving cell, it does not answer polls, and it keeps its receiver off almost all the time. The 5GC knows only which tracking areas the UE registered in, possibly hundreds of cells across dozens of gNBs. RRC_INACTIVE narrows this but does not remove it -- the anchor gNB knows only a RAN Notification Area.

Contents
  1. 01Why Paging Exists, and What Triggers It
  2. 02Three Kinds of Page: CN, RAN, and Identity-Free
  3. 03The Channel Chain: PCCH, PCH, PDSCH and P-RNTI
  4. 04Paging Frames and Paging Occasions: the Arithmetic
  5. 05Two Worked PF/PO Derivations
  6. 06Inside a Paging Occasion: Monitoring Occasions and Beams
  7. 07DCI Format 1_0 with P-RNTI, and the Short Message
  8. 08The Paging RRC Message
  9. 09What the UE Does When It Is Paged
  10. 10RAN Paging in Detail: RNA, I-RNTI and the Anchor gNB
  11. 11Latency, Capacity and Repetition at the AMF
  12. 12Rel-17 and Rel-18: Early Indication, Subgrouping, eDRX, RedCap
  13. 13Paging Policy Differentiation and Paging Priority
  14. 14Configuration Reference: ASN.1, Ranges and Timers
  15. 15Failure Modes and What Each One Means
  16. 16Illustrative Message Traces
  17. 17Release Deltas: Rel-15 to Rel-18
  18. 18Reading Paging in Logs: A Checklist
  19. 19Glossary
  20. 20References

1. Why Paging Exists, and What Triggers It

Every other downlink transmission in NR is addressed to a UE the gNB is already talking to. Paging is the exception, and it exists because of one design decision made much higher up: a UE in RRC_IDLE reselects cells freely and tells nobody. It does not report its serving cell, it does not answer polls, and it keeps its receiver off almost all the time. The 5GC knows only which tracking areas the UE registered in, possibly hundreds of cells across dozens of gNBs. RRC_INACTIVE narrows this but does not remove it -- the anchor gNB knows only a RAN Notification Area.

So when something downlink-bound arrives, the network cannot unicast. It must broadcast a short notification over an area, in a way that costs the UE almost no battery to check and costs the network almost no capacity to send. That is the whole problem paging solves, and every peculiarity of the mechanism -- the identity hash, the sparse wake-up schedule, the fixed well-known RNTI, the 32-record cap -- follows from it.

TriggerWho initiatesUE state reachedIdentity in the recordWhat the UE does
Downlink user data on an established PDU session, UE is CM-IDLEAMF, prompted by the SMF over N11RRC_IDLE
ng-5G-S-TMSI
RRCSetupRequest with establishmentCause = mt-Access, then a NAS Service Request
Downlink user data for a UE in RRC_INACTIVEThe anchor gNB itself, over XnRRC_INACTIVE
fullI-RNTI
RRCResumeRequest with resumeCause = mt-Access
Mobile-terminated SMS or a NAS notificationAMFRRC_IDLE
ng-5G-S-TMSI
Same as MT data; the NAS payload differs, the RRC procedure does not
Mobile-terminated voice callAMF, with pagingCause = voiceCall (Rel-17) and a Paging PriorityRRC_IDLE
ng-5G-S-TMSI
Same, but the UE may prioritise access and the gNB may pre-empt other load
Notification relating to non-3GPP accessAMF, with accessType present in the recordRRC_IDLE
ng-5G-S-TMSI
Responds over 3GPP access on behalf of a non-3GPP session
BCCH modification -- a System Information changeThe gNBany state that monitors pagingnone -- short message onlyRe-acquires the changed SI at the next modification period boundary
ETWS primary/secondary or CMAS notificationThe gNB, on CBC/AMF instructionany statenone -- short message onlyAcquires SIB6, SIB7 and/or SIB8 immediately
RAN paging exhausted for an RRC_INACTIVE UEThe anchor gNB releases the context, then the AMF pagesRRC_IDLE (context already gone)
ng-5G-S-TMSI
RRCSetupRequest; the resume attempt is no longer possible

Table 1. Paging triggers, the identity each one uses, and the RRC procedure it provokes. The last two rows carry no UE identity at all, which is why they behave completely differently in logs.

💡
Key Point

The single most useful thing to know about a page you are looking at is which identity it carries. A record with ng-5G-S-TMSI came from the AMF and will be answered with RRCSetupRequest. A record with fullI-RNTI came from a gNB and will be answered with RRCResumeRequest. A DCI with no paging record at all came from the local gNB's broadcast machinery and will be answered by nothing. These are three different subsystems that happen to share one physical channel.

2. Three Kinds of Page: CN, RAN, and Identity-Free

The specifications talk about CN-initiated paging and RAN-initiated paging TS 38.300 cl. 9.2.5. They are genuinely different procedures with different originators, different scopes, different identities and different recovery behaviour. They share only the last hop.

CN paging versus RAN pagingCN Paging and RAN Paging, Attribute by AttributeLeft column: CN paging. Right column: RAN paging.TriggerDL data / NAS at the 5GCSMF -> AMF, N1N2MessageTransferDL data at the anchor gNBarrives on the still-open NG-U tunnelWho sends itAMFNGAP PAGING to each gNBLast serving gNBXnAP RAN PAGING to each neighbourArea coveredRegistration Areathe whole registered TAI listRAN Notification Arearan-NotificationAreaInfo, usually much smallerIdentity in the paging recordng-5G-S-TMSI (48 bit)allocated by the AMFfullI-RNTI (40 bit)allocated by the anchor gNBUE state it reachesRRC_IDLEalso RRC_INACTIVE, if RAN paging already failedRRC_INACTIVEonlyWhat the UE sends backRRCSetupRequestestablishmentCause = mt-AccessRRCResumeRequestresumeCause = mt-AccessThe one thing both columns share is the air-interface mechanism: same PF/PO arithmetic, same P-RNTI, same Pagingmessage. Only the record contents differ, which is why a log line showing a page tells you nothing about its origin untilyou look at ue-Identity.
Figure 1. The two paging types compared attribute by attribute. Read down either column and you have the whole procedure; read across and you can see that only the bottom two rows are visible to the UE as a difference.
CN pagingRAN pagingShort-message-only
OriginatorAMFLast serving (anchor) gNBLocal gNB
Transport to the RANNGAP PAGING to every gNB with a cell in the TAI List for PagingXnAP RAN PAGING to every gNB in the RAN Notification AreaNone -- generated locally
AreaRegistration Area (the registered TAI list)RAN Notification Area from ran-NotificationAreaInfoThe cell, or the cells sharing an SI area
UE identity carriedng-5G-S-TMSI, 48 bitsfullI-RNTI, 40 bitsNone
UE state addressedRRC_IDLE (and RRC_INACTIVE after RAN paging gives up)RRC_INACTIVE onlyAll three states
UE responseRRCSetupRequest, cause mt-AccessRRCResumeRequest, cause mt-AccessRe-acquire SI / read SIB6-8
Cost of failureAMF retries, then may implicitly deregister the UEAnchor releases the context; falls back to CN pagingStale SI in the UE until the next acquisition
Where its configuration livesAMF policy + registered TAI listsuspendConfig in RRCReleasesi-SchedulingInfo and modificationPeriodCoeff in SIB1

Table 2. The three things a P-RNTI transmission can be. Only the first two involve a Paging RRC message at all.

The third case deserves emphasis because it surprises people. When the Short Messages Indicator in the DCI is set to 10, the DCI carries eight bits of short message and schedules no PDSCH. There is no Paging message, no pagingRecordList, no UE identity anywhere in the transmission. Every UE that happens to be awake in that occasion decodes it and acts on it. It is a cell-wide broadcast flag delivered through the paging channel, and it is how SI changes and emergency notifications reach sleeping UEs without a per-UE message.

3. The Channel Chain: PCCH, PCH, PDSCH and P-RNTI

A Paging message travels a deliberately minimal path. It is an RRC message, it is placed on the PCCH logical channel, PCCH maps to the PCH transport channel, and PCH is carried on PDSCH. There is no PDCP entity, and the RLC entity is in Transparent Mode -- no header, no segmentation, no ARQ, no ciphering, no integrity protection. The full channel picture is in the companion 06 Channel Mapping document.

LayerWhat carries paging hereWhat is absent, and why it matters
RRCPCCH-Message containing a Paging message TS 38.331 cl. 6.2.1No transaction identifier and no acknowledgement -- a page is fire and forget. The network learns it worked only when the UE accesses.
PDCP--No PDCP at all. Paging is unciphered and unintegrity-protected by construction, which is why it can carry only a temporary identity.
RLCTransparent ModeNo segmentation. The whole Paging message must fit one transport block, which is the real reason maxNrofPageRec is 32.
MACPCCH logical channel -> PCH transport channelNo MAC subheader multiplexing with other logical channels, no HARQ process, no retransmission.
PHYPDSCH scheduled by DCI format 1_0 with the CRC scrambled by P-RNTINo UE-specific scrambling, so every UE in the occasion descrambles the same transmission successfully.

Table 3. Paging's protocol stack is mostly holes. Each absence is a design choice that shows up somewhere else as a constraint.

P-RNTI is fixed at 0xFFFE TS 38.321 cl. 7.1. It is not allocated, not signalled and not per-cell; every NR UE in the world descrambles paging DCI with the same value. That is what makes paging monitoring possible for a UE with no context.

RNTIValueAddressesNote
P-RNTI0xFFFEPaging and short messagesFixed by the spec
SI-RNTI0xFFFFBroadcast System InformationFixed by the spec
RA-RNTI0x0001 .. 0xFFEFRandom Access ResponseComputed from the PRACH occasion; see 03 Random Access
C-RNTI / TC-RNTI0x0001 .. 0xFFEFOne UE in one cellAllocated by the gNB
PEI-RNTI0x0001 .. 0xFFEFPaging Early Indication, DCI 2_7Rel-17; configured, not fixed

Table 4. Where P-RNTI sits in the RNTI space. The two fixed values are at the top of the range precisely so they never collide with an allocated C-RNTI.

Which search space the UE monitors is set by pagingSearchSpace in PDCCH-ConfigCommon TS 38.213 cl. 10.1. The value 0 has a special meaning: the UE monitors the same search space it used for SIB1, i.e. searchSpaceZero in CORESET#0. Any other value points at a configured SearchSpace. A cell that leaves pagingSearchSpace unset but expects paging elsewhere is one of the more entertaining ways to make a cell that attaches fine and never receives a call.

4. Paging Frames and Paging Occasions: the Arithmetic

A UE cannot afford to check every paging opportunity in a cell, and the network cannot afford to repeat every page in all of them. NR therefore assigns each UE a deterministic subset of opportunities, derived from a hash of the UE's own identity and the cell's broadcast paging configuration. Both sides compute it independently and must agree exactly TS 38.304 cl. 7.1.

4.1 The formulae

TS 38.304 clause 7.1
UE_ID = 5G-S-TMSI mod 1024              -- the low 10 bits of the 5G-S-TMSI

Paging Frame (PF):
    (SFN + PF_offset) mod T  =  (T div N) x (UE_ID mod N)

Paging Occasion index within the PF:
    i_s = floor(UE_ID / N) mod Ns

  T          the UE's paging DRX cycle, in radio frames
  N          number of paging frames in one cycle T
  PF_offset  frame offset applied to the whole pattern
  Ns         number of paging occasions per paging frame -- 1, 2 or 4
  SFN        system frame number, 0 .. 1023

The PF equation is a congruence, not an assignment: it does not give one SFN, it gives the residue class of SFNs that are paging frames for this UE. With T = 64 there are 1024 / 64 = 16 matching frames in each SFN wrap.

4.2 Where N, Ns, T and PF_offset come from

This is the point at which people who learned paging on LTE go wrong. In LTE, N and Ns were derived arithmetically from nB and T. NR does not have nB. N and PF_offset come together out of a single CHOICE, and Ns is a separate enumeration:

ParameterSourceValuesEffect
TdefaultPagingCycle in SIB1 PCCH-Config, or a UE-specific value; the shortest applicable value winsrf32, rf64, rf128, rf256 -> 320, 640, 1280, 2560 msThe wake-up period. Doubling T halves paging power draw and doubles worst-case paging latency.
NThe chosen branch of nAndPagingFrameOffsetoneT -> T; halfT -> T/2; quarterT -> T/4; oneEighthT -> T/8; oneSixteenthT -> T/16How many frames in the cycle are paging frames. Fewer PFs concentrates all UEs into fewer frames.
PF_offsetThe INTEGER inside that branch (absent, so 0, for oneT)halfT 0..1, quarterT 0..3, oneEighthT 0..7, oneSixteenthT 0..15Slides the whole PF pattern in time. Used to stagger paging load between neighbouring cells.
Nsns in PCCH-Configfour, two, onePaging occasions per PF. maxPO-perPF is 4, so Ns cannot exceed 4.
UE_ID5G-S-TMSI mod 1024, i.e. the low 10 bits0 .. 1023The hash. Only 1024 distinct values exist, so UEs necessarily share occasions.

Table 5. Every input to the PF/PO calculation, and what changing it does. N and PF_offset are two halves of one ASN.1 CHOICE and cannot be set independently of each other.

⚠️
Common Pitfall

Do not carry the LTE relations N = min(T, nB) and Ns = max(1, nB/T) into NR. There is no nB in PCCH-Config. If you see a tool or a script computing NR paging occasions from nB, it is producing LTE answers, and they will be right only in the accidental cases where oneT and ns=one happen to line up. The symptom is a tool that predicts the correct PF for some UEs in a cell and not others.

4.3 Which paging cycle wins

T can be configured from three directions at once, and the rule is that the shortest value applies -- a UE that has been told to check more often always checks more often TS 38.304 cl. 7.1:

Source of TWhere it appearsApplies inPrecedence
defaultPagingCycle
SIB1 -> downlinkConfigCommon -> pcch-ConfigRRC_IDLE and RRC_INACTIVEThe fallback. Always present, because it also defines the BCCH modification period.
NAS-provided UE-specific DRXUE specific DRX parameters negotiated in the NAS Registration procedure; relayed to the gNB in the NGAP Paging DRX IERRC_IDLE and RRC_INACTIVEWins over the default if shorter.
ran-PagingCycle
suspendConfig inside RRCReleaseRRC_INACTIVE onlyWins over the default if shorter; considered alongside any NAS value.

Table 6. Sources of the paging cycle. The shortest wins -- which means a UE-specific value can only ever make a UE wake up more often, never less.

⚠️
Common Pitfall

The gNB must know the UE-specific cycle to compute the same PF. For CN paging that knowledge arrives in the Paging DRX IE of the NGAP PAGING message; for RAN paging it is in the RAN PAGING message over Xn. If either is missing, the gNB falls back to defaultPagingCycle and computes a different PF than the UE is listening on -- and because the PF equation depends on T on both sides, the two patterns generally do not even intersect. The symptom is a UE that registers perfectly, passes periodic registration updates, and never receives a terminating call.

4.4 How much capacity the arithmetic buys

N x Ns is the number of distinct paging occasions in one cycle, and it is always at most 1024 because that is all the UE_ID space there is. Dividing 1024 by N x Ns gives the number of UE_ID values sharing each occasion, which is the sharing factor that determines how many paging records a single occasion may need to carry.

TnAndPagingFrameOffsetnsNNsOccasions per cycleUE_IDs per occasionCycle length
rf32oneTone3213232320 ms
rf64oneTtwo6421288640 ms
rf64quarterT(2)four1646416640 ms
rf128oneTtwo128225641.28 s
rf128oneEighthT(3)four16464161.28 s
rf256oneTfour2564102412.56 s
rf256oneSixteenthT(7)one16116642.56 s

Table 7. Representative configurations. The bottom row is a pathological one: 64 UE_IDs funnelled into each of only 16 occasions per 2.56 s, which will overflow maxNrofPageRec in any busy cell.

5. Two Worked PF/PO Derivations

The arithmetic is short enough to do by hand, and doing it by hand is the only way to be certain that a UE and a gNB agree. Both examples below use real-shaped 5G-S-TMSI values and carry through to an SFN you could look for in a log.

5.1 One paging frame per frame, two occasions in it

This is the configuration in the original worked example, expanded. defaultPagingCycle = rf128, nAndPagingFrameOffset = oneT (so N = T = 128 and PF_offset = 0), ns = two (so Ns = 2).

🧮
Worked Calculation

5G-S-TMSI = 0x0041 5C31 0154 (48 bits: AMF Set ID 1, AMF Pointer 1, 5G-TMSI 0x5C310154)

UE_ID = 5G-S-TMSI mod 1024 = low 10 bits of 0x0154 = 340

T = 128, N = 128, PF_offset = 0, Ns = 2

PF: (SFN + 0) mod 128 = (128 div 128) x (340 mod 128)

= 1 x 84

= 84

-> paging frames are the SFNs with SFN mod 128 = 84, i.e.

84, 212, 340, 468, 596, 724, 852, 980 in each 1024-frame wrap

PO: i_s = floor(340 / 128) mod 2 = 2 mod 2 = 0

-> the first paging occasion inside that frame

Wake-up period = 128 x 10 ms = 1.28 s

Sharing: N x Ns = 256 occasions per cycle, 1024 / 256 = 4 UE_IDs share this occasion.

The UE therefore keeps its receiver off for 127 of every 128 radio frames, and even in frame 84 it only opens the receiver for the few symbols of the first paging occasion. Everything else in the cell -- other UEs' pages, other occasions, the other paging frame slots -- is invisible to it and can be slept through.

5.2 Sixteen paging frames per cycle, four occasions in each

The second example uses a configuration much closer to what a loaded macro cell ships: a shorter cycle, a sparse PF pattern with an offset to stagger against neighbours, and the maximum four occasions per frame.

🧮
Worked Calculation

5G-S-TMSI = 0x0041 1CB4 2E77 (5G-TMSI 0x1CB42E77)

0x2E77 = 11895; 11895 mod 1024 = 11895 - 11 x 1024 = 631

-> UE_ID = 631 (equivalently, the low 10 bits 10 0111 0111)

defaultPagingCycle = rf64 -> T = 64

nAndPagingFrameOffset = quarterT(2) -> N = 64 / 4 = 16, PF_offset = 2

ns = four -> Ns = 4

PF: (SFN + 2) mod 64 = (64 div 16) x (631 mod 16)

631 = 39 x 16 + 7, so 631 mod 16 = 7

(SFN + 2) mod 64 = 4 x 7 = 28

SFN mod 64 = 26

-> paging frames at SFN 26, 90, 154, 218, ... 986

PO: i_s = floor(631 / 16) mod 4 = 39 mod 4 = 3

-> the fourth and last paging occasion in that frame

Cross-check with the other UE: UE_ID 340 in this same cell

340 mod 16 = 4 -> (SFN + 2) mod 64 = 4 x 4 = 16 -> SFN mod 64 = 14

floor(340/16) = 21 -> i_s = 21 mod 4 = 1

-> two UEs in one cell, 12 frames and two occasions apart.

Sharing: N x Ns = 64 occasions, 1024 / 64 = 16 UE_IDs per occasion.

Where Two UEs Wake Up in the Same Paging ConfigurationWhere Two UEs Wake Up in the Same Paging ConfigurationdefaultPagingCycle rf64, nAndPagingFrameOffset = quarterT(2) so N = 16 and PF_offset = 2, ns = four so Ns = 4Paging frames(N = 16 per cycle)UE_ID 3405G-S-TMSI ...154UE_ID 340PF SFN 14, PO i_s = 1+640 msUE_ID 6315G-S-TMSI ...277UE_ID 631PF SFN 26, PO i_s = 3+640 msBoth UEs asleepreceiver offreceiver off -- 510 msreceiver off0163248648096112128System frame number (SFN), 10 ms per frame16 paging frames spaced 4 frames apart, 4 occasions in each: 64 distinct (PF, PO) slots for 1024 UE_ID values, so about16 UE_IDs share every occasion. Each UE listens for a few symbols every 640 ms.
Figure 2. The second configuration drawn out over two full cycles. Note that the PF pattern is a comb of every fourth frame, and the two UEs sit on different teeth of it -- neither ever wakes when the other does.
📘
Spec Detail

The UE_ID hash uses only the low 10 bits of the 5G-S-TMSI, so it changes whenever the AMF reallocates the 5G-GUTI. That is intentional -- it prevents an observer from tracking a subscriber by watching which occasion it wakes in -- but it means that during a GUTI reallocation the UE and the AMF must switch occasion at the same moment. A page issued against the old 5G-S-TMSI after the UE has adopted the new one lands in an occasion the UE is no longer listening to.

5.3 Paging latency for a given cycle

Paging latency is dominated by one thing: how long the page has to wait for the UE's next occasion. Everything else -- NGAP transport, scheduling, Random Access, RRCSetup -- is tens of milliseconds.

🧮
Worked Calculation

Take T = 64 (640 ms). A page arrives at the gNB at a uniformly random point in the cycle.

wait for the next PO: worst case 640 ms, mean 320 ms

+ PDSCH + UE decode: ~2 ms

+ Random Access to a usable grant: ~10 ms (see 03 Random Access)

+ RRCSetup / RRCSetupComplete: ~20-30 ms

+ NAS Service Request round trip: ~30-40 ms

-> first downlink packet delivered: mean ~0.4 s, worst ~0.72 s

Same sums at other cycles, wait component only:

T = rf32 320 ms -> mean 160 ms, worst 320 ms

T = rf128 1.28 s -> mean 640 ms, worst 1.28 s

T = rf256 2.56 s -> mean 1.28 s, worst 2.56 s

eDRX 5.12 s -> mean 2.56 s, worst 5.12 s

If the first attempt is unanswered and the AMF retries after its paging timer (commonly ~6 s), the second attempt lands at 6 s plus a fresh wait -- so a single missed page costs roughly an order of magnitude more than the cycle length.

6. Inside a Paging Occasion: Monitoring Occasions and Beams

A paging occasion is not an instant. It is a set of PDCCH monitoring occasions -- by default one per actually transmitted SSB, so that the same page is repeated on every beam the cell sweeps and a UE anywhere in the cell can hear it TS 38.304 cl. 7.1. S is the number of SSBs actually transmitted, taken from ssb-PositionsInBurst in SIB1, not the maximum the band allows.

The numbering rule matters more than it looks. PDCCH monitoring occasions for paging are numbered sequentially from zero starting at the first one in the paging frame, and occasions that overlap uplink symbols are skipped before numbering. In a TDD cell the monitoring-occasion index and the slot index therefore diverge immediately, and any hand calculation that assumes they are the same will point at the wrong slot.

Inside One Paging Frame: Monitoring Occasions, Beams and the Four POsInside One Paging Frame: Monitoring Occasions, Beams and the Four POsS = 4 actually transmitted SSBs, one PDCCH monitoring occasion per slot, default mapping (no firstPDCCH-MonitoringOccasionOfPO)Slots in the PF(30 kHz, DDDSU)0123UL5678UL10111213UL15161718ULPaging MOs,renumbered0123456789101112131415PO i_s = 0MO 0-3PO i_s = 1MO 4-7PO i_s = 2MO 8-11PO i_s = 3MO 12-1502468101214161820Slot within the paging frame (20 slots = 10 ms at 30 kHz SCS)Monitoring occasions that overlap uplink symbols are skipped before numbering, so MO index and slot index divergeimmediately. The default start of PO i_s is MO (i_s x S); firstPDCCH-MonitoringOccasionOfPO overrides it with anexplicit list.
Figure 3. One paging frame in a DDDSU TDD cell with four transmitted SSBs. Four occasions of four monitoring occasions each exactly fills the sixteen usable slots -- which is why this combination of Ns and S is a common choice.
QuantityWhere it comes fromTypicalConsequence of getting it wrong
SCount of 1 bits in ssb-PositionsInBurst (SIB1)4 on FR1 mid-band, 8-64 on FR2Too small and the page is not repeated on every beam, so UEs on unswept beams miss it; the symptom is beam-correlated paging loss.
Start of PO i_sDefault i_s x S, or the (i_s+1)-th entry of firstPDCCH-MonitoringOccasionOfPOdefaultIf Ns x S exceeds the number of usable monitoring occasions in the frame, later POs spill into the following frame.
firstPDCCH-MonitoringOccasionOfPO
PCCH-Config, optional; the CHOICE branch encodes the SCS and the T fractionabsent on simple cellsPresent but wrong and POs land on top of each other -- two occasions share monitoring occasions and paging records get mixed.
X (Rel-17)
nrofPDCCH-MonitoringOccasionPerSSB-InPO
1Multiplies the occasion count per SSB; used for repetition in coverage-limited and RedCap deployments.

Table 8. What defines the shape of a paging occasion. S x X monitoring occasions per PO, Ns POs per PF.

⚠️
Common Pitfall

firstPDCCH-MonitoringOccasionOfPO is a SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER, and its CHOICE branch name encodes the subcarrier spacing and the N-to-T ratio together -- for example sCS30KHZoneT-SCS15KHZhalfT covers 30 kHz with oneT and 15 kHz with halfT. Picking the branch that does not match the cell's SCS and nAndPagingFrameOffset gives an integer range that is silently too small or too large. This is one of the fields most often copied between cells without adjustment.

7. DCI Format 1_0 with P-RNTI, and the Short Message

The DCI the UE hunts for in its monitoring occasions is format 1_0 with the CRC scrambled by P-RNTI. It is the same format used for fallback scheduling, but with a different field set: the HARQ fields are gone and two paging-specific fields take their place TS 38.212 cl. 7.3.1.2.1.

DCI Format 1_0 with P-RNTI: the Exact 41-Bit LayoutDCI Format 1_0 with P-RNTI: the Exact 41-Bit Layout106-PRB initial downlink BWP, so FDRA is ceil(log2(106 x 107 / 2)) = 13 bits [TS 38.212 cl. 7.3.1.2.1]bit76543210Oct 1Short MessagesIndicatorShort Message, bits 1..6Oct 2SM7..8Frequency domain resource assignment, bits 12..7Oct 3FDRA bits 6..0TDRA3Oct 4TDRA 2..0VRBMCS bits 4..1Oct 5MCS0TBscalingReserved, bits 5..1Oct 6Rsv0end of the DCI at bit 41 -- the 24-bit CRC, scrambled by P-RNTI 0xFFFE, followsThere is no HARQ process number, no NDI and no redundancy version: a page is a one-shot broadcast transmission withno feedback channel. TB scaling exists so the same MCS table can address the very small transport blocks a pagingrecord needs.
Figure 4. The complete 41-bit layout for a 106-PRB initial downlink BWP. The Short Message field straddles an octet boundary, which is where hand-decoding of a paging DCI usually goes wrong.
FieldBitsRangeWhat it does
Short Messages Indicator201, 10, 11 (00 reserved)Says whether this DCI schedules a PDSCH, carries a short message, or both. Decode this first -- everything else depends on it.
Short Message8bitmap, see belowCell-wide flags. Present and meaningful only when the indicator is 10 or 11; otherwise reserved.
Frequency domain resource assignmentceil(log2(N x (N+1) / 2))13 bits for N = 106RIV for the PDSCH carrying the Paging message. Meaningless when the indicator is 10.
Time domain resource assignment40 .. 15Row index into the PDSCH time-domain allocation table.
VRB-to-PRB mapping10 = non-interleaved, 1 = interleavedInterleaving is the usual choice for a broadcast transmission -- it spreads the small transport block across the band.
Modulation and coding scheme50 .. 31Always low-order in practice: a page must reach the cell edge with no channel knowledge and no HARQ.
TB scaling20 .. 3 -> scaling 1, 0.5, 0.25, reservedScales the transport block size down so the tiny paging payload does not force an absurdly low MCS.
Reserved6set to zeroRel-15 padding. Later releases have taken bits from here for new indications; a non-zero value is not automatically an error.

Table 9. DCI format 1_0 with P-RNTI, field by field. Total 41 bits at a 106-PRB BWP, plus a 24-bit CRC scrambled by 0xFFFE.

Short Messages IndicatorScheduling info presentShort message presentWhat the UE does
00----Reserved; treat as an error and discard
01yesnoDecode the PDSCH and look for its own identity in pagingRecordList
10noyesAct on the eight short-message bits; there is no PDSCH to decode
11yesyesBoth: act on the short message and decode the paging records

Table 10. The two-bit indicator, which is the branch point for the whole reception procedure in §9.

7.1 The eight short-message bits

The 8-Bit Short Message: a Page With No UE Identity At AllThe 8-Bit Short Message: a Page With No UE Identity At AllTS 38.331 Table 6.5-1. Bit 1 is the leftmost / most significant bit of the field.bit76543210Oct 1systemInfoModif.etwsAndCmasIndicationsystemInfoModification-eDRX (R17)bits 4..8 -- not used in this release, shall be ignored by the receiverWith Short Messages Indicator = 10 the DCI carries only these eight bits: no PDSCH is scheduled, no Paging message issent, and no UE identity appears anywhere. Every UE in the cell that is awake in that occasion acts on it.
Figure 5. The Short Message field. Bit 1 is the leftmost bit as the field appears in the DCI, which is the opposite convention from the octet-numbered bit labels above it -- worth double-checking when decoding by hand.
BitNameSet to 1 meansWhat the UE must do
1
systemInfoModification
A BCCH modification other than SIB6, SIB7 or SIB8 is comingRe-acquire the changed SI at the start of the next modification period. See 17 System Information.
2
etwsAndCmasIndication
An ETWS primary notification, an ETWS secondary notification and/or a CMAS notification is presentAcquire SIB6 / SIB7 / SIB8 immediately -- this one is not deferred to a boundary.
3systemInfoModification-eDRX (Rel-17)A BCCH modification for UEs whose eDRX cycle is longer than the BCCH modification periodeDRX UEs act on this bit instead of bit 1, because they can sleep straight through a whole modification period.
4 - 8--not used in this releaseShall be ignored by the receiver. Do not treat a non-zero value here as a decode failure.

Table 11. Short Message bit assignments, TS 38.331 Table 6.5-1. Bits 1 and 2 are Rel-15; bit 3 arrived with Rel-17 eDRX.

📘
Spec Detail

Every UE monitoring paging acts on the short message, including UEs in RRC_CONNECTED. A connected UE must check for systemInfoModification in some paging occasion at least once per modification period, and an ETWS/CMAS-capable UE must check for etwsAndCmasIndication at least once per defaultPagingCycle. This is why defaultPagingCycle is not purely an idle-mode parameter -- it also sets the granularity of SI change notification for the whole cell, through modificationPeriodCoeff x defaultPagingCycle.

8. The Paging RRC Message

When the indicator says a PDSCH is scheduled, the transport block carries a PCCH-Message whose only useful content is a Paging message. It is a small, flat structure with one list in it.

PCCH-Message ::= SEQUENCE {
    message   PCCH-MessageType
}

PCCH-MessageType ::= CHOICE {
    c1        CHOICE { paging   Paging },
    messageClassExtension SEQUENCE {}
}

Paging ::= SEQUENCE {
    pagingRecordList          PagingRecordList         OPTIONAL,  -- Need N
    lateNonCriticalExtension  OCTET STRING             OPTIONAL,
    nonCriticalExtension      Paging-v1700-IEs         OPTIONAL
}

PagingRecordList ::= SEQUENCE (SIZE(1..maxNrofPageRec)) OF PagingRecord
    -- maxNrofPageRec INTEGER ::= 32

PagingRecord ::= SEQUENCE {
    ue-Identity               PagingUE-Identity,
    accessType                ENUMERATED {non3GPP}     OPTIONAL,  -- Need N
    ...
}

PagingUE-Identity ::= CHOICE {
    ng-5G-S-TMSI              NG-5G-S-TMSI,      -- BIT STRING (SIZE (48))
    fullI-RNTI                I-RNTI-Value,      -- BIT STRING (SIZE (40))
    ...
}

-- Rel-17 extension
Paging-v1700-IEs ::= SEQUENCE {
    pagingRecordList-v1700    PagingRecordList-v1700  OPTIONAL,  -- Need N
    nonCriticalExtension      SEQUENCE {}             OPTIONAL
}

PagingRecord-v1700 ::= SEQUENCE {
    pagingCause-r17           ENUMERATED {voiceCall}  OPTIONAL   -- Need N
}

Listing 1. Abridged from TS 38.331. ... marks extension markers. The Rel-17 cause list is parallel to the main record list -- the n-th entry of one corresponds to the n-th entry of the other.

IETypePresenceWhat it tells you
pagingRecordList
1 .. 32 recordsOptionalAbsent when the DCI carried only a short message. Its length is the single best load indicator in a paging log.
ue-Identity
CHOICE of ng-5G-S-TMSI (48 bit) or fullI-RNTI (40 bit)Mandatory in a recordWhich of the two paging types this record belongs to. There is no other field that distinguishes them.
accessType
ENUMERATED {non3GPP}OptionalPresent means the page relates to a non-3GPP access session. Absent means 3GPP access -- the enumeration has only one value, so absence carries the other meaning.
pagingCause (Rel-17)ENUMERATED {voiceCall}OptionalLets the UE know a voice call is waiting so it can prioritise access and skip low-priority backoff.

Table 12. Paging record IEs. accessType is a single-valued enumeration, which is a common source of confusion when reading a decode that simply omits it.

💡
Key Point

Thirty-two records is a hard ceiling, and there is no segmentation available: PCCH runs over RLC Transparent Mode, so the whole Paging message must fit one transport block. A gNB with more than 32 UEs to page in one occasion must defer the surplus to the next occurrence of that occasion -- one full cycle later. In a 2.56 s cycle that is a 2.56 s latency step function, and it appears in logs as paging latency that is fine at moderate load and then abruptly terrible.

9. What the UE Does When It Is Paged

UE behaviour in a paging occasionWhat the UE Does in Its Paging OccasionTS 38.304 cl. 7.1 and TS 38.331 cl. 5.3.2PO reached(SFN and i_s match)Monitor pagingSearchSpacefor DCI 1_0, CRC by P-RNTIDCIdetected?noSleep until thenext POyesShort MessagesIndicator10 or 11Read the 8 Short Message bitsSI change: re-acquire at the nextmodification period.ETWS/CMAS: read SIB6/7/8 now.01 or 11Decode the scheduled PDSCH-> Paging messageOwn identity inpagingRecordList?no -- not for usyesWhich RRC state?RRC_IDLE ->RRCSetupRequestcause mt-AccessRRC_INACTIVE ->RRCResumeRequestcause mt-AccessIndicator 11 takes both upper branches: a short message and a paging record in the same occasion. The UE acts on the shortmessage whether or not it finds its own identity in the record list.
Figure 6. Reception and identity matching. Note that the short-message branch and the paging-record branch are not exclusive: indicator 11 takes both, and the UE acts on the short message even when no record matches.

1. Wake at the computed PO. The UE opens its receiver for the S x X monitoring occasions of its own PO and monitors pagingSearchSpace for DCI format 1_0 with the CRC descrambled by P-RNTI 0xFFFE.

2. No DCI: go back to sleep. This is the overwhelmingly common outcome and costs a handful of symbols of receiver time.

3. Read the Short Messages Indicator. It decides whether there is a short message, a PDSCH, or both (§7).

4. Act on the short message if present. SI change is deferred to the next modification period boundary; ETWS/CMAS is acted on immediately. This happens regardless of whether the UE is individually paged.

5. Decode the PDSCH if scheduled and walk pagingRecordList comparing ue-Identity against the UE's own 5G-S-TMSI (in RRC_IDLE) or its fullI-RNTI (in RRC_INACTIVE).

6. No match: go back to sleep. The records belonged to the other UE_IDs sharing this occasion. This is normal, not an error, and its rate is governed by the sharing factor from §4.4.

7. Match in RRC_IDLE: initiate RRC connection establishment. RRCSetupRequest with establishmentCause = mt-Access, and NAS then sends a Service Request. See 03 Random Access for the access itself and 15 RRC Procedures for the establishment.

8. Match in RRC_INACTIVE: initiate resume. RRCResumeRequest with resumeCause = mt-Access, carrying shortI-RNTI and a resumeMAC-I. See 14 RRC States.

One consequence worth stating plainly: a paged UE does not reply to the page. It starts an access procedure. There is no acknowledgement of the Paging message anywhere in the protocol, so from the network's point of view the only evidence a page arrived is an RRCSetupRequest or an RRCResumeRequest with cause mt-Access turning up within a plausible window. If it does not, the network cannot distinguish page not delivered from page delivered and ignored.

🔍
What You See In Logs

mt-Access in the establishment or resume cause is the fingerprint of a successful page. When you are trying to establish whether paging works in a cell, do not count paging transmissions -- count mt-Access accesses and divide by the number of pages the gNB was asked to send. That ratio is the only end-to-end measure of paging that exists, because nothing else in the protocol closes the loop.

10. RAN Paging in Detail: RNA, I-RNTI and the Anchor gNB

RRC_INACTIVE exists so that a UE with intermittent traffic can keep its AS context, its bearers and its NG-U tunnel while behaving, on the air, almost like an idle UE. The price is that somebody has to keep that context, and that somebody -- the anchor gNB -- becomes responsible for finding the UE again. RAN paging is that mechanism.

RAN Paging: the UE Answers at a Different gNB and the Context FollowsRAN Paging: the UE Answers at a Different gNB and the Context FollowsTriggerRAN pagingResume + context fetchPath switchFailureUENew gNBAnchor gNBAMF / UPFUE is in RRC_INACTIVE. The anchor gNB still holds the UE context and the NG-Utunnel. suspendConfig gave the UE fullI-RNTI 0x1A2B3C4D5E and an RNA of12 cells spanning both gNBs.DL user data on the existing NG-Utunnelthe 5GC still believes the UE is CM-CONNECTED1DL data for a suspended UE -> start RAN pagingXnAP RAN PAGINGUE RAN Paging Identity = I-RNTI | RAN Paging Area| Paging DRX2Paging in the anchor's own cellsUE is no longer there3DCI P-RNTI + PagingpagingRecordList[0].ue-Identity = fullI-RNTI4fullI-RNTI matches -> resume, not setupRRCResumeRequest (on CCCH, MSG3)shortI-RNTI + resumeCause mt-Access + resumeMAC-I(16-bit)5XnAP RETRIEVE UE CONTEXT REQUESTI-RNTI decoded to locate the anchor; carries theresumeMAC-I6XnAP RETRIEVE UE CONTEXT RESPONSEAS security context, bearer config, PDCP state,NG-U endpointsRRCResumeon SRB1, integrity protected and ciphered7RRCResumeCompleteNGAP PATH SWITCH REQUEST /ACKNOWLEDGEN3 tunnel moves from the anchor to the new gNBXn-U data forwarding, then UEContext Releaseif no RRCResumeRequest arrives before the RAN paging attempts run outNGAP UE CONTEXT RELEASE REQUESTanchor gives up; the AMF then starts CN pagingRAN paging never involves the 5GC unless it fails.
Figure 7. RAN paging with the interesting outcome: the UE answers at a neighbour, not at the anchor, and the context is fetched over Xn rather than rebuilt. The lower band is what happens when nobody answers at all.
ElementWhere it is configuredValues / shapeWhy it matters
fullI-RNTI / shortI-RNTIsuspendConfig in RRCRelease40 bits / 24 bitsThe full value appears in the paging record; the short value is what fits in RRCResumeRequest on CCCH. Both must encode enough to identify the anchor gNB.
ran-NotificationAreaInfo
suspendConfig
CHOICE of cellList (up to 16 PLMN entries of cells) or ran-AreaConfigListDefines where RAN paging is sent and where the UE may move without reporting. Small area, cheap paging, frequent RNA updates.
ran-PagingCycle
suspendConfig
rf32 .. rf256The RRC_INACTIVE paging cycle. Considered alongside NAS and default values; shortest wins.
t380
suspendConfig
min5, min10, min20, min30, min60, min120, min360, min720Periodic RNA update timer. On expiry the UE resumes with cause rna-Update purely to prove it is still there.
Paging attempt countgNB implementation, mirrored in the XnAP Paging Attempt Informationvendor-specificHow many RAN paging rounds before the anchor gives up and releases the context to the AMF.

Table 13. RAN paging configuration, all of it delivered in one suspendConfig at release time. The UE cannot be reconfigured while it is inactive.

Two details of the arithmetic are easy to get wrong. First, the paging occasion for an RRC_INACTIVE UE is still computed from UE_ID = 5G-S-TMSI mod 1024 -- not from the I-RNTI. The identity that appears in the record and the identity that selects the occasion are different things. Second, ran-PagingCycle competes with, rather than replaces, the default and NAS cycles: the shortest applicable value still wins.

⚠️
Common Pitfall

If the UE has drifted outside its RNA without performing an RNA update -- which happens if it moved fast, or if the RNA was configured smaller than the actual mobility pattern -- RAN paging is transmitted in cells the UE cannot hear. The recovery path works, but it is slow: the anchor exhausts its paging attempts, releases the UE context to the AMF, the AMF moves the UE to CM-IDLE, and then CN paging finds it across the whole registration area. Total time is the RAN paging budget plus a full CN paging cycle. In logs this shows up as an RRCSetupRequest with cause mt-Access from a UE you last saw being suspended -- a resume that became a setup.

When the UE does answer at a neighbour, the new gNB decodes the I-RNTI to find the anchor and issues an XnAP RETRIEVE UE CONTEXT REQUEST. The anchor validates the resumeMAC-I -- a short MAC-I computed over the request, covered in the companion 27 AS Security Mode document -- and returns the AS security context, the bearer configuration and the NG-U endpoints. If the anchor cannot be reached, or refuses, the new gNB has no context to resume and must fall back to RRCSetup, which the UE sees as having its resume rejected.

11. Latency, Capacity and Repetition at the AMF

CN-Initiated Paging: One Trigger, Every gNB in the Registration AreaCN-Initiated Paging: One Trigger, Every gNB in the Registration AreaTriggerFan-outOn airUE responseUEgNB AgNB BAMFSMF / UPFUE is in RRC_IDLE, CM-IDLE. It is camped on a cell of gNB B, but the AMF doesnot know that -- it only knows the registered TAI list. No UE context existsin any gNB.DL packet arrives, no N3 tunnel-> N1N2MessageTransferUPF buffers, SMF notifies the AMF1NGAP PAGINGUE Paging Identity = 5G-S-TMSI | TAI List for Paging2NGAP PAGING (identical)one per gNB with a cell in the TAI list2Each gNB independently computes the UE's PF and PO from the 5G-S-TMSI andits own SIB1 PCCH-Config, then pages in every cell of the listed TAIs.Paging in gNB A's cellstransmitted, never heard3DCI 1_0, CRC scrambled by P-RNTI0xFFFEat the UE's own PO | Short Messages Indicator = 014Paging (PCCH -> PCH -> PDSCH)pagingRecordList[0].ue-Identity = ng-5G-S-TMSI55G-S-TMSI matches -> initiate RRC connection establishmentRandom Access (MSG1..MSG3)RRCSetupRequest, establishmentCause = mt-Access6RRCSetupRRCSetupCompletecarries the NAS Service RequestNGAP INITIAL UE MESSAGEthe AMF learns which gNB answeredNGAP INITIAL CONTEXT SETUP REQUESTsecurity context + PDU session resourcesgNB A is never told the page succeeded. Itspaging record simply ages out.The AMF pages by area, not by cell, because an RRC_IDLE UE reselects without telling anyone.
Figure 8. CN paging end to end. The fan-out at step 2 is the expensive part: n gNBs each transmit a page, n-1 of them into empty air.

11.1 What a cell can carry

Paging capacity is the product of occasions per second and records per occasion. Both are small numbers, and the result is the reason paging load is a real dimensioning concern in dense urban cells.

🧮
Worked Calculation

Configuration from §5.2: T = rf64 (640 ms), N = 16, Ns = 4.

occasions per cycle = N x Ns = 64

occasions per second = 64 / 0.64 s = 100

records per occasion = maxNrofPageRec = 32

-> ceiling = 100 x 32 = 3200 paging records per second

But the records are not free to place: a UE_ID may only be paged in its occasion, and 1024 / 64 = 16 UE_IDs share each one. The practical limit per occasion is therefore 32 records drawn from 16 UE_IDs -- ample -- while the pathological row of the table in §4.4 (N = 16, Ns = 1, T = rf256) gives

occasions per second = 16 / 2.56 = 6.25

ceiling = 6.25 x 32 = 200 records per second

with 64 UE_IDs funnelled into each occasion. Same cell, same air interface, sixteen times less paging capacity -- purely from nAndPagingFrameOffset and ns.

11.2 Repetition and area escalation at the AMF

The AMF does not page once. It runs a paging strategy, and the shape of that strategy is operator policy rather than a fixed procedure TS 23.501 cl. 5.4.4 TS 23.502. A typical escalation:

AttemptScopeDriven byWhat it costs
1The last known gNB, or the cells in the NGAP Assistance Data for Paging (Recommended Cells / Recommended RAN Nodes)Assistance data the RAN supplied at release, and the AMF's own recordOne or a few cells' worth of paging capacity
2The last known tracking areaAMF policyOne TA's gNBs
3The full registered TAI listAMF policy; Paging Attempt Information carries the attempt count and the Next Paging Area ScopeEvery gNB in the registration area
give upNone -- the AMF stops pagingThe paging timer expiring for the last attemptThe SMF is told delivery failed; buffered packets are dropped or held; the implicit deregistration timer may eventually deregister the UE

Table 14. A representative CN paging escalation. The details are policy, but the shape -- narrow first, widen on failure -- is universal, and the Paging Attempt Information IE exists to let the RAN see where in the sequence it is.

🔍
What You See In Logs

The narrow first attempt is worth understanding when you are diagnosing "paging works sometimes". If the first attempt is scoped to recommended cells and the UE has reselected away from them, attempt 1 always fails and the call connects on attempt 2 or 3 -- adding several seconds. The paging success rate looks acceptable and the paging latency is terrible. Correlate the Paging Attempt Count against setup latency before blaming the air interface.

12. Rel-17 and Rel-18: Early Indication, Subgrouping, eDRX, RedCap

Everything in §4 through §9 is Rel-15 and is still the core of the mechanism. Rel-17 added a layer above it whose sole purpose is to stop UEs from decoding pages that were never for them.

12.1 Paging Early Indication

The expensive part of a paging occasion for the UE is not the PDCCH monitoring -- it is everything before it: waking the receiver, running AGC, re-synchronising to the SSB, and tracking time and frequency. A UE does all of that and then, in the overwhelming majority of occasions, finds nothing. Paging Early Indication (PEI) puts a much cheaper signal a configurable distance ahead of the PO: DCI format 2_7, addressed by a configured PEI-RNTI, saying only there is or is not a page coming in the next group of occasions. A UE that sees no PEI can skip the full wake-up entirely.

12.2 Paging subgrouping

PEI is per group of POs, which would still wake every UE sharing those POs. Subgrouping refines it: the 1024 UE_IDs mapped to a PO are divided into subgroups, and the PEI payload carries one bit per subgroup. A UE wakes only if its own subgroup bit is set. Two ways of assigning a subgroup exist:

MethodAssigned byConfigurationTrade-off
UE_ID basedThe UE itself, arithmeticallysubgroupsNumForUEID in SubgroupConfigFree -- no signalling, works for any UE -- but the split is arbitrary and cannot follow traffic patterns.
CN assignedThe AMF, delivered to the UE over NAS and to the gNB in the NGAP UE Paging Subgroup IDsubgroupsNumPerPO bounds the totalCan group UEs by behaviour or subscription, but needs support and signalling on both sides.

Table 15. Subgrouping methods, TS 38.304 and TS 38.331 PEI-Config. A cell may configure both, with CN-assigned taking precedence for UEs that have an assignment.

⚠️
Common Pitfall

PEI and subgrouping change nothing about the PF/PO arithmetic, the P-RNTI, the DCI or the Paging message. They are a filter in front of the occasion. If PEI is misconfigured, UEs skip real pages and there is nothing wrong with any of the paging configuration you would normally check -- the pages are transmitted correctly and simply not listened to. The distinguishing symptom is paging failure that disappears when PEI is disabled while every other parameter stays the same.

12.3 Extended DRX

For a device that only ever reports a meter reading, even a 2.56 s paging cycle is a large fraction of its power budget. Rel-17 eDRX extends the cycle far beyond what the 10-bit SFN can express, by adding a hyper-frame layer on top:

ItemRRC_IDLE eDRXRRC_INACTIVE eDRXNote
Cycle range2.56 s up to 10485.76 s (about 2.9 hours)up to 10.24 sThe inactive case is deliberately modest -- the anchor must hold the context for the whole cycle.
Where it is negotiatedNAS, during registrationeDRX-Config in suspendConfigIdle-mode eDRX is a core-network negotiation, not an RRC one.
Broadcast permissioneDRX-AllowedIdle in SIB1SIB1A cell must advertise that it supports eDRX before a UE may use it.
Timing anchorHyper-SFN (H-SFN), which increments each time the SFN wraps (every 10.24 s)SFN onlyFor cycles longer than 10.24 s the SFN alone cannot identify the occasion.
Paging windowA Paging Time Window (PTW) inside the paging hyper-frame; ordinary PF/PO arithmetic applies within itnot usedSo the §4 formulae are not replaced, only scoped: the UE first finds its PTW, then its PF and PO inside it.

Table 16. eDRX, approximately. Cycle values and the PTW mechanism follow TS 38.304; exact enumerations differ between the idle and inactive cases and should be read from the release you are working against.

🔄
Release Delta

eDRX is why Short Message bit 3 exists. A UE on a 655 s cycle can sleep through dozens of BCCH modification periods, so the ordinary systemInfoModification flag -- which says change at the next boundary -- is useless to it. systemInfoModification-eDRX carries the change indication on a horizon that an eDRX UE can actually act on.

12.4 RedCap

Reduced Capability UEs may be confined to a separate initial downlink BWP, and paging follows them there: Rel-17 allows a separate firstPDCCH-MonitoringOccasionOfPO for the RedCap initial BWP, and separate PCCH-Config fields where the RedCap BWP differs. The practical consequence is that one cell can have two disjoint sets of paging monitoring occasions, and a page for a RedCap UE placed in the non-RedCap occasion is simply never heard. Rel-17 also introduced nrofPDCCH-MonitoringOccasionPerSSB-InPO, which repeats each occasion, specifically to recover the link budget a one-antenna RedCap receiver loses.

13. Paging Policy Differentiation and Paging Priority

Not all downlink packets deserve the same paging effort. A TCP keep-alive and a voice call both trigger paging, and treating them identically means either wasting capacity on the first or under-serving the second. Two independent mechanisms address this.

MechanismSet byCarried inWhat it changes
Paging Policy DifferentiationThe SMF, from the DSCP of the downlink packet, expressed as a Paging Policy IndicatorN11 towards the AMF, per PDU sessionWhich paging strategy the AMF applies -- how many attempts, how fast it escalates area, whether it pages at all for this traffic class.
Paging PriorityThe AMF, from the ARP of the affected bearer or from MPS/MCS subscriptionThe Paging Priority IE of NGAP PAGINGLets the gNB pre-empt other paging load, and lets it keep paging under overload control when lower-priority pages are being shed.
pagingCause (Rel-17)The AMF, when the trigger is a voice callThe Paging RRC message itself, in PagingRecord-v1700Reaches the UE, not just the gNB -- so the UE can prioritise its own access and skip low-priority access barring.

Table 17. Three ways to say "this page matters more". The first two are invisible to the UE; the third is the only one it can see.

⚠️
Common Pitfall

Paging Priority and pagingCause are separately configured and can disagree. A page carrying a high Paging Priority but no pagingCause will be treated urgently by the gNB and ordinarily by the UE. If terminating voice setup times are marginal, check both -- the gNB half of the prioritisation is often enabled while the Rel-17 UE-facing half is not.

14. Configuration Reference: ASN.1, Ranges and Timers

The broadcast paging configuration lives at SIB1 -> servingCellConfigCommon -> downlinkConfigCommon -> pcch-Config. That is the whole cell-level configuration; everything else is either UE-specific (suspendConfig, NAS DRX) or derived.

PCCH-Config ::= SEQUENCE {
    defaultPagingCycle              PagingCycle,
    nAndPagingFrameOffset           CHOICE {
        oneT                            NULL,
        halfT                           INTEGER (0..1),
        quarterT                        INTEGER (0..3),
        oneEighthT                      INTEGER (0..7),
        oneSixteenthT                   INTEGER (0..15)
    },
    ns                              ENUMERATED {four, two, one},
    firstPDCCH-MonitoringOccasionOfPO CHOICE {
        sCS15KHZoneT                    SEQUENCE (SIZE (1..maxPO-perPF))
                                            OF INTEGER (0..139),
        sCS30KHZoneT-SCS15KHZhalfT      SEQUENCE (SIZE (1..maxPO-perPF))
                                            OF INTEGER (0..279),
        sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT
                                        SEQUENCE (SIZE (1..maxPO-perPF))
                                            OF INTEGER (0..559),
        ...                             -- five further SCS / T-fraction branches
    }                                                        OPTIONAL,  -- Need R
    ...,
    [[  -- Rel-17 additions
    nrofPDCCH-MonitoringOccasionPerSSB-InPO-r17  INTEGER (2..4)  OPTIONAL,
    ]]
}

PagingCycle ::= ENUMERATED {rf32, rf64, rf128, rf256}
maxPO-perPF INTEGER ::= 4

-- where it sits
DownlinkConfigCommonSIB ::= SEQUENCE {
    frequencyInfoDL     FrequencyInfoDL-SIB,
    initialDownlinkBWP  BWP-DownlinkCommon,   -- contains pagingSearchSpace
    bcch-Config         BCCH-Config,          -- modificationPeriodCoeff
    pcch-Config         PCCH-Config,
    ...
}

-- RRC_INACTIVE side, delivered once at release
SuspendConfig ::= SEQUENCE {
    fullI-RNTI                  I-RNTI-Value,
    shortI-RNTI                 ShortI-RNTI-Value,
    ran-PagingCycle             PagingCycle,
    ran-NotificationAreaInfo    RAN-NotificationAreaInfo   OPTIONAL,
    t380                        PeriodicRNAU-TimerValue    OPTIONAL,
    nextHopChainingCount        NextHopChainingCount,
    ...
}

Listing 2. Abridged from TS 38.331. ... marks omitted branches, members and extension markers.

ParameterASN.1 valuesTypicalEffect
defaultPagingCycle
rf32, rf64, rf128, rf256rf128 (1.28 s)Cell-wide paging cycle and the basis of the BCCH modification period.
nAndPagingFrameOffset
oneT / halfT / quarterT / oneEighthT / oneSixteenthT, each with its offsetoneT or quarterTSets N and PF_offset together. Sparser N concentrates paging into fewer frames.
ns
four, two, onetwo or fourPaging occasions per PF; bounded by maxPO-perPF = 4.
firstPDCCH-MonitoringOccasionOfPO
1..4 integers, range set by the CHOICE branchabsentExplicit placement of each PO's first monitoring occasion. Needed when the default i_s x S does not fit the frame.
nrofPDCCH-MonitoringOccasionPerSSB-InPO
2 .. 4 (Rel-17)absentRepeats each monitoring occasion per SSB for coverage.
pagingSearchSpace
SearchSpaceId 0 .. 3900 means reuse searchSpaceZero in CORESET#0. Anything else must be a configured search space.
modificationPeriodCoeff
n2, n4, n8, n16n4Multiplies defaultPagingCycle to give the BCCH modification period; see 17 System Information.
ran-PagingCycle
rf32 .. rf256rf64RRC_INACTIVE paging cycle, per UE.
ran-NotificationAreaInfo
cellList or ran-AreaConfigLista handful of cellsScope of RAN paging and of movement without reporting.
eDRX-AllowedIdle
present / absent (Rel-17)absentCell-level permission for idle-mode eDRX.

Table 18. Paging parameter reference. All the cell-level fields are in SIB1, so any change to them is a BCCH modification and is itself announced by a short message.

Timer / counterWhereRange or typicalWhat its expiry means
Paging cycle TUE and gNB, computed320 ms .. 2.56 s (longer with eDRX)Not a timer as such -- the period between the UE's occasions.
t380
UE, from suspendConfigmin5 .. min720Periodic RNA update due. The UE resumes with cause rna-Update and is usually sent straight back to RRC_INACTIVE.
T319
UE, UE-TimersAndConstantsms100 .. ms2000, often ms1000RRCResumeRequest sent, no RRCResume received. UE goes to RRC_IDLE and the resume is lost -- a paged UE becomes unreachable until it re-registers.
T300
UE, UE-TimersAndConstantsms100 .. ms2000, often ms1000RRCSetupRequest sent, no RRCSetup. Connection establishment failure; the page effectively failed at the last hop.
AMF paging timer (T3513)AMFcommonly ~6 sNo Service Request arrived. Triggers the next paging attempt or abandonment.
RAN paging attempt budgetAnchor gNBvendor-specific, a few attemptsAnchor releases the UE context to the AMF; escalates to CN paging.
Implicit deregistration timerAMFoperator policy, typically 54 minutes plus the periodic registration timerThe AMF stops believing the UE exists. All subsequent paging is pointless until the UE registers again.

Table 19. Timers that bound a paging attempt at each level. Note how the scales differ: milliseconds at RRC, seconds at NAS, tens of minutes at the AMF's reachability logic.

15. Failure Modes and What Each One Means

Paging fails silently. There is no acknowledgement, no error message and no counter that increments at the point of failure -- the first symptom is usually a user complaint about missed calls. The failure modes below are ordered roughly by how often they are the actual cause.

FailureDetected byWhat the UE doesDiagnostic pointer
gNB and UE disagree on T (UE-specific DRX not reaching the gNB)Nobody, directly -- only the AMF paging timerNothing. It sleeps through the page it was sent.Compare the NGAP Paging DRX IE against the UE's NAS-negotiated DRX. The PF residue differs entirely, so success rate collapses rather than degrades.
5G-S-TMSI mismatch after GUTI reallocationNobodySleeps through pages sent against the old identityCorrelate the reallocation timestamp against the missed pages. Transient by nature; persistent means a reallocation that one side did not complete.
UE outside its RNA, no RNA update performedAnchor gNB, when RAN paging attempts run outNothing until CN paging finds it; then answers with RRCSetupRequestA suspended UE that reappears as a setup rather than a resume. Usually means the RNA is smaller than the real mobility pattern, or t380 is too long.
TAI list / TAC misconfigurationNobody -- the page is delivered to the wrong gNBsNothingCheck that every cell's broadcast TAC actually appears in the TAI lists the AMF hands out. A cell with a TAC nobody registers in is invisible to paging while working perfectly otherwise.
pagingSearchSpace or CORESET mismatchNobodyNever finds the DCICell-wide, affects every UE equally, and coincides with a config change. If SIB1 acquisition works but paging never does, this is the first thing to check.
More than 32 UEs to page in one occasiongNB schedulerNothing wrong; the surplus is simply latePaging latency that steps up by a whole cycle under load. Fix by raising N x Ns, not by shortening T.
firstPDCCH-MonitoringOccasionOfPO inconsistent with the SCS / T-fraction branchNobodyMonitors the wrong occasions, or two POs collapse onto oneAffects a subset of UE_IDs -- specifically those whose i_s maps to the misplaced entry. Partial paging failure with a clean arithmetic signature.
Ns x S exceeds the usable monitoring occasions in the PFNobodyMonitors an occasion in the following frameTDD cells with many SSBs and Ns = 4. Recount usable occasions after removing UL-overlapping ones (§6).
PEI or subgroup misconfiguration (Rel-17)NobodySkips the wake-up entirelyPaging failure that vanishes when PEI is disabled with everything else unchanged.
Anchor unreachable over Xn during resumeNew gNB, on RETRIEVE UE CONTEXT failureReceives RRCSetup instead of RRCResume; context and bearers are rebuiltXn transport or anchor state. Costs the whole point of RRC_INACTIVE but is not a paging failure as such.
T319 expiry after answering a RAN pageUEGoes to RRC_IDLE; the page is lostThe page reached the UE and the response failed. Look at Random Access and the resume, not at paging.

Table 20. Paging failure modes. Note how many rows say "detected by nobody" -- paging has almost no built-in observability, which is why the mt-Access ratio in §9 is worth instrumenting.

💡
Key Point

Three of these -- DRX mismatch, TAI misconfiguration and search-space mismatch -- produce a UE that registers successfully, sustains data sessions it originates itself, and passes every test that does not involve someone calling it. Mobile-originated traffic works perfectly. Only mobile-terminated traffic fails. If that is the shape of the complaint, start at paging and not at the radio.

16. Illustrative Message Traces

🔍
About These Traces

Illustrative trace. Field names and encodings follow 3GPP; the values are constructed for this document and are not a capture from any deployed or lab network.

16.1 The broadcast configuration, and the occasion it implies

[RRC-DL-BCCH] SIB1 -- paging configuration
SIB1
 servingCellConfigCommon
  downlinkConfigCommon
   initialDownlinkBWP
    pdcch-ConfigCommon
     pagingSearchSpace ............ 0            -- reuse searchSpaceZero
   bcch-Config
    modificationPeriodCoeff ....... n4           -- mod period = 4 x T
   pcch-Config
    defaultPagingCycle ............ rf64         -- T = 64 frames = 640 ms
    nAndPagingFrameOffset
     quarterT ..................... 2            -- N = 16, PF_offset = 2
    ns ............................ four         -- Ns = 4
    firstPDCCH-MonitoringOccasionOfPO
     (absent)                                    -- default: PO starts at i_s x S
 ssb-PositionsInBurst
  inOneGroup .................... 10001000      -- S = 4 transmitted SSBs

-- UE-side derivation for 5G-S-TMSI 0x00411CB42E77
   UE_ID       = 0x2E77 & 0x3FF          = 631
   631 mod 16  = 7   -> (SFN+2) mod 64   = 4 x 7 = 28
                        SFN mod 64       = 26
   i_s         = floor(631/16) mod 4     = 39 mod 4 = 3
   -> monitor PF SFN 26, 90, 154, ... ; PO index 3; MOs 12..15

Listing 3. pcch-Config as decoded from SIB1, with the derivation of §5.2 carried straight through to the monitoring occasions.

16.2 A CN page, delivered and answered

[NGAP/PHY/RRC] CN paging, happy path
09:41:12.104  [NGAP-DL] PAGING
              UE Paging Identity
                fiveG-S-TMSI ......... 0x00411CB42E77
              Paging DRX ............. v64          -- matches the UE's NAS DRX
              TAI List for Paging .... [ TAC 0x000101, TAC 0x000102 ]
              Paging Priority ........ (absent)
              Paging Attempt Information
                Paging Attempt Count ..... 1
                Intended Nr of Attempts ... 3
                Next Paging Area Scope .... changed

09:41:12.105  [SCHED]   paging record queued
              UE_ID .................. 631   (5G-S-TMSI mod 1024)
              target PF .............. SFN 26 (next occurrence SFN 794)
              target PO .............. i_s 3  -> MOs 12..15, slots 15..18
              wait ................... 428 ms

09:41:12.533  [PHY-DL]  PDCCH, DCI 1_0, CRC scrambled by P-RNTI 0xFFFE
              SFN 794 slot 15   (MO 12, SSB #0 beam)
              Short Messages Indicator ... 01     -- scheduling info only
              Frequency domain res alloc . RIV 0x0C82 -> 8 PRB from PRB 12
              Time domain res alloc ...... row 2  (S=2, L=12)
              VRB-to-PRB mapping ......... 1      -- interleaved
              MCS ........................ 2
              TB scaling ................. 0
              -- repeated in MOs 13,14,15 on SSB #1,#2,#3

09:41:12.534  [RRC-DL-PCCH] Paging  (18 octets)
              pagingRecordList: 2 records
               [0] ue-Identity
                     ng-5G-S-TMSI ...... 0x00411CB42E77   -- our UE
                   accessType .......... (absent)         -- i.e. 3GPP access
               [1] ue-Identity
                     ng-5G-S-TMSI ...... 0x0041 7702 1E77 -- a different UE_ID 631

09:41:12.536  [RRC]     own 5G-S-TMSI matched in record 0
              -> initiate RRC connection establishment
09:41:12.548  [MAC-UL]  RA preamble 41, RA-RNTI 1287
09:41:12.571  [RRC-UL]  RRCSetupRequest
                ue-Identity
                  ng-5G-S-TMSI-Part1 ... 0x1CB42E77
                establishmentCause .... mt-Access        -- the paging fingerprint
09:41:12.594  [RRC-DL]  RRCSetup
09:41:12.612  [RRC-UL]  RRCSetupComplete + NAS Service Request
09:41:12.618  [NGAP-UL] INITIAL UE MESSAGE  (RRCEstablishmentCause mt-Access)

-- end to end from PAGING to INITIAL UE MESSAGE: 514 ms,
   of which 428 ms was waiting for the paging occasion

Listing 4. A complete CN paging success. The second record shows the sharing effect: another UE_ID 631 in the same occasion, whose 5G-S-TMSI differs everywhere except the low ten bits.

16.3 A RAN page answered at a neighbour cell

[XnAP/RRC] RAN paging, resume at a neighbour
14:07:55.880  [GTP-U]   DL PDU on NG-U TEID 0x0000A17C
              UE state ............... RRC_INACTIVE since 14:03:22
              fullI-RNTI ............. 0x1A2B3C4D5E
              ran-PagingCycle ........ rf64
14:07:55.881  [RAN-PAGE] RAN paging initiated, attempt 1 of 2
              RNA .................... cellList, 12 cells across 2 gNBs
14:07:55.882  [XNAP-DL] RAN PAGING -> neighbour gNB
              UE RAN Paging Identity . I-RNTI 0x1A2B3C4D5E
              RAN Paging Area ........ 12 cells
              Paging DRX ............. v64

14:07:56.204  [RRC-DL-PCCH] (neighbour cell) Paging  (11 octets)
              pagingRecordList: 1 record
               [0] ue-Identity
                     fullI-RNTI ........ 0x1A2B3C4D5E    -- RAN paging, not CN

14:07:56.206  [RRC]     fullI-RNTI matched -> resume (not setup)
14:07:56.231  [RRC-UL]  RRCResumeRequest  on CCCH
                resumeIdentity (shortI-RNTI) .. 0x3C4D5E
                resumeMAC-I ................... 0x9B41
                resumeCause ................... mt-Access
14:07:56.234  [XNAP-UL] RETRIEVE UE CONTEXT REQUEST -> anchor gNB
                I-RNTI ........................ 0x1A2B3C4D5E
14:07:56.241  [XNAP-DL] RETRIEVE UE CONTEXT RESPONSE
                resumeMAC-I verified .......... ok
                AS security context, DRB config, PDCP SN status
14:07:56.258  [RRC-DL]  RRCResume  on SRB1 (integrity protected, ciphered)
14:07:56.281  [RRC-UL]  RRCResumeComplete
14:07:56.286  [NGAP-UL] PATH SWITCH REQUEST -> AMF

-- the AMF was never involved in the paging itself, only in the path switch

Listing 5. RAN paging with the UE answering under a different gNB. The record carries fullI-RNTI, which is the only thing in the transmission that distinguishes it from a CN page.

16.4 A short message with no paging record at all

[PHY/RRC] Short-message-only and combined
22:15:00.008  [PHY-DL] PDCCH, DCI 1_0, CRC scrambled by P-RNTI 0xFFFE
              SFN 512 slot 0
              Short Messages Indicator ... 10     -- short message ONLY
              Short Message .............. 0b10000000
                bit 1 systemInfoModification ...... 1
                bit 2 etwsAndCmasIndication ....... 0
                bit 3 systemInfoModification-eDRX . 0
                bits 4..8 ......................... 0  (ignored)
              -- no PDSCH scheduled, no Paging message, no UE identity
22:15:00.009  [RRC]    SI change indicated
              current modification period ends at SFN 768
              -> re-acquire SIB1 and changed SI from SFN 768

22:41:33.120  [PHY-DL] PDCCH, DCI 1_0, P-RNTI 0xFFFE
              Short Messages Indicator ... 11     -- short message AND paging
              Short Message .............. 0b01000000
                bit 2 etwsAndCmasIndication ....... 1
22:41:33.121  [RRC]    ETWS/CMAS indicated -> acquire SIB6/SIB7/SIB8 now
              (not deferred to a modification period boundary)
22:41:33.122  [RRC-DL-PCCH] Paging  (12 octets)
              pagingRecordList: 1 record
               [0] ng-5G-S-TMSI ..... 0x0041 88C1 04B2   -- not our UE
22:41:33.123  [RRC]    no identity match -> no access initiated,
                       but the ETWS action above still applies

Listing 6. The two identity-free cases. The second shows indicator 11: the short message is acted on even though the paging record belongs to somebody else.

16.5 A UE that is never reachable

[NAS/NGAP] paging DRX mismatch
-- UE registers and works normally for mobile-originated traffic

10:02:11.400  [NAS]     Registration Accept
                5G-GUTI ................ 0x0041 1CB4 2E77
                Requested DRX param .... 32 radio frames   -- UE asked for rf32
                Negotiated DRX param ... 32 radio frames

-- UE therefore uses T = 32 (shortest applicable), and computes
   631 mod 16 = 7 -> (SFN+2) mod 32 = (32 div 16) x 7 = 14 -> SFN mod 32 = 12
   -> PF at SFN 12, 44, 76, ...

10:14:38.002  [NGAP-DL] PAGING
                fiveG-S-TMSI ........... 0x00411CB42E77
                Paging DRX ............. (absent)          -- ** not relayed **
10:14:38.003  [SCHED]   no Paging DRX IE -> fall back to defaultPagingCycle rf64
                gNB computes  (SFN+2) mod 64 = 28 -> SFN mod 64 = 26
                target PF .............. SFN 26
10:14:38.240  [PHY-DL]  paging transmitted at SFN 26, PO i_s 3

-- the UE was awake at SFN 12 and 44, asleep at 26. Nothing is logged as an
   error anywhere: the gNB transmitted, the UE slept.

10:14:44.010  [NGAP-DL] PAGING   Paging Attempt Count 2   (AMF timer expired)
10:14:50.015  [NGAP-DL] PAGING   Paging Attempt Count 3
10:14:56.020  [AMF]     paging abandoned, SMF notified of delivery failure

-- diagnostic: compare the negotiated NAS DRX against the NGAP Paging DRX IE.
   T differs -> the PF residues differ -> the two patterns never intersect.

Listing 7. The most expensive paging bug there is: a UE-specific DRX cycle that the AMF negotiated and then failed to relay. Every layer reports success.

17. Release Deltas: Rel-15 to Rel-18

ReleaseChangeWhy it matters when reading paging
Rel-15CN and RAN paging; PF/PO arithmetic; P-RNTI 0xFFFE; DCI 1_0 with short message bits 1-2; Paging with up to 32 recordsThe baseline. Everything in §3 to §9 is Rel-15 and has not changed.
Rel-15accessType in PagingRecordDistinguishes a page for a non-3GPP access session. Absent means 3GPP, which reads as a missing field in many decoders.
Rel-16NGAP Paging Attempt Information (attempt count, intended attempts, next area scope); Paging Origin for voiceMakes the AMF's escalation visible from the RAN, which is what lets you separate page missed from page not yet sent widely enough.
Rel-16Paging Policy Differentiation hardening -- PPI derived from DSCP, per-PDU-session paging policyTwo pages for the same UE can now legitimately get different treatment depending on which flow triggered them.
Rel-17Paging Early Indication -- DCI 2_7, PEI-RNTI, pei-ConfigA UE can skip the wake-up entirely. A page can now be correctly transmitted and correctly not heard.
Rel-17Paging subgrouping -- UE_ID-based and CN-assigned subgroups in the PEI payloadRefines PEI from per-PO to per-subgroup. Adds a second identity-derived quantity that both sides must agree on.
Rel-17eDRX in RRC_IDLE (up to hours, with H-SFN and a Paging Time Window) and in RRC_INACTIVE (up to 10.24 s)SFN alone no longer identifies an occasion. Also the reason short message bit 3 exists.
Rel-17pagingCause = voiceCall in PagingRecord-v1700The first paging information that reaches the UE rather than just the gNB.
Rel-17RedCap: separate initial DL BWP, separate firstPDCCH-MonitoringOccasionOfPO, nrofPDCCH-MonitoringOccasionPerSSB-InPOOne cell can have two disjoint sets of paging occasions. A page in the wrong set is never heard.
Rel-17Small Data Transmission from RRC_INACTIVEA RAN-paged UE may exchange data without ever reaching RRC_CONNECTED, so a successful page need not produce a state change.
Rel-18Network energy saving: cell DTX/DRX aligned with paging occasions; further PEI refinementsPaging occasions become one of the few times a lightly loaded cell transmits at all, so they dominate its energy profile.
Rel-18NTN paging enhancements -- longer windows and propagation-aware occasion placementThe occasion the UE monitors and the occasion the gNB transmits in can be separated by more than a frame.

Table 21. Paging-relevant changes by release. Feature presence should be confirmed against the UE capability exchange -- see the companion 26 UE Capability document.

18. Reading Paging in Logs: A Checklist

1. Read the record identity first. ng-5G-S-TMSI means CN paging and expect RRCSetupRequest. fullI-RNTI means RAN paging and expect RRCResumeRequest. No record at all means a short message, and expect no response from anyone (§1, §8).

2. Compute UE_ID by hand. Take the low ten bits of the 5G-S-TMSI. Then run the PF congruence and the i_s expression from §4 with the cell's own pcch-Config. If your computed PF does not match the SFN the page was transmitted in, stop -- you have found the bug.

3. Check that T is the same on both sides. Compare the NAS-negotiated DRX, the NGAP Paging DRX IE, ran-PagingCycle if the UE was inactive, and defaultPagingCycle. The shortest should win everywhere. A missing Paging DRX IE is the single most common cause of a UE that only fails mobile-terminated (§4.3, §16.5).

4. Decode the Short Messages Indicator before anything else in the DCI. With value 10 there is no PDSCH, so an absent Paging message is correct behaviour and not a decode failure (§7).

5. Count the paging records. A list running at or near 32 in a busy hour means the occasion is saturated and pages are being deferred a whole cycle. The fix is more occasions (N x Ns), not a shorter cycle (§8, §11.1).

6. Convert monitoring-occasion index to slot index properly. Occasions overlapping uplink symbols are skipped before numbering, so in a TDD cell the two indices differ. Recount before concluding the gNB transmitted in the wrong place (§6).

7. Look for the mt-Access cause. mt-Access is the only end-to-end evidence that a page was received. Count mt-Access accesses against pages requested; nothing else in the protocol closes the loop (§9).

8. Check the Paging Attempt Count on the NGAP message. If terminating calls connect but connect slowly, and the attempt count is routinely 2 or 3, the problem is the AMF's first narrow attempt missing rather than the air interface (§11.2).

9. For an RRC_INACTIVE UE, check the RNA and the RNA-update timer before the radio. t380 too long, or an RNA smaller than the real mobility pattern, and RAN paging misses. A resume that arrives as a setup means RAN paging never reached the UE and CN paging cleaned up afterwards (§10).

10. If PEI is enabled, disable it once as a control. A paging failure that disappears with PEI off, with every other parameter unchanged, is a PEI or subgroup problem and no amount of PF/PO arithmetic will find it (§12.2).

19. Glossary

TermExpansionMeaning in this document
PFPaging FrameA radio frame whose SFN satisfies the PF congruence for a given UE_ID. There are N of them per cycle T.
POPaging OccasionOne of the Ns opportunities inside a PF, itself a set of S x X PDCCH monitoring occasions -- one per transmitted SSB.
MOPDCCH Monitoring OccasionOne chance to detect the paging DCI. Numbered from zero within the PF, skipping occasions that overlap uplink symbols.
UE_ID--5G-S-TMSI mod 1024. The hash that selects PF and PO. Only 1024 values exist, so UEs share occasions.
TPaging DRX cycleThe UE's wake-up period in radio frames. The shortest of the default, NAS and RAN values applies.
N / Ns--Paging frames per cycle / paging occasions per paging frame. From nAndPagingFrameOffset and ns respectively -- not from nB as in LTE.
P-RNTIPaging RNTIFixed at 0xFFFE. Scrambles the CRC of the paging DCI, so every UE can descramble it without any context.
Short Message--Eight bits in the DCI carrying cell-wide flags. Needs no PDSCH and carries no UE identity.
5G-S-TMSI5G Temporary Mobile Subscription Identifier48 bits: AMF Set ID, AMF Pointer and the 32-bit 5G-TMSI. The paging identity for RRC_IDLE and the source of UE_ID.
I-RNTIInactive RNTI40-bit fullI-RNTI in the paging record, 24-bit shortI-RNTI in RRCResumeRequest. Identifies both the UE and its anchor gNB.
TAI / RNATracking Area Identity / RAN Notification AreaThe scope of CN paging and of RAN paging respectively. The RNA is usually the smaller of the two.
PEIPaging Early IndicationRel-17 DCI 2_7 ahead of the PO saying whether waking fully is worth it.
PTWPaging Time WindowThe eDRX window inside a paging hyper-frame within which the ordinary PF/PO arithmetic applies.
PPD / PPIPaging Policy Differentiation / IndicatorLets the core apply different paging effort to different traffic classes, derived from the downlink packet's DSCP.

20. References

  • 3GPP TS 38.304 -- UE procedures in Idle mode and RRC Inactive state. Clause 7 (paging), clause 7.1 (discontinuous reception, the PF and i_s formulae, monitoring occasion numbering, firstPDCCH-MonitoringOccasionOfPO), clause 5 (cell selection and reselection, which determines where a page must be sent).
  • 3GPP TS 38.331 -- RRC protocol specification. Clause 5.2 (paging reception and short message handling), clause 5.3.13 (RRC connection resume), clause 6.2 (PCCH-Message, Paging, PagingRecord, PagingUE-Identity, PCCH-Config, SuspendConfig, PEI-Config), clause 6.5 and Table 6.5-1 (Short Message bit definitions).
  • 3GPP TS 38.212 -- Multiplexing and channel coding. Clause 7.3.1.2.1 (DCI format 1_0, including the P-RNTI field set and the Short Messages Indicator).
  • 3GPP TS 38.213 -- Physical layer procedures for control. Clause 10.1 (search spaces, pagingSearchSpace and Type2-PDCCH common search space).
  • 3GPP TS 38.321 -- MAC protocol specification. Clause 7.1 (RNTI values, including P-RNTI = 0xFFFE).
  • 3GPP TS 38.300 -- NR overall description. Clause 9.2.5 (paging), clause 9.2.2 (RRC states and the RRC_INACTIVE model that RAN paging serves).
  • 3GPP TS 38.413 -- NGAP. The PAGING message and its IEs: UE Paging Identity, Paging DRX, TAI List for Paging, Paging Priority, Assistance Data for Paging, Paging Attempt Information, UE Radio Capability for Paging.
  • 3GPP TS 38.423 -- XnAP. The RAN PAGING message, and RETRIEVE UE CONTEXT REQUEST / RESPONSE used when a paged UE resumes at a different gNB.
  • 3GPP TS 23.501 -- System architecture. Clause 5.4.4 (paging policy differentiation), clause 5.3 (registration and connection management states, CM-IDLE and CM-CONNECTED).
  • 3GPP TS 23.502 -- Procedures for the 5G System. Network-triggered Service Request, which is the procedure CN paging sits inside.
  • 3GPP TS 24.501 -- NAS protocol for 5GS. UE specific DRX parameters in the Registration procedure, and the AMF paging timer.
  • 3GPP TS 38.306 -- UE radio access capabilities. The capability bits gating eDRX, PEI and subgrouping support.

Companion documents in this set

  • 02 Radio Frame Structure -- SFN, radio frames and slots, which the whole PF/PO calculation indexes.
  • 03 Random Access -- what a paged UE does immediately after a match.
  • 06 Channel Mapping -- the PCCH / PCH / PDSCH chain of §3 in its full context.
  • 11 DRX -- connected-mode DRX, the same idea applied to a UE that already has a C-RNTI.
  • 13 RRC Overview -- the RRC layer and its bearers; PCCH is the one logical channel with no SRB.
  • 14 RRC States -- RRC_INACTIVE, suspendConfig, I-RNTI and the RNA update procedure that RAN paging depends on.
  • 15 RRC Procedures -- RRCSetup and RRCResume in detail.
  • 17 System Information / 18 MIB and SIB1 IEs -- where pcch-Config is broadcast, and the modification period the short message refers to.
  • 26 UE Capability -- where support for eDRX, PEI and subgrouping is declared.
  • 27 AS Security Mode -- the resumeMAC-I that validates a RAN-paged resume, and why the Paging message itself cannot be protected.