4G/LTE - Access Control  

 

 

 

Access Control

What would happen so many UEs are tyring to get access to a same cell (eNB, NB, BTS etc) ?

In worst case, the signal from different UEs interfers each other and does not get decoded by the cell (the signal is percieved as a noise). Even when they are lucky enough to reach and get decoded by the cell, it may create an overloading on the cell and network.

What would the cell (network) would do in this situation ? I would try to control (limit) the amount of the access from UEs. This kind of control process is called 'Access Control'.

There are several different ways for Access Control, but in terms of overall logic we can think of two different mechanism as listed below.

  • Type 1) Accept initial request from UE but Network send Reject message
  • Type 2) Prevent UE from trying initial access itself. (This type is called 'Barring')
    • Case 1 : Bar every UE from any type of access even for emergency call (Configured by SIB1)
    • Case 2 : Bar only specific UE (with specific marking in USIM) from a specific services (Configured by SIB2)

Type 1) is usually done by RRC Connection Reject in case of RRC layer, Attach Reject in case of NAS layer.

Type 2) is usually done by various SIB settings. Again in Type 2), a couple of different ways has been evolved as cellular technology evolves.

In this page, I will focus on Type 2) access control and followings are the topics :

Factors/Message/Parameters for Access Control

First let's think of all the factors (Radio Messages and Parameters) that are involved in Access Control. How these parameters plays in Access Control ? I will post explanation later.. but I think you can imagine on your own. Refer to 3GPP 22.011 4.Access Control and 36.331 would give you the detailed meaning of each of these parameters. I strongly recommend you to try making your own story based on your imagination before you refer to the specification.

One important tip is that most of these messages has a parameters in the form of bitmap. These bitmap represents Access Control Class (each bits represents a specific Access Control Class). How does a UE knows which Access Control Class it belongs to ? It is specified in EF_ACC field in USIM.

Followings are all the SIBs and Information Elements that are related to various types of barring. Details of barring mechanism can be complicated and confusing, but I will try to clarify as best as I can.

< LTE SIB1 >

    BCCH-DL-SCH-Message

        message: c1 (0)

            c1: systemInformationBlockType1 (1)

                systemInformationBlockType1

                    cellAccessRelatedInfo

                        plmn-IdentityList: 1 item

                        ....

                        cellBarred: barred (0)

                                            ....

     

    systemInformationBlockType1

        cellAccessRelatedInfo

                cellReservedForOperatorUse: notReserved (1)

            cellBarred: barred (0)

            intraFreqReselection: notAllowed (1)

            .... ..0. csg-Indication: False

< LTE SIB2 >

    sib2

        ac-BarringInfo

            ...1 .... ac-BarringForEmergency: True

            ac-BarringForMO-Signalling

                ac-BarringFactor: p00 (0)

                ac-BarringTime: s4 (0)

                ac-BarringForSpecialAC: 10000 (bitmap)

            ac-BarringForMO-Data

                ac-BarringFactor: p00 (0)

                ac-BarringTime: s4 (0)

                ac-BarringForSpecialAC: 00000 (bitmap)

        ....

        ssac-BarringForMMTEL-Voice-r9

            ac-BarringFactor: p00 (0)

            ac-BarringTime: s4 (0)

            ac-BarringForSpecialAC: 00000 (bitmap)

        ssac-BarringForMMTEL-Video-r9

            ac-BarringFactor: p00 (0)

            ac-BarringTime: s4 (0)

            ac-BarringForSpecialAC: 00000 (bitmap)

< LTE SIB2 - Rel 12, 13>

In Rel 12, 13, Access Control mechanism has become more sophisticated. To implement this, many additional IEs are added as highlighted in RED.

    +-sib2 ::= SEQUENCE [10]

      +-ac-BarringInfo ::= SEQUENCE [11] OPTIONAL:Exist

      | +-ac-BarringForEmergency ::= BOOLEAN [FALSE]

      | +-ac-BarringForMO-Signalling ::= SEQUENCE OPTIONAL:Exist

      | | +-ac-BarringFactor ::= ENUMERATED [p00]

      | | +-ac-BarringTime ::= ENUMERATED [s4]

      | | +-ac-BarringForSpecialAC ::= BIT STRING SIZE(5) [00000]

      | +-ac-BarringForMO-Data ::= SEQUENCE OPTIONAL:Exist

      |   +-ac-BarringFactor ::= ENUMERATED [p00]

      |   +-ac-BarringTime ::= ENUMERATED [s4]

      |   +-ac-BarringForSpecialAC ::= BIT STRING SIZE(5) [00000]

      +-radioResourceConfigCommon ::= SEQUENCE

      | +-rach-ConfigCommon ::= SEQUENCE

      | +-bcch-Config ::= SEQUENCE

      | +-pcch-Config ::= SEQUENCE

      | +-prach-Config ::= SEQUENCE

      | +-pdsch-ConfigCommon ::= SEQUENCE

      | +-pusch-ConfigCommon ::= SEQUENCE

      | +-pucch-ConfigCommon ::= SEQUENCE

      | +-soundingRS-UL-ConfigCommon ::= CHOICE [release]

      | +-uplinkPowerControlCommon ::= SEQUENCE

      | +-ul-CyclicPrefixLength ::= ENUMERATED [len1]

      | +-EXTENSION ::= SEQUENCE [000]

      +-ue-TimersAndConstants ::= SEQUENCE

      +-freqInfo ::= SEQUENCE [00]

      +-mbsfn-SubframeConfigList ::= SEQUENCE OF OPTIONAL:Omit

      +-timeAlignmentTimerCommon ::= ENUMERATED [infinity]

      +-EXTENSION ::= SEQUENCE [011111]

        +-lateNonCriticalExtension ::= OCTET STRING OPTIONAL:Omit

        +-VERSION-BRACKETS1 ::= SEQUENCE [11] OPTIONAL:Exist

        | +-ssac-BarringForMMTEL-Voice-r9 ::= SEQUENCE OPTIONAL:Exist

        | | +-ac-BarringFactor ::= ENUMERATED [p00]

        | | +-ac-BarringTime ::= ENUMERATED [s4]

        | | +-ac-BarringForSpecialAC ::= BIT STRING SIZE(5) [00000]

        | +-ssac-BarringForMMTEL-Video-r9 ::= SEQUENCE OPTIONAL:Exist

        |   +-ac-BarringFactor ::= ENUMERATED [p00]

        |   +-ac-BarringTime ::= ENUMERATED [s4]

        |   +-ac-BarringForSpecialAC ::= BIT STRING SIZE(5) [00000]

        +-VERSION-BRACKETS2 ::= SEQUENCE [1] OPTIONAL:Exist

        | +-ac-BarringForCSFB-r10 ::= SEQUENCE OPTIONAL:Exist

        |   +-ac-BarringFactor ::= ENUMERATED [p00]

        |   +-ac-BarringTime ::= ENUMERATED [s4]

        |   +-ac-BarringForSpecialAC ::= BIT STRING SIZE(5) [00000]

        +-VERSION-BRACKETS3 ::= SEQUENCE [1111] OPTIONAL:Exist

        | +-ac-BarringSkipForMMTELVoice-r12 ::= ENUMERATED [true] OPTIONAL:Exist

        | +-ac-BarringSkipForMMTELVideo-r12 ::= ENUMERATED [true] OPTIONAL:Exist

        | +-ac-BarringSkipForSMS-r12 ::= ENUMERATED [true] OPTIONAL:Exist

        | +-ac-BarringPerPLMN-List-r12 ::= SEQUENCE OF SIZE(1..maxPLMN-r11[6]) [1] OPTIONAL:Exist

        |   +-AC-BarringPerPLMN-r12 ::= SEQUENCE [1111111]

        |     +-plmn-IdentityIndex-r12 ::= INTEGER (1..maxPLMN-r11[6]) [1]

        |     +-ac-BarringInfo-r12 ::= SEQUENCE [11] OPTIONAL:Exist

        |     | +-ac-BarringForEmergency-r12 ::= BOOLEAN [FALSE]

        |     | +-ac-BarringForMO-Signalling-r12 ::= SEQUENCE OPTIONAL:Exist

        |     | | +-ac-BarringFactor ::= ENUMERATED [p00]

        |     | | +-ac-BarringTime ::= ENUMERATED [s512]

        |     | | +-ac-BarringForSpecialAC ::= BIT STRING SIZE(5) [10000]

        |     | +-ac-BarringForMO-Data-r12 ::= SEQUENCE OPTIONAL:Exist

        |     |   +-ac-BarringFactor ::= ENUMERATED [p00]

        |     |   +-ac-BarringTime ::= ENUMERATED [s512]

        |     |   +-ac-BarringForSpecialAC ::= BIT STRING SIZE(5) [00000]

        |     +-ac-BarringSkipForMMTELVoice-r12 ::= ENUMERATED [true] OPTIONAL:Exist

        |     +-ac-BarringSkipForMMTELVideo-r12 ::= ENUMERATED [true] OPTIONAL:Exist

        |     +-ac-BarringSkipForSMS-r12 ::= ENUMERATED [true] OPTIONAL:Exist

        |     +-ac-BarringForCSFB-r12 ::= SEQUENCE OPTIONAL:Exist

        |     | +-ac-BarringFactor ::= ENUMERATED [p00]

        |     | +-ac-BarringTime ::= ENUMERATED [s4]

        |     | +-ac-BarringForSpecialAC ::= BIT STRING SIZE(5) [00000]

        |     +-ssac-BarringForMMTEL-Voice-r12 ::= SEQUENCE OPTIONAL:Exist

        |     | +-ac-BarringFactor ::= ENUMERATED [p00]

        |     | +-ac-BarringTime ::= ENUMERATED [s4]

        |     | +-ac-BarringForSpecialAC ::= BIT STRING SIZE(5) [00000]

        |     +-ssac-BarringForMMTEL-Video-r12 ::= SEQUENCE OPTIONAL:Exist

        |       +-ac-BarringFactor ::= ENUMERATED [p00]

        |       +-ac-BarringTime ::= ENUMERATED [s4]

        |       +-ac-BarringForSpecialAC ::= BIT STRING SIZE(5) [00000]

        +-VERSION-BRACKETS4 ::= SEQUENCE [0] OPTIONAL:Exist

        | +-voiceServiceCauseIndication-r12 ::= ENUMERATED OPTIONAL:Omit

        +-VERSION-BRACKETS5 ::= SEQUENCE [11] OPTIONAL:Exist

          +-acdc-BarringForCommon-r13 ::= SEQUENCE OPTIONAL:Exist

          | +-acdc-HPLMNonly-r13 ::= BOOLEAN [FALSE]

          | +-barringPerACDC-CategoryList-r13 ::= SEQUENCE OF SIZE(1..maxACDC-Cat-r13[16]) [1]

          |   +-BarringPerACDC-Category-r13 ::= SEQUENCE [1]

          |     +-acdc-CatValue-r13 ::= INTEGER (1..maxACDC-Cat-r13[16]) [1]

          |     +-acdc-BarringConfig-r13 ::= SEQUENCE OPTIONAL:Exist

          |       +-ac-BarringFactor-r13 ::= ENUMERATED [p00]

          |       +-ac-BarringTime-r13 ::= ENUMERATED [s4]

          +-acdc-BarringPerPLMN-List-r13 ::= SEQUENCE OF SIZE(1..maxPLMN-r11[6]) [1] OPTIONAL:Exist

            +-ACDC-BarringPerPLMN-r13 ::= SEQUENCE

              +-plmn-IdentityIndex-r13 ::= INTEGER (1..maxPLMN-r11[6]) [1]

              +-acdc-HPLMNonly-r13 ::= BOOLEAN [FALSE]

              +-barringPerACDC-CategoryList-r13 ::= SEQUENCE OF SIZE(1..maxACDC-Cat-r13[16]) [1]

                +-BarringPerACDC-Category-r13 ::= SEQUENCE [1]

                  +-acdc-CatValue-r13 ::= INTEGER (1..maxACDC-Cat-r13[16]) [1]

                  +-acdc-BarringConfig-r13 ::= SEQUENCE OPTIONAL:Exist

                    +-ac-BarringFactor-r13 ::= ENUMERATED [p00]

                    +-ac-BarringTime-r13 ::= ENUMERATED [s4]

< LTE SIB14 >

    BCCH-DL-SCH-Message

        message: c1 (0)

            c1: systemInformation (0)

                systemInformation

                    criticalExtensions: systemInformation-r8 (0)

                        systemInformation-r8

                            sib-TypeAndInfo: 1 item

                                Item 0

                                    sib-TypeAndInfo item: sib14-v1130 (12)

                                        sib14-v1130

                                            eab-Param-r11: eab-Common-r11 (0)

                                                eab-Common-r11

                                                    eab-Category-r11: a (0)

                                                    eab-BarringBitmap-r11: 0000000000

< LTE Paging >

    PCCH-Message

        message: c1 (0)

            c1: paging (0)

                paging

                    nonCriticalExtension

                        lateNonCriticalExtension: <MISSING>

                        nonCriticalExtension

                            nonCriticalExtension

                                eab-ParamModification-r11: true (0)

                                nonCriticalExtension

Access Control by SIB1 : Cell Barring

I created following table based on 36.304 5.3.1 Cell status and cell reservations

Information Element Setting

Barring Behavior

cellBarred = not Barred

cellReservedForOperatorUse = not reserved

Any UE under this cell are allowed to select/reselect to this cell

cellBarred = not Barred

cellReservedForOperatorUse = reserved

  • UEs assigned to Access Class 11 or 15 operating in their HPLMN/EHPLMN are allowed to select or reselect to this cell
  • UEs assigned to an Access Class in the range of 0 to 9, 12 to 14 are barred (not allowed to select/reselect to this cell)

cellBarred = Barred

cellReservedForOperatorUse = Any

The UE is not permitted to select/reselect this cell, not even for emergency calls and it has to select another cell

Access Control by SIB2 : ac-Barring

You may easily guess the Access Control Mechanism by SIB2. You would see several different copies of the following structure. Just by looking at the name of the parameters, you may guess 'this is to allowing (or barring) a certain UE group (Access Class) to a certain service with only a certain probability'.

    ac-BarringForXXXXXX

        ac-BarringFactor: pXY (0)

        ac-BarringTime: sA (0)

        ac-BarringForSpecialAC: ABCDE (bitmap)

  • XXXXX here represents the name of the service (application).
  • ac-BarringFactor  represents the probability of allowance of the access.
  • ac-BarringForSpecialAC represents Access Class for UEs. A = 11, B = 12, C = 13, D = 14, E = 15

For example,

Let's assume that pXY is set to be p50 and ac-BarringForSpecialAC is set to be 01000.  This bitmap indicates the status of each Access Class as follows.

    AC 11 = Not Barring

    AC 12 = Barring

    AC 13 = Not Barring

    AC 14 = Not Barring

    AC 15 = Not Barring

Therefore, this barring applies only to the UE that has Access Class 12 is set to be '1' in its USIM.

With this SIB settings, If a UE belonging to Access Class 12 sees this SIB parameter, it generate a random number between 0 and 1. If the number is lower than 0.5 (p50), it is allowed to get access. If the number is higher than 0.5, it should not get access. UE can retry this with the everage interval of A seconds set in ac-BarringTime when it is necessary.

Access Control by SIB2 : ssac-Barring

ssac stands for Service Specific Access Control. The ac-Barring is mainly designed for controlling access for general signaling and data and cs call (in case of UMTS), but with the introduction of Voice and Video over LTE. It became necessary to have access control mechanism for those voice and video call over LTE and that's the motivation of ssac barring. ssac-Barring is described TR 22.986. The main motivation of this type of access control is based on the following use-cases.

 

Use case 1

    Japanese operators provide 'Disaster Message Board' services whenever a major disaster has happened such as an earthquake, tsunami or typhoon. This service enables the large number of subscribers to access the message board in order to post or retrieve information concerning the safety of individuals in the affected area with their mobile phones during a major disaster.

    The human psychological behaviour is to make a voice call in emergency situations. Thus increased voice traffic consumes too much bandwidth for accessing other services such as the Disaster Message Board and/or data services (e.g. SMS).

    Hence, a limiting mechanism is required to differentiate bandwidth consuming real-time services (e.g. Voice) from bandwidth-efficient data service to access to e.g. a Disaster Message Board.

Use case 2

    As described in the Use case 1 above, subscribers may wish to make voice calls to check on the safety of individuals and it may cause congestion. Under such a situation, prioritised subscribers (e.g. governmental, military civil authorities ) and (depending on national regulation) access to emergency services should still be allowed access to EPS, while voice calls for other subscribers are restricted.