LTE HO(Handover) - Inter Frequency


This tutorial shows how to test LTE to LTE Handover in Inter Frequency with a commercial phone. This tutorial also shows how to configure Measurement Report and how to trigger measurement report. Triggering measurement report for inter frequency on Amari callbox is a little bit trickier than intra frequency case because of triggering measurement gap.  Handover is a procedure of cell change during the connected mode and usually occurs as described below.

NOTE In live network, all of these steps would happen, but in lab test environement there are cases where we skip step 1,2 and just perform Step 3 directly. The case where step 1,2,3 are involved is called 'measurement based  handover' and the case where Step 1,2 are skipped and step 3 is directly performed is called Blind handover. Amarisoft callbox support both measurement based handover and blind handover.

In terms of frequencies of current cell and target/destination cell, the handover can be categorized into two types as below


Table of Contents


Test Setup

Test setup for this tutorial is as shown below.  

TestSetup Callbox UE 2sdr 01



Key Configuration Parameters

Followings are important configuration parameters for this tutorial. You may click on the items for the descriptions from Amarisoft documents.



I used the enb-2cell-ho-inter.cfg which is copied and modified from enb-2cell-ho.cfg.

LTE HO Inter Config 01

I also used mme-ims.cfg as it is.

LTE HO Intra Config 02

Configure enb-2cell-ho-inter.cfg as below. In this test, it is important to set N_CELL to greater than 1 because handover involves mutliple cells. In this specific test, I set it to 2.

LTE HO Intra Config 03

I added neighbour cell list(ncell_list) to the configuration of the first cell and add the second cell(n_id_cell:2) as the neighbour cell. As you see, the camping cell (the first cell in this case) and the target cell(the second cell in this case) has different frequency(different dl_earfcn) because this test is for Inter cell Handover.

LTE HO Inter Config 04

I added neighbour cell list(ncell_list) to the configuration of the second cell and add the first cell(n_id_cell:1) as the neighbour cell. As you see, the camping cell (the second cell in this case) and the target cell(the first cell in this case) has different frequency(different dl_earfcn) because this test is for Inter cell Handover.

LTE HO Inter Config 05

Then added measurement criterial before triggering Handover via the parameter meas_config_desc. Once this is configured, UE should report appropriate meausrement report for eNB to trigger handover.

LTE HO Inter Config 06

NOTE : Even if various events are explicitely configured in meas_config_desc, whether they are applied to RRC Connection Reconfiguration or not is determined by various factors. Read carefully on the description of meas_config_desc for LTE  and meas_config_desc for NR in enb document for the details. For ENDC case, the logic would become even more complicated. So it is strongly suggested to read the entire section carefully before you start testing.


Perform the test

Start LTE service and check basic cell configuration. Any cell configuration is OK as long as it is LTE cell.

LTE HO Inter Run 01

LTE HO Inter Run 02

Adjust cell power. (at this step, I lowed the power of the second cell to make it sure that UE camp onto the first cell first using cell_gain command). I used cell_gain command here instead of tx_gain because tx_gain changes broadcasting reference cell power in SIB message and UE may behave unexpectedly due to the SIB changes.

LTE HO Inter Run 03

LTE HO Inter Run 04

Power on UE and let UE attach to the cell

LTE HO Inter Run 05

Adjust Cell Power to trigger measurement report. I decreased the first cell power(camping cell power) and increased the target cell(the second cell in this case) so that the target cell power is higher than the camping cell. This is to trigger the required measurement procedure as set in the configuration file.

LTE HO Inter Run 06

Confirm that Handover has completed properly. If you don't see the handover, tweak the cell power until the handover is performed.

LTE HO Inter Run 07


Log Analysis

Sample Log

During the initial attach, Callbox send Measurement Report configuration as below. Check out measObjectToAddModList, reportConfigToAddModList, measIdToAddModList and confirm that all of them are configured as intended.

LTE HO Inter Log 01

NOTE that measment gap may not be enabled at the point of initial attach (i.e, measGapConfig is set to Release). It requires proper criteria (cell power criteria) for eNB to enable the measurement gap

LTE HO Inter Log 02

When the cell power condition is met with measurement gap enable criteria, gNB enables measurement gap as shown below. (i.e, measGapConfig is set to setup and it specify a specific gap configuration)

LTE HO Inter Log 03

Once cell power condition is met for triggering measurement report, UE send the measurement report as follows. (NOTE : If you don't get the measurement report with measResultNeighCells, you need to tweak the cell power until you see this message. Based on the settings in the configuration file, eNB will not trigger handover if it does not get the proper measurement report).

LTE HO Inter Log 04

When the proper measurement report is reciever, Callbox triggers Handover as shown below. mobilityControlInfo IE is what perform the handover. Check out targetPhysCellId and see if it is set as intended.

LTE HO Inter Log 05



RRC / NAS Signaling



: This is the RrcConnectionReconfiguration message sent by eNB  to configure Handover (NOTE : You would see some IEs that has a specific assigned vale here, but consider it as just an example value. Those values should vary depending on test requirement)



  message c1: rrcConnectionReconfiguration: {

    rrc-TransactionIdentifier 0,

    criticalExtensions c1: rrcConnectionReconfiguration-r8: {


      mobilityControlInfo {

        targetPhysCellId 2,

        carrierFreq {

          dl-CarrierFreq 1575


        t304 ms1000,

        newUE-Identity '003E'H,

        radioResourceConfigCommon {

          prach-Config {

            rootSequenceIndex 28


          pdsch-ConfigCommon {

            referenceSignalPower -18,

            p-b 0


          pusch-ConfigCommon {

            pusch-ConfigBasic {

              n-SB 1,

              hoppingMode interSubFrame,

              pusch-HoppingOffset 4,

              enable64QAM TRUE


            ul-ReferenceSignalsPUSCH {

              groupHoppingEnabled FALSE,

              groupAssignmentPUSCH 0,

              sequenceHoppingEnabled FALSE,

              cyclicShift 0



          p-Max 10,

          ul-CyclicPrefixLength len1,

          pusch-ConfigCommon-v1270 {

            enable64QAM-v1270 true



        sameSFN-Indication-r14 true


      radioResourceConfigDedicated {

        mac-MainConfig explicitValue: {



        physicalConfigDedicated {




      securityConfigHO {

        handoverType intraLTE: {

          keyChangeIndicator FALSE,

          nextHopChainingCount 0