5G/NR - Paging 

 

 

 

 

Paging

Paging is a critical functionality in cellular systems, used to notify a UE (User Equipment) of incoming services or messages while minimizing power consumption by not requiring continuous monitoring of the network

The overal purpose of Paging in NR is same as LTE Paging, but in details there are some differences between NR paging and LTE paging.

 

In LTE, Paging had performed roughly 3 main things as follows.

  • Triggering RRC Setup
  • System Information Modification
  • PWS/ETWS notification

In NR, Paging functions mostly for Triggering RRC Setup (RRC Request and RRC Connection Resumption). System Information Modification and PWS/ETWS notification is done by DCI 1_0 with P_RNTI and corresponding PDSCH.

Paing Message

The Paging message in NR follows ASN.1 encoding, similar to LTE.

Paging ::= SEQUENCE {

    pagingRecordList                      PagingRecordList OPTIONAL, -- Need N

    lateNonCriticalExtension              OCTET STRING OPTIONAL,

    nonCriticalExtension                  SEQUENCE{} OPTIONAL

}

 

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

 

PagingRecord ::= SEQUENCE {

    ue-Identity                           PagingUE-Identity,

    accessType                            ENUMERATED {non3GPP} OPTIONAL, -- Need N

    ...

}

 

PagingUE-Identity ::= CHOICE {

    ng-5G-S-TMSI                          NG-5G-S-TMSI,

    fullI-RNTI                            I-RNTI-Value,

    ...

}

Key components include:

pagingRecordList: A sequence containing a list of PagingRecord elements, each corresponding to a UE or group of UEs.

  • ue-Identity: Identifies the UE being paged. This can include:
    • ng-5G-S-TMSI: The 5G-specific temporary mobile subscriber identity.
    • full-RNTI: A unique identifier for the UE.
  • accessType: Indicates whether the paging is for a 3GPP or non-3GPP access type.

lateNonCriticalExtension: Reserved for future use to ensure backward compatibility.

nonCriticalExtension: Optional extensions for non-critical updates.

Paging Configuration

Paging configuration in 5G is defined within SIB1, providing details about how UEs monitor paging messages to maintain energy efficiency while ensuring responsiveness to network events.

The paging process is designed around the Paging Control Channel (PCCH), which serves as the communication medium for delivering paging messages. In this context, the paging cycle is a fundamental parameter that specifies how often a UE should wake up to check for paging messages. The cycle is defined in terms of radio frame intervals, allowing for flexible configurations such as 32, 64, 128, or 256 frames. Longer intervals reduce energy consumption by minimizing the frequency of paging monitoring, though this comes at the cost of increased latency in responding to network requests.

The configuration also includes the notion of paging frame offsets, which determine the precise timing within a cycle when paging occurs. These offsets can be subdivided into smaller intervals such as half, quarter, or sixteenth of a frame, enabling fine-grained control over paging occasions. Additionally, the network specifies the number of subframes (1, 2, or 4) within each paging frame that may carry paging messages, further refining the scheduling process.

SIB1 ::=        SEQUENCE {

    cellSelectionInfo                   SEQUENCE {

        q-RxLevMin                          Q-RxLevMin,

        q-RxLevMinOffset                    INTEGER (1..8)      OPTIONAL,   -- Need R

        q-RxLevMinSUL                       Q-RxLevMin          OPTIONAL,   -- Need R

        q-QualMin                           Q-QualMin           OPTIONAL,   -- Need R

        q-QualMinOffset                     INTEGER (1..8)      OPTIONAL    -- Need R

    }    OPTIONAL,   -- Need S

    cellAccessRelatedInfo               CellAccessRelatedInfo,

    connEstFailureControl               ConnEstFailureControl   OPTIONAL,   -- Need R

    si-SchedulingInfo                   SI-SchedulingInfo       OPTIONAL,   -- Need R

    servingCellConfigCommon             ServingCellConfigCommonSIB    OPTIONAL,   -- Need R

    ims-EmergencySupport                ENUMERATED {true}             OPTIONAL,   -- Need R

    eCallOverIMS-Support                ENUMERATED {true}             OPTIONAL,   -- Cond Absent

    ue-TimersAndConstants               UE-TimersAndConstants         OPTIONAL,   -- Need R

 

    uac-BarringInfo                     SEQUENCE {

        uac-BarringForCommon                UAC-BarringPerCatList     OPTIONAL,   -- Need S

        uac-BarringPerPLMN-List             UAC-BarringPerPLMN-List   OPTIONAL,   -- Need S

        uac-BarringInfoSetList              UAC-BarringInfoSetList,

        uac-AccessCategory1-SelectionAssistanceInfo CHOICE {

            plmnCommon                      UAC-AccessCategory1-SelectionAssistanceInfo,

            individualPLMNList              SEQUENCE (SIZE (2..maxPLMN))

                                               OF UAC-AccessCategory1-SelectionAssistanceInfo

        }   OPTIONAL

    }     OPTIONAL,   -- Need R

 

    useFullResumeID                     ENUMERATED {true}    OPTIONAL,   -- Need N

    lateNonCriticalExtension            OCTET STRING         OPTIONAL,

    nonCriticalExtension                SEQUENCE{}           OPTIONAL

}

 

UAC-AccessCategory1-SelectionAssistanceInfo ::= ENUMERATED {a, b, c}

 

 

ServingCellConfigCommonSIB ::=      SEQUENCE {

    downlinkConfigCommon                DownlinkConfigCommonSIB,

    uplinkConfigCommon                  UplinkConfigCommonSIB   OPTIONAL,   -- Need R

    supplementaryUplink                 UplinkConfigCommonSIB   OPTIONAL,   -- Need R

    n-TimingAdvanceOffset               ENUMERATED { n0, n25560, n39936 }   OPTIONAL, -- Need S

    ssb-PositionsInBurst                    SEQUENCE {

        inOneGroup                          BIT STRING (SIZE (8)),

        groupPresence                       BIT STRING (SIZE (8))                                       OPTIONAL -- Cond Above6GHzOnly

    },

    ssb-PeriodicityServingCell          ENUMERATED {ms5, ms10, ms20, ms40, ms80, ms160},

    tdd-UL-DL-ConfigurationCommon       TDD-UL-DL-ConfigCommon    OPTIONAL, -- Cond TDD

    ss-PBCH-BlockPower                  INTEGER (-60..50),

    ...

}

 

DownlinkConfigCommonSIB ::=     SEQUENCE {

    frequencyInfoDL                 FrequencyInfoDL-SIB,

    initialDownlinkBWP              BWP-DownlinkCommon,

    bcch-Config                     BCCH-Config,

    pcch-Config                     PCCH-Config,

    ...

}

 

 

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),

        sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT  

                                           SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..1119),

        sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT

                                           SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..2239),

        sCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT

                                           SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..4479),

        sCS120KHZoneEighthT-SCS60KHZoneSixteenthT SEQUENCE (SIZE (1..maxPO-perPF))

                                           OF INTEGER (0..8959),

        sCS120KHZoneSixteenthT             SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..17919)

     } OPTIONAL, -- Need R

     ...

}

 

 

PagingCycle ::= ENUMERATED {rf32, rf64, rf128, rf256}

 

defaultPagingCycle: Specifies the default cycle at which a UE monitors paging. It is defined as a radio frame cycle:

  • rf32: UE monitors paging every 32 radio frames.
  • rf64, rf128, rf256: Higher values reduce paging frequency to save power but increase latency.

nAndPagingFrameOffset: Indicates the offset for paging frame selection within a paging cycle. Options:

  • oneT: Paging occurs once every T (radio frame).
  • halfT, quarterT, oneEighthT, oneSixteenthT: Sub-divisions of T, providing finer granularity for paging occasions.

ns: Defines the number of subframes (1, 2, or 4) within a paging frame where paging messages can be scheduled.

firstPDCCH-MonitoringOccasionOfPO: Specifies the exact location in the PDCCH (Physical Downlink Control Channel) where the UE monitors for Paging Occasions (PO). It provides configurations for different subcarrier spacings (SCS):

  • For example, sCS15KHZoneT defines monitoring occasions with 15 kHz subcarrier spacing, while higher SCS values like sCS120KHZZoneSixteenthT allow finer paging locations

Reference