LTE PDCCH Order
This tutorial shows how to trigger a PDCCH Order based RACH procedure from the callbox. In live network and UE, PDCCH Order transmission would happen when the connection gets Out of Sync and there is some data available for Network to send, but it would not be easy to create such a situation in lab settings. So in this tutorial, I will use RemoteAPI to trigger PDCCH order. The main purpose of this tutorial is to show how to configure PDCCH Order related parameters in configuration file and check if UE properly responds to the PDCCH order.
In most case, RACH is triggered by UE side decision, but there is some mechanism by which network (eNB) force UE to initiate RACH. In idle mode, Paging is such a mechanism and in connected mode PDCCH order is such a mechanism. PDCCH order is a mechanism in which network (eNB) order UE to initiate RACH by sending a specific format of DCI. The DCI format used for this purpose is DCI Format 1A with a specific value assigned to PRACH Mask Index field.
The PRACH procedure can be an Contention Based or Contention Free. The PDCCH order instruct which type of RACH procedure should be initiated by configuring specific preamble index values.
Table of Contents
- LTE PDCCH Order
Test Setup
Test setup for this tutorial is as shown below.
- SIM Card used in this tutorial is the one delivered with the system as it is.
- If you want to change the configuration, The tutorial Configuration Guide would help
Key Configuration Parameters
Followings are important configuration parameters for this tutorial. You may click on the items for the descriptions from Amarisoft documents.
Test 1 : Contention Based PDCCH Order
This test is to show how to configure contention based PDCCH Order and varify it.
Configuration
I used enb-pdcch-order-cb.cfg which is copied and modified from the default eNB configuration (enb.default.cfg).
I used the default configuration mme-ims.cfg .
In enb-pdcch-order-cb.cfg, parameters are set as follows. The required configuration is to set pdcch_order_prach to "cb_random" which indicates that Network will trigger the contention based RACH with PDCCH Order. In addition, inactivity_timer is set to 600000 (10 min) to give enough time to type in Remote API command in connected states.
Perform the Test
First, Start trace logging on Callbox, Power on UE and let it complete the attach.
While call is in connected state, Send the RemoteAPI command by running ./ws.js enb '{"message":"pdcch_order_prach",:enb_ue_id":1}'
You would get the PRACH triggered by PDCCH order as shown below.
Log Analysis
Check out the RACH procedure which is triggered by pdcch_order. In the data of PDCCH, you see 'pdcch_order' which mean this is to trigger RACH, not for scheduling and you see 4 step RACH procedure which indicates it is contention based process.
Test 2 : Contention Free PDCCH Order
This test is to show how to configure contention based PDCCH Order and varify it.
Configuration
I used enb-pdcch-order-cf.cfg which is copied and modified from the default eNB configuration (enb.default.cfg).
I used the default configuration mme-ims.cfg .
In enb-pdcch-order-cf.cfg, parameters are set as follows. The required configuration is to set pdcch_order_prach to "cf_random" which indicates that Network will trigger the contention free RACH with PDCCH Order. In addition, inactivity_timer is set to 600000 (10 min) to give enough time to type in Remote API command in connected states.
Perform the Test
First, Start trace logging on Callbox, Power on UE and let it complete the attach.
While call is in connected state, Send the RemoteAPI command by running ./ws.js enb '{"message":"pdcch_order_prach",:enb_ue_id":1}'
You would get the PRACH triggered by PDCCH order as shown below.
Log Analysis
In case of contention free RACH, there should be some preamble sequence index which can be used for contention free process. You can confirm this in SIB2 message by checking numberofRA-Rreambles in rach-ConfigCommon.
Check out the RACH procedure which is triggered by pdcch_order. In the data of PDCCH, you see 'pdcch_order' which mean this is to trigger RACH, not for scheduling and you see 4 step RACH procedure which indicates it is contention based process.