5G/NR - Paging 







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



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,






Paging Configuration


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


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


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


                                           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}