4G/LTE - Access Control

 

 

 

 

CSG(Closed Subscriber Group)/OAM(Open Access Mode)

 

CSG is a set of user (UEs, Subscribers) which allowed for a specific cell (usually femto cell). The cell with CSG Indication set to be 'TRUE' is called CSG cell is called 'CSG Cell'.

Non CSG Cell (Ordinary Cell) allows any UE to camp on as long as the UE has proper PLMN info and the cell is not barred, but CSG Cell allows only UEs belonging to a specific CSG.

 

You may ask how a cell declare "I am CSG cell" or "I am a Normal Cell".  You can do it by using two information elements in System Information BlockType 1 (SIB1) as shown below.

 

SIB1 IE

Normal Cell

CSG Cell

csg-Indication

FALSE

TRUE

csg-Identity

Absent

Present

 

A Network can allocate a certain range of PCI (Physical Cell ID) to be reserved for CSG. This can be defined by SIB4. There are two information elements in SIB 4, csg-PhysCellIdRange.start and csg-PhysCellIdRange.range. If csg-PhysCellIdRange.start = n, csg-PhysCellIdRange.range = K. The PCI is distributed between Normal Cell and CSG cell as shown below.

 

PCI for Normal Cell

PCI for CSG Cell

PCI for Normal Cell

1 2 3 4 5 6 7 ...

n n+1 n+2 ... n+K

... 500 501 502 503

 

If you go into details, this is also pretty complicated concept. I will leave it up to you to find details from other source as follows.

 

Followings are RRC messages and information elements which are related to CSG operation. For now, I would give you just list of RRC messages and format. I will describe later on how these messages interplay.

 

 

    +-c1 ::= CHOICE [systemInformationBlockType1]

      +-systemInformationBlockType1 ::= SEQUENCE [000]

        +-cellAccessRelatedInfo ::= SEQUENCE [1]

        | +-plmn-IdentityList ::= SEQUENCE OF SIZE(1..6) [1]

        | +-trackingAreaCode ::= BIT STRING SIZE(16) [0000000000000000]

        | +-cellIdentity ::= BIT STRING SIZE(28) [0000000000000000000000000000]

        | +-cellBarred ::= ENUMERATED [barred]

        | +-intraFreqReselection ::= ENUMERATED [allowed]

        | +-csg-Indication ::= BOOLEAN [TRUE]

        | +-csg-Identity ::= BIT STRING SIZE(27) [000000000000000000000000000] OPTIONAL:Exist

        +-cellSelectionInfo ::= SEQUENCE [0]

        +-p-Max ::= INTEGER OPTIONAL:Omit

        +-freqBandIndicator ::= INTEGER (1..64) [1]

        +-schedulingInfoList ::= SEQUENCE OF SIZE(1..maxSI-Message[32]) [1]

        +-tdd-Config ::= SEQUENCE OPTIONAL:Omit

        +-si-WindowLength ::= ENUMERATED [ms1]

        +-systemInfoValueTag ::= INTEGER (0..31) [0]

        +-nonCriticalExtension ::= SEQUENCE OPTIONAL:Omit

 

    +-c1 ::= CHOICE [systemInformation]

      +-systemInformation ::= SEQUENCE

        +-criticalExtensions ::= CHOICE [systemInformation-r8]

          +-systemInformation-r8 ::= SEQUENCE [0]

            +-sib-TypeAndInfo ::= SEQUENCE OF SIZE(1..maxSIB[32]) [1]

            | +- ::= CHOICE [sib4]

            |   +-sib4 ::= SEQUENCE [001]

            |     +-intraFreqNeighCellList ::= SEQUENCE OF OPTIONAL:Omit

            |     +-intraFreqBlackCellList ::= SEQUENCE OF OPTIONAL:Omit

            |     +-csg-PhysCellIdRange ::= SEQUENCE [1] OPTIONAL:Exist

            |     | +-start ::= INTEGER (0..503) [0]

            |     | +-range ::= ENUMERATED [n4] OPTIONAL:Exist

            |     +-EXTENSION ::= SEQUENCE [0]

            |       +-lateNonCriticalExtension ::= OCTET STRING OPTIONAL:Omit

            +-nonCriticalExtension ::= SEQUENCE OPTIONAL:Omit

 

 

    +-c1 ::= CHOICE [systemInformation]

      +-systemInformation ::= SEQUENCE

        +-criticalExtensions ::= CHOICE [systemInformation-r8]

          +-systemInformation-r8 ::= SEQUENCE [0]

            +-sib-TypeAndInfo ::= SEQUENCE OF SIZE(1..maxSIB[32]) [1]

            | +- ::= CHOICE [sib9]

            |   +-sib9 ::= SEQUENCE [1]

            |     +-hnb-Name ::= OCTET STRING SIZE(1..48) [000....000] OPTIONAL:Exist

            |     +-EXTENSION ::= SEQUENCE [0]

            |       +-lateNonCriticalExtension ::= OCTET STRING OPTIONAL:Omit

            +-nonCriticalExtension ::= SEQUENCE OPTIONAL:Omit

 

 

    +-c1 ::= CHOICE [proximityIndication-r9]

      +-proximityIndication-r9 ::= SEQUENCE

        +-criticalExtensions ::= CHOICE [c1]

          +-c1 ::= CHOICE [proximityIndication-r9]

            +-proximityIndication-r9 ::= SEQUENCE [1]

              +-type-r9 ::= ENUMERATED [entering] // entering or leaving

              +-carrierFreq-r9 ::= CHOICE [eutra-r9] // eutra or utra

              | +-eutra-r9 ::= INTEGER (0..maxEARFCN[65535]) [0]

              +-nonCriticalExtension ::= SEQUENCE [00] OPTIONAL:Exist

                +-lateNonCriticalExtension ::= OCTET STRING OPTIONAL:Omit

                +-nonCriticalExtension ::= SEQUENCE OPTIONAL:Omit

 

 

    +-c1 ::= CHOICE [measurementReport]

      +-measurementReport ::= SEQUENCE

        +-criticalExtensions ::= CHOICE [c1]

          +-c1 ::= CHOICE [measurementReport-r8]

            +-measurementReport-r8 ::= SEQUENCE [1]

              +-measResults ::= SEQUENCE [1]

              | +-measId ::= INTEGER (1..maxMeasId[32]) [1]

              | +-measResultPCell ::= SEQUENCE

              | | +-rsrpResult ::= INTEGER (0..97) [0]

              | | +-rsrqResult ::= INTEGER (0..34) [0]

              | +-measResultNeighCells ::= CHOICE [measResultListEUTRA] OPTIONAL:Exist

              | | +-measResultListEUTRA ::= SEQUENCE OF SIZE(1..maxCellReport[8]) [1]

              | |   +-MeasResultEUTRA ::= SEQUENCE [0]

              | |     +-physCellId ::= INTEGER (0..503) [0]

              | |     +-cgi-Info ::= SEQUENCE OPTIONAL:Omit

              | |     +-measResult ::= SEQUENCE [00]

              | |       +-rsrpResult ::= INTEGER OPTIONAL:Omit

              | |       +-rsrqResult ::= INTEGER OPTIONAL:Omit

              | |       +-EXTENSION ::= SEQUENCE [1]

              | |         +-VERSION-BRACKETS1 ::= SEQUENCE [1] OPTIONAL:Exist

              | |           +-additionalSI-Info-r9 ::= SEQUENCE [11] OPTIONAL:Exist

              | |             +-csg-MemberStatus-r9 ::= ENUMERATED [member] OPTIONAL:Exist

              | |             +-csg-Identity-r9 ::= BIT STRING SIZE(27)

                                               [000000000000000000000000000] OPTIONAL:Exist

              | +-EXTENSION ::= SEQUENCE [00]

              |   +-VERSION-BRACKETS1 ::= SEQUENCE OPTIONAL:Omit

              |   +-VERSION-BRACKETS2 ::= SEQUENCE OPTIONAL:Omit

              +-nonCriticalExtension ::= SEQUENCE [11] OPTIONAL:Exist

                +-lateNonCriticalExtension ::= OCTET STRING SIZE(ALIGNED) OPTIONAL:Exist

                +-nonCriticalExtension ::= SEQUENCE OPTIONAL:Exist

 

 

Conformance Test Requirement

 

Followings are the list of test cases defined in 36.523-1 which are directly related to CSG.

 

6.3 Closed Subscriber Group cells

  • 6.3.1 Inter-Frequency cell reselection/From E-UTRA RRC_IDLE non CSG cell to E-UTRA RRC_IDLE CSG cell
  • 6.3.2 Inter-RAT cell reselection/From GSM_Idle/GPRS Packet_Idle to E-UTRA idle CSG cell
  • 6.3.3 Inter-RAT cell reselection/From UTRA_Idle to E-UTRA RRC_IDLE CSG cell
  • 6.3.4 Inter-RAT cell reselection/From UTRA_PCH state to E-UTRA RRC_IDLE CSG Cell
  • 6.3.5 Manual support for CSG ID selection
  • 6.3.6 Ignoring CSG cells in cell selection/reselection when allowed CSG list is empty or not supported
  • 6.3.7 Inter-RAT Cell reselection from E-UTRA idle non-CSG cell to a UTRA CSG Cell
  • 6.3.8 Inter-RAT CSG Cell Reselection from E-UTRA CSG cell to UTRA CSG Cell
  • 6.3.9 Manual CSG ID selection across PLMNs
  • 6.3.10 Intra-Frequency cell selection/From E-UTRA_Idle to E-UTRA RRC_IDLE/CSG cell on same PLMN as previously visted CSG cell
  • 6.3.11 Inter-RAT cell reselection/From UTRA_Idle to E-UTRA RRC_IDLE/CSG cell
  • 6.3.12 Inter-RAT cell selection/From E-UTRA RRC_IDLE to UTRA_Idle/CSG cell on same PLMN as previously visited CSG Cell