5G/NR - NPN(Non-Public Network)/Private Network   

 

 

 

 

NPN (Non-Public Network)/Private Network

 

Basic concept and motivation of 5G private network would not be much different from LTE private network. I would recommend you to read the note about LTE private network as well. But I personally think there would be stronger demand on 5G private network due to technical difference between 4G and 5G.

 

 

 

What does 'Private' mean ?

 

First of all, let's think of what it mean by 'Private' mean ? Actually 'Private' is not 3GPP term. In 3GPP, we call it as 'Non Public'. The term 'Private' in this context would not be a legal term since I think most of cellular network, even the major carriers that we all know' are 'Non public' company legally. The term 'Private' in this context refers to 'Unlicensed', especially 'Unlicensed Spectrum'.

 

NOTE : As the concept of Private Network evolves, I think the association between 'Private' and 'Unlicensed' gets weaker and we see some use cases of implementing Private Network using Network Slicing technology which is provided by Network Operators using licensed spectrum.

 

 

 

What does 'Unlicensed Spectrum' mean ?

 

Radio Frequency Spectrum is very rare resources and is strictly controlled by government regulation in most cases. We would need to aquire specific licenese for most of those radio spectrum and it would cost a lot. But there are some range of radio spectrum that is allowed for public use without any specific licenses. Some of the common examples of 'Unlicensed Spectrum' are as follows.

  • ISM (Industrial, Science, Medical) band : There are many segments belong to this band (see wikipedia). Most common ISM band is 433 Mhz (used frequently for various remote control, remote sensing etc), 2.4 Ghz/5.6 Ghz used mostly for Bluetooth, Wireless LAN.

  • CBRS (Citizens Broadband Radio Service ) : It is a block of spectrum in 3.5 Ghz with the range of 150 Mhz (3.5 (3550 MHz to 3700 MHz) for shared wireless access (See CBRS page).   

The main target for 5G Private Network spectrum is likely to be ISM (mainly for 5.6 Ghz) and CBRS at least at early phase of deployment. In LTE, it was difficult to use the unlicensed spectrum with higher frequency (e.g, higher than 5 Ghz) since most of LTE frequency specified in 3GPP is below 3 Ghz. However, NR frequency spectrum already defined in 3GPP is very widely spreaded from relatively low frequency like below 2Ghz, mid range frequency between 3Ghz and 7Ghz and very high frequency like mmWave. It would be relatively easy to develope the device for the unlicensed spectrum wherever they are located.

 

 

 

How to deploy it ?

 

There are many different options to deploy (implement) 5G NPN. Some of the common options can be illustrated as below.

Simply speaking, there are two large categories of NPN deployment labled as Standalone NPN(SNPN) and Public Network Integrated NPN(PNI-NPN). There are a few sub categories within the PNI-NPN as illustrated below. There can be even more sub categories depending on the detailed mechanism of interfaction between Public network and Private network, but the categories shown below would be the most common high level classification you may see from almost every documents on NPN.

 

 

 

 

Why we would need NPN/Private Network ?

 

I think this would be the same as as the motivation for LTE private network. Refer to the note for LTE private network motivation.

 

 

 

RRC Parameters

 

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                SIB1-v1610-IEs       OPTIONAL

}

 

CellAccessRelatedInfo ::= SEQUENCE {

   plmn-IdentityInfoList            PLMN-IdentityInfoList,

   cellReservedForOtherUse          ENUMERATED {true} OPTIONAL, -- Need R

   ...,

   [[

   cellReservedForFutureUse-r16     ENUMERATED {true} OPTIONAL, -- Need R

   npn-IdentityInfoList-r16         NPN-IdentityInfoList-r16 OPTIONAL -- Need R

   ]],

   [[

   snpn-AccessInfoList-r17  SEQUENCE (SIZE (1..maxNPN-r16)) OF SNPN-AccessInfo-r17 OPTIONAL--Need R

   ]]

}

 

NPN-IdentityInfoList-r16 ::= SEQUENCE (SIZE (1..maxNPN-r16)) OF NPN-IdentityInfo-r16

 

NPN-IdentityInfo-r16 ::= SEQUENCE {

   npn-IdentityList-r16                 SEQUENCE (SIZE (1..maxNPN-r16)) OF NPN-Identity-r16,

   trackingAreaCode-r16                 TrackingAreaCode,

   ranac-r16                            RAN-AreaCode OPTIONAL, -- Need R

   cellIdentity-r16                     CellIdentity,

   cellReservedForOperatorUse-r16       ENUMERATED {reserved, notReserved},

   iab-Support-r16                      ENUMERATED {true} OPTIONAL, -- Need S

   ...,

   [[

   gNB-ID-Length-r17                    INTEGER (22..32) OPTIONAL -- Need R

   ]]

}

 

NPN-Identity-r16 ::= CHOICE {

   pni-npn-r16 SEQUENCE {

      plmn-Identity-r16                 PLMN-Identity,

      cag-IdentityList-r16              SEQUENCE (SIZE (1..maxNPN-r16)) OF CAG-IdentityInfo-r16

   },

   snpn-r16 SEQUENCE {

      plmn-Identity-r16                 PLMN-Identity,

      nid-List-r16                      SEQUENCE (SIZE (1..maxNPN-r16)) OF NID-r16

   }

}

 

CAG-IdentityInfo-r16 ::= SEQUENCE {

   cag-Identity-r16                    BIT STRING (SIZE (32)),

   manualCAGselectionAllowed-r16       ENUMERATED {true} OPTIONAL -- Need R

}

 

NID-r16 ::= BIT STRING (SIZE (44))

 

SNPN-AccessInfo-r17 ::= SEQUENCE {

   extCH-Supported-r17 ENUMERATED {true} OPTIONAL, -- Need R

   extCH-WithoutConfigAllowed-r17 ENUMERATED {true} OPTIONAL, -- Need R

   onboardingEnabled-r17 ENUMERATED {true} OPTIONAL, -- Need R

   imsEmergencySupportForSNPN-r17 ENUMERATED {true} OPTIONAL -- Need R

}

 

 

SIB1-v1700-IEs ::= SEQUENCE {

   hsdn-Cell-r17                      ENUMERATED {true} OPTIONAL, -- Need R

   uac-BarringInfo-v1700 SEQUENCE {

      uac-BarringInfoSetList-v1700    UAC-BarringInfoSetList-v1700

   } OPTIONAL, -- Cond MINT

   sdt-ConfigCommon-r17               SDT-ConfigCommonSIB-r17 OPTIONAL, -- Need R

   redCap-ConfigCommon-r17            RedCap-ConfigCommonSIB-r17 OPTIONAL, -- Need R

   featurePriorities-r17 SEQUENCE {

      redCapPriority-r17              FeaturePriority-r17 OPTIONAL, -- Need R

      slicingPriority-r17             FeaturePriority-r17 OPTIONAL, -- Need R

      msg3-Repetitions-Priority-r17   FeaturePriority-r17 OPTIONAL, -- Need R

      sdt-Priority-r17                FeaturePriority-r17 OPTIONAL -- Need R

   } OPTIONAL, -- Need R

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

   hyperSFN-r17                       BIT STRING (SIZE (10)) OPTIONAL, -- Need R

   eDRX-AllowedIdle-r17               ENUMERATED {true} OPTIONAL, -- Need R

   eDRX-AllowedInactive-r17           ENUMERATED {true} OPTIONAL, -- Cond EDRX-RC

   intraFreqReselectionRedCap-r17     ENUMERATED {allowed, notAllowed} OPTIONAL, -- Need S

   cellBarredNTN-r17                  ENUMERATED {barred, notBarred} OPTIONAL, -- Need S

   nonCriticalExtension SEQUENCE {} OPTIONAL

}

 

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

 

UAC-AC1-SelectAssistInfo-r16 ::= ENUMERATED {a, b, c, notConfigured}

 

SDT-ConfigCommonSIB-r17 ::= SEQUENCE {

   sdt-RSRP-Threshold-r17        RSRP-Range OPTIONAL, -- Need R

   sdt-LogicalChannelSR-DelayTimer-r17        ENUMERATED { sf20, sf40, sf64, sf128, sf512, sf1024,

                                                           sf2560, spare1} OPTIONAL, -- Need R

   sdt-DataVolumeThreshold-r17                ENUMERATED {byte32, byte100, byte200, byte400,

                                                          byte600, byte800, byte1000, byte2000,

                                                          byte4000, byte8000, byte9000, byte10000,

                                                          byte12000, byte24000, byte48000,

                                                          byte96000},

   t319a-r17            ENUMERATED { ms100, ms200, ms300, ms400, ms600, ms1000, ms2000,

                                     ms3000, ms4000, spare7, spare6, spare5, spare4, spare3,

                                     spare2, spare1}

}

 

RedCap-ConfigCommonSIB-r17 ::= SEQUENCE {

   halfDuplexRedCapAllowed-r17         ENUMERATED {true} OPTIONAL, -- Need R

   cellBarredRedCap-r17      SEQUENCE {

      cellBarredRedCap1Rx-r17          ENUMERATED {barred, notBarred},

      cellBarredRedCap2Rx-r17          ENUMERATED {barred, notBarred}

   } OPTIONAL, -- Need R

   ...

}

 

FeaturePriority-r17 ::= INTEGER (0..7)

 

 

npn-IdentityInfoList :

The npn-IdentityInfoList is used to configure a set of NPN-IdentityInfo elements. Each of those elements contains a list of one or more NPN Identities and additional information associated with those NPNs. The total number of PLMNs (identified by a PLMN identity in plmn -IdentityList), PNI-NPNs (identified by a PLMN identity and a CAG-ID), and SNPNs (identified by a PLMN identity and a NID) together in the PLMN-IdentityInfoList and NPN-IdentityInfoList does not exceed 12, except for the NPN-only cells. A PNI-NPN and SNPN can be included only once, and in only one entry of the NPN-IdentityInfoList. In case of NPN-only cells the PLMN-IdentityList contains a single element that does not count to the limit of 12. The NPN index is defined as B+c1+c2+…+c(n-1)+d1+d2+…+d(m-1)+e(i) for the NPN identity included in the n-th entry of NPN-IdentityInfoList and in the m-th entry of npn-Identitylist within that NPN-IdentityInfoList entry, and the i-th entry of its corresponding NPN-Identity, where

- B is the index used for the last PLMN in the PLMN-IdentittyInfoList; in NPN-only cells B is considered 0;

- c(j) is the number of NPN index values used in the j-th NPN-IdentityInfoList entry;

- d(k) is the number of NPN index values used in the k-th npn-IdentityList entry within the n-th NPN-IdentityInfoList entry;

- e(i) is

- i if the n-th entry of NPN-IdentityInfoList entry is for SNPN(s);

- 1 if the n-th entry of NPN-IdentityInfoList entry is for PNI-NPN(s).

 

plmn-IdentityInfoList

The plmn-IdentityInfoList is used to configure a set of PLMN-IdentityInfo elements. Each of those elements contains a list of one or more PLMN Identities and additional information associated with those PLMNs. A PLMN-identity can be included only once, and in only one entry of the PLMN-IdentityInfoList. The PLMN index is defined as b1+b2+…+b(n-1)+i for the PLMN included at the n-th entry of PLMN-IdentityInfoList and the i-th entry of its corresponding PLMN-IdentityInfo, where b(j) is the number of PLMN-Identity entries in each PLMN-IdentityInfo, respectively.

 

snpn-AccessInfoList

This list provides access related information for each SNPN in npn-IdentityInfoList, see TS 23.501 [32]. The n-th entry of the list contains the access related information of the n-th SNPN in npn-IdentityInfoList.

 

 

SIB10-r16 ::= SEQUENCE {

    hrnn-List-r16                   HRNN-List-r16 OPTIONAL, -- Need R

    lateNonCriticalExtension        OCTET STRING OPTIONAL,

    ...

}

 

HRNN-List-r16 ::= SEQUENCE (SIZE (1..maxNPN-r16)) OF HRNN-r16

 

HRNN-r16 ::= SEQUENCE {

    hrnn-r16                        OCTET STRING (SIZE(1.. maxHRNN-Len-r16)) OPTIONAL -- Need R

}

 

 

 

YouTube

 

 

References