4G/LTE - CGI

 

 

 

 

CGI (Cell Global Identity)

 

CGI Stands for Cell Global Identity. As the name implies, it is a specific ID which can uniquely identify a cell in the whole world. As shown in the figure from 23.003 4.3.1 Cell Identity (CI) and Cell Global Identification (CGI), CGI is made up of multiple components.

 

As you know, MCC + MNC is PLMN. From MCC, you can figure out in which country the cell is located. From MNC, you can figure out which network operator it belongs to. From LAC, you can figure out which location area it belongs to. From CI (Cell Identity : two octets), you can identify the exact one cell.

 

 

Why we need this kind of ID ?

It is mainly for ANR and SON. ANR/SON is a big topic. Please see ANR and SON pages for further details.

 

< Example : WCDMA CGI Report in LTE Cell >

 

CGI detection and Measurement is also controled by Measurement operation in RRC Connection Reconfiguration. But in case of CGI detection, it would not be enough time for LTE cell to detect CGI during measurement GAP since it has to decode MIB and SIBs of target cell. So usually we configure connected mode DRX so that the LTE cell can perform CGI detection during DRX off time.

 

      +-rrcConnectionReconfiguration ::= SEQUENCE

        +-rrc-TransactionIdentifier ::= INTEGER (0..3) [0]

        +-criticalExtensions ::= CHOICE [c1]

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

            +-rrcConnectionReconfiguration-r8 ::= SEQUENCE [100100]

              +-measConfig ::= SEQUENCE [01010111000] OPTIONAL:Exist

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

              | +-measObjectToAddModList ::= SEQUENCE OF SIZE(1..maxObjectId[32]) [1]

              | | +-MeasObjectToAddMod ::= SEQUENCE

              | |   +-measObjectId ::= INTEGER (1..maxObjectId[32]) [1]

              | |   +-measObject ::= CHOICE [measObjectUTRA]

              | |     +-measObjectUTRA ::= SEQUENCE [0011]

              | |       +-carrierFreq ::= INTEGER (0..16383) [9800]

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

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

              | |       +-cellsToAddModList ::= CHOICE [cellsToAddModListUTRA-FDD] OPTIONAL:Exist

              | |       | +-cellsToAddModListUTRA-FDD ::= SEQUENCE OF SIZE(1..maxCellMeas[32]) [1]

              | |       |   +-CellsToAddModUTRA-FDD ::= SEQUENCE

              | |       |     +-cellIndex ::= INTEGER (1..maxCellMeas[32]) [2]

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

              | |       +-cellForWhichToReportCGI ::= CHOICE [utra-FDD] OPTIONAL:Exist

              | |       | +-utra-FDD ::= INTEGER (0..511) [9]

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

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

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

              | +-reportConfigToAddModList ::= SEQUENCE OF SIZE(1..maxReportConfigId[32]) [1]

              | | +-ReportConfigToAddMod ::= SEQUENCE

              | |   +-reportConfigId ::= INTEGER (1..maxReportConfigId[32]) [1]

              | |   +-reportConfig ::= CHOICE [reportConfigInterRAT]

              | |     +-reportConfigInterRAT ::= SEQUENCE

              | |       +-triggerType ::= CHOICE [periodical]

              | |       | +-periodical ::= SEQUENCE

              | |       |   +-purpose ::= ENUMERATED [reportCGI]

              | |       +-maxReportCells ::= INTEGER (1..maxCellReport[8]) [1]

              | |       +-reportInterval ::= ENUMERATED [ms1024]

              | |       +-reportAmount ::= ENUMERATED [r1]

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

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

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

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

              | +-measIdToAddModList ::= SEQUENCE OF SIZE(1..maxMeasId[32]) [1] OPTIONAL:Exist

              | | +-MeasIdToAddMod ::= SEQUENCE

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

              | |   +-measObjectId ::= INTEGER (1..maxObjectId[32]) [1]

              | |   +-reportConfigId ::= INTEGER (1..maxReportConfigId[32]) [1]

              | +-quantityConfig ::= SEQUENCE [0100] OPTIONAL:Exist

              | | +-quantityConfigEUTRA ::= SEQUENCE OPTIONAL:Omit

              | | +-quantityConfigUTRA ::= SEQUENCE [0] OPTIONAL:Exist

              | | | +-measQuantityUTRA-FDD ::= ENUMERATED [cpich-EcN0]

              | | | +-measQuantityUTRA-TDD ::= ENUMERATED [pccpch-RSCP]

              | | | +-filterCoefficient ::= ENUMERATED OPTIONAL:Omit

              | | +-quantityConfigGERAN ::= SEQUENCE OPTIONAL:Omit

              | | +-quantityConfigCDMA2000 ::= SEQUENCE OPTIONAL:Omit

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

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

              | +-measGapConfig ::= CHOICE [release] OPTIONAL:Exist

              | | +-release ::= NULL

              | +-s-Measure ::= INTEGER OPTIONAL:Omit

              | +-preRegistrationInfoHRPD ::= SEQUENCE OPTIONAL:Omit

              | +-speedStatePars ::= CHOICE OPTIONAL:Omit

              | +-EXTENSION ::= SEQUENCE [0]

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

              +-mobilityControlInfo ::= SEQUENCE OPTIONAL:Omit

              +-dedicatedInfoNASList ::= SEQUENCE OF OPTIONAL:Omit

              +-radioResourceConfigDedicated ::= SEQUENCE [000100] OPTIONAL:Exist

              | +-srb-ToAddModList ::= SEQUENCE OF OPTIONAL:Omit

              | +-drb-ToAddModList ::= SEQUENCE OF OPTIONAL:Omit

              | +-drb-ToReleaseList ::= SEQUENCE OF OPTIONAL:Omit

              | +-mac-MainConfig ::= CHOICE [explicitValue] OPTIONAL:Exist

              | | +-explicitValue ::= SEQUENCE [110]

              | |   +-ul-SCH-Config ::= SEQUENCE [11] OPTIONAL:Exist

              | |   | +-maxHARQ-Tx ::= ENUMERATED [n5] OPTIONAL:Exist

              | |   | +-periodicBSR-Timer ::= ENUMERATED [infinity] OPTIONAL:Exist

              | |   | +-retxBSR-Timer ::= ENUMERATED [sf10240]

              | |   | +-ttiBundling ::= BOOLEAN [FALSE]

              | |   +-drx-Config ::= CHOICE [setup] OPTIONAL:Exist

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

              | |   |   +-onDurationTimer ::= ENUMERATED [psf6]

              | |   |   +-drx-InactivityTimer ::= ENUMERATED [psf1920]

              | |   |   +-drx-RetransmissionTimer ::= ENUMERATED [psf16]

              | |   |   +-longDRX-CycleStartOffset ::= CHOICE [sf2560]

              | |   |   | +-sf2560 ::= INTEGER (0..2559) [0]

              | |   |   +-shortDRX ::= SEQUENCE OPTIONAL:Omit

              | |   +-timeAlignmentTimerDedicated ::= ENUMERATED [infinity]

              | |   +-phr-Config ::= CHOICE OPTIONAL:Omit

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

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

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

              | +-sps-Config ::= SEQUENCE OPTIONAL:Omit

              | +-physicalConfigDedicated ::= SEQUENCE OPTIONAL:Omit

              | +-EXTENSION ::= SEQUENCE [00]

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

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

              +-securityConfigHO ::= SEQUENCE OPTIONAL:Omit

              +-nonCriticalExtension ::= SEQUENCE OPTIONAL:Omit

 

      +-measurementReport ::= SEQUENCE

        +-criticalExtensions ::= CHOICE [c1]

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

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

              +-measResults ::= SEQUENCE [1]

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

              | +-measResultPCell ::= SEQUENCE

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

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

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

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

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

              | |     +-physCellId ::= CHOICE [fdd]

              | |     | +-fdd ::= INTEGER (0..511) [9]

              | |     +-cgi-Info ::= SEQUENCE [110] OPTIONAL:Exist

              | |     | +-cellGlobalId ::= SEQUENCE

              | |     | | +-plmn-Identity ::= SEQUENCE [1]

              | |     | | | +-mcc ::= SEQUENCE OF SIZE(3) OPTIONAL:Exist

              | |     | | | | +-MCC-MNC-Digit ::= INTEGER (0..9) [0]

              | |     | | | | +-MCC-MNC-Digit ::= INTEGER (0..9) [0]

              | |     | | | | +-MCC-MNC-Digit ::= INTEGER (0..9) [1]

              | |     | | | +-mnc ::= SEQUENCE OF SIZE(2..3) [2]

              | |     | | |   +-MCC-MNC-Digit ::= INTEGER (0..9) [0]

              | |     | | |   +-MCC-MNC-Digit ::= INTEGER (0..9) [1]

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

              | |     | +-locationAreaCode ::= BIT STRING SIZE(16) [0000000010000000]

              | |     | +-routingAreaCode ::= BIT STRING SIZE(8) [00000000] OPTIONAL:Exist

              | |     | +-plmn-IdentityList ::= SEQUENCE OF OPTIONAL:Omit

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

              | |       +-utra-RSCP ::= INTEGER OPTIONAL:Omit

              | |       +-utra-EcN0 ::= INTEGER OPTIONAL:Omit

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

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

              | +-EXTENSION ::= SEQUENCE [00]

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

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

              +-nonCriticalExtension ::= SEQUENCE OPTIONAL:Omit