Share on facebook
Share on linkedin
Share on twitter
Share on email
Share on whatsapp

CGI and eCGI

The CGI or Cell Global Identification is used in GSM/UMTS standard and it is defined as the concatenation of the MCC (Mobile Country Code), MNC (Mobile Network Code), LAC (Location Area Code) , and the CI (Cell Identity). Cell Identity shall be unique within a location area.
The eCGI or extendend CGI, is used in LTE/LTE-A standards and it defined as the concatenation of MCC, MNC and the eCI. The MCC and MNC are the same as included in the CGI, while the eCI is build by a concatenation of the eNodeB and the CI

Both lengths are 15 decimal digit code and for 2G, 3G & 4G Networks the first 5 digits are always the MCC (Mobile Country Code) and the MNC (Mobile Network Code)


The CGI structure is shown in the following figure. For 2G and 3G networks the next 5 digits are the LAC (Location Area Code) and the last five the Cell ID within the LAC. Note that the LAC/CI can be represented by 4 hexadecimal bytes (eventually BCD converted), but in some systems they are separated out into two 5-digit decimal numbers. This will give a very different result depending on which method is used. Any user should first know exactly which presentation is being used.


For 4G Networks the CGI is named eCGI and, while first 5 digits are still MCC & MNC, the last digits are split in eNB-ID (6 digits) and CI (max 3 digits).

The binary size of the eNB-ID is 20 bit while that of CI is 8 bit.

The point is that some systems or applications works with the whole CGI or eCGI and other systems works with the separate blocks: MCC-MNC-LAC-CID or MCC-MNC-eNB. In order to translate the 15 digit code received into blocks it is a need to know the right cell technology to correctly split the digits.

Other Useful Articles


Mobile Analytics

Recent technology advancements allowed us to move from a traditional work space to a more agile work environment, a mobile one.

Stay current on your favorite topics

10 thoughts on “CGI & eCGI

  1. Vivek says:

    You have failed at explaining the very basic and an important thing.
    ECGI = PLMN (MCC+MNC) + CellIdentity (28-bits)
    MCC is 3 digits and MNC can be of either 2 or 3 digits.
    So PLMN can be of either 5 or 6 digits depending on the MNC.

    CellIdentity in ECGI is not classified as eNB-ID & CellID, it is always the 28-bits. So if we represent it in digits it will be of max 9 digits.

    And ECGI is not represented as concatenation of PLMN & CellIdentity.

    pLMNidentity PLMNidentity,
    cell-ID CellIdentity,
    iE-Extensions ProtocolExtensionContainer { {EUTRAN-CGI-ExtIEs} } OPTIONAL,

    CellIdentity ::= BIT STRING (SIZE (28))

    • Michele Roselli says:

      Hi Vivek,
      Thanks for your valuable contribution! We are very grateful to receive any feedback!
      This is exactly the scope of our BLOG & TRAINING section: explain and discuss!

      We will update the article ASAP to integrate your explanation!

      Stay tuned and feel free to comment us!

      • Srihari Thalla says:

        Hi Michele,

        Can you verify and update the article based on Vivek’s inputs? It’s been almost 4 months for now!


        • Maurizio La Rocca says:

          Hello Srihari, Michele is looking into it but he worked hard during last months. He will update the article ASAP!

          • Jo Desmet says:

            Amazingly this article comes up quite high within the google searches. I think that warrants a cleanup to avoid misinformation. Either that – or delete the article.

            Note that for CGI, the LAC/CI can be combined into 4 octets, but for the purpose of some systems is separated out into two 5-digit decimal numbers. This will give a very different result depending on which method is used. Any user of that data should first examine and determine exactly which presentation is being used.

            Then for eCGI – I also believe that the eNB + CI should be maximum a 9-digit decimal number, I am not sure about its binary size, and I am not sure if it is to be combined decimal wise or binary wise. That would require more research from my side to answer (which I was hoping to find here).

          • Valerio Luciani says:

            Hi Jo,
            thank you for your useful observations!!
            We have added an indication about the hexadecimal representation for LAC/CI in CGI.
            We also corrected the mistakes, since as you wrote the eNB+CI is maximum a 9-digit decimal number.
            Finally, note that the binary size for eNB-ID (20 bit) and CI (8 bit) has been pointed up in order to answer your question.

    • Maurizio La Rocca says:

      Hello Amandi, the TAC is the Tracking Area Code of a TA (Tracking Area).

      A Tracking Area is a logical concept of an area where a user can move around without updating the MME. The network allocates a list with one or more TAs to the user. In certain operation modes, the UE may move freely in all TAs of the list without updating the MME. You can think of ‘Tracking Area’ as ‘Routing Area’ in UMTS.

      Each eNobe broadcasts a special tracking area code (TAC) to indicate to which Tracking Area the eNodeB belong to and the TAC is unique within a PLMN.

      I hope it is clear.

      Like and share!

  2. helping with maths homework says:

    Unquestionably believe that which you stated. Your favorite reason seemed to be
    on the web the simplest thing to be aware of. I say to you,
    I definitely get annoyed while people consider worries that they just don’t
    know about. You managed to hit the nail upon the top and
    defined out the whole thing without having side effect
    , people could take a signal. Will likely be back to get more.

Leave a Reply

Your email address will not be published. Required fields are marked *