5.3.16 Unified Access Control

36.3313GPPEvolved Universal Terrestrial Radio Access (E-UTRA)Protocol specificationRadio Resource Control (RRC)Release 15TS

5.3.16.1 General

The purpose of this procedure is to perform access barring check for an access attempt associated with a given Access Category and one or more Access Identities upon request from upper layers according to TS 24.501 [95] or the RRC layer.

After a handover resulting in change of PCell in RRC_CONNECTED the UE shall defer access barring checks until it has obtained valid UAC information (from SystemInformationBlockType25) from the target cell if the SystemInformationBlockType25 is broadcasted.

5.3.16.2 Initiation

Upon initiation of the procedure, the UE shall:

1> if T309 is running for the Access Category:

2> consider the access attempt as barred;

1> else if timer T302 is running and the Access Category is neither ‘2’ nor ‘0’:

2> consider the access attempt as barred;

1> else:

2> if the Access Category is ‘0’:

3> consider the access attempt as allowed;

2> else if SystemInformationBlockType25 is not broadcasted:

3> consider the access attempt as allowed;

2> else:

3> if SystemInformationBlockType25 includes uac-BarringPerPLMN-List and the uac-BarringPerPLMN-List contains an UAC-BarringPerPLMN entry with the plmn-IdentityIndex corresponding to the PLMN selected by upper layers (see TS 24.501 [95]):

4> select the UAC-BarringPerPLMN entry with the plmn-IdentityIndex corresponding to the PLMN selected by upper layers;

4> in the remainder of this procedure, use the selected UAC-BarringPerPLMN entry (i.e. presence or absence of access barring parameters in this entry) irrespective of the uac-BarringForCommon included in SystemInformationBlockType25;

3> else if SystemInformationBlockType25 includes uac-BarringForCommon:

4> in the remainder of this procedure use the uac-BarringForCommon (i.e. presence or absence of these parameters) included in SystemInformationBlockType25;

3> else:

4> consider the access attempt as allowed;

3> if uac-BarringForCommon is applicable or the uac-AC-BarringListType indicated that uac-ExplicitAC-BarringList is used:

4> if the corresponding UAC-BarringPerCatList contains a UAC-BarringPerCat entry corresponding to the Access Category:

5> select the UAC-BarringPerCat entry;

5> if the uac-BarringInfoSetList contain a UAC-BarringInfoSet entry corresponding to the uac-barringInfoSetIndex in the UAC-BarringPerCat:

6> select the UAC-BarringInfoSet entry;

6> perform access barring check for the Access Category as specified in 5.3.16.5, using the UAC-BarringInfoSet as "UAC barring parameter";

5> else:

6> consider the access attempt as allowed;

4> else:

5> consider the access attempt as allowed;

3> else if the uac-AC-BarringListType indicated that uac-ImplicitAC-BarringList is indicated:

4> select the uac-BarringInfoSetIndex corresponding to the Access Category in the uac-ImplicitACBarringList;

4> if the uac-BarringInfoSetList contain the UAC-BarringInfoSet entry corresponding to the selected uac-BarringInfoSetIndex:

5> select the UAC-BarringInfoSet entry;

5> perform access barring check for the Access Category as specified in 5.3.16.5, using the UAC-BarringInfoSet as "UAC barring parameter";

4> else:

5> consider the access attempt as allowed;

3> else:

4> consider the access attempt as allowed;

1> if the access barring check was requested by upper layers:

2> if the access attempt is considered as barred:

3> if timer T302 is running:

4> if timer T309 is running for Access Category ‘2’:

5> inform the upper layer that access barring is applicable for all access categories except categories ‘0’, upon which the procedure ends;

4> else:

5> inform the upper layer that access barring is applicable for all access categories except categories ‘0’ and ‘2’, upon which the procedure ends;

3> else:

4> inform upper layers that the access attempt for the Access Category is barred, upon which the procedure ends;

2> else:

3> inform upper layers that the access attempt for the Access Category is allowed, upon which the procedure ends;

1> else:

2> the procedure ends;

5.3.16.3 Void

5.3.16.4 T302, T309 expiry or stop (Barring alleviation)

If the UE is connected to 5GC, the UE shall:

1> if timer T302 expires or is stopped:

2> for each Access Category for which T309 is not running:

3> consider the barring for this Access Category to be alleviated:

1> else if timer T309 corresponding to an Access Category other than ‘2’ expires or is stopped, and if timer T302 is not running:

2> consider the barring for this Access Category to be alleviated;

1> else if timer T309 corresponding to the Access Category ‘2’ expires or is stopped:

2> consider the barring for this Access Category to be alleviated;

1> When barring for an access category is considered being alleviated:

2> if the Access Category was informed to upper layers as barred:

3> inform upper layers about barring alleviation for the Access Category;

2> if barring is alleviated for Access Category ‘8’:

3> perform actions specified in 5.3.17;

5.3.16.5 Access barring check

The UE shall:

1> if one or more Access Identities are indicated according to TS 24.501 [95], and

1> if for at least one of these Access Identities the corresponding bit in the uac-BarringForAccessIdentity contained in "UAC barring parameter" is set to zero:

2> consider the access attempt as allowed;

1> else:

2> draw a random number ‘rand‘ uniformly distributed in the range: 0 ≤ rand < 1;

2> if ‘rand‘ is lower than the value indicated by uac-BarringFactor included in "UAC barring parameter":

3> consider the access attempt as allowed;

2> else:

3> consider the access attempt as barred;

1> if the access attempt is considered as barred:

2> draw a random number ‘rand‘ that is uniformly distributed in the range 0 ≤ rand < 1;

2> start timer T309 for the Access Category with the timer value calculated as follows, using the uac-BarringTime included in "UAC barring parameter":

"Tbarring" = (0.7+ 0.6 * rand) * uac-BarringTime;