The X2 interface
The X2 interface is the interface between one eNB and another eNB for signalling information exchange. This is managed through the X2 Application Protocol (X2-AP) and it is standardized by 3GPP in TS 36.423.
The detailed legacy procedure can be found at:
The code is merged into develop since early 2019 and is now available into the master branch since tag v1.1.0.
X2 Control Plane (X2-CP)
LTE X2-CP is operating over SCTP as the transport layer protocol which is similar to the LTE S1-CP protocol. Currently, the X2-CP is based on 3GPP 36.423 v14.6.0 and implements the following functions:
- X2 Setup Request
- X2 Setup Response
- X2 Setup Failure
- Handover Request
- Handover Request Acknowledge
- UE Context Release
- X2 timers (t_reloc_prep, tx2_reloc_overall)
- Handover Cancel
X2 User Plane (X2-UP)
X2-UP is operating over GTP-U based on UDP as the transport layer protocol similar to LTE S1-UP protocol. Currently, X2-UP packet forwarding is not supported and is undergoing development.
Tutorial on how to perform a intra-frequency X2 Handover (Experimental)
The experimentation setup is depicted in figure below and includes 2 OAI eNBs: 2 USRP B210 equipped with the GPS module (daughter board).
The experiment steps can be described as follows:
- eNBs are synchronized in frequency and subframe timing using GPS (optionally they can also be synced in frame timing)
- eNB are operating on the same band, frequency, and bandwidth, see the attached configuration files
- X2 Setup process is performed between the two eNBs
- Both eNBs are connected to the same EPC that supports the path switch required for X2 HO
- UE measures the source/target cell’s signal quality based on the different cell IDs
- UE is initially attached and its mobility is emulated using an attenuator (real mobility can also be used) allowing the UE to handover from eNB1 (source eNB) to eNB2 (target eNB) that causes the related X2 HO signalling to be triggered as a consequence of the A3 event
- Handover decision performed by source eNB (based on RSRP criteria-A3 event is supported) and then the X2 Handover Request is sent to the target eNB
- X2 Handover Request ack is sent back from target eNB to source eNB
- Path switch request is sent by target eNB to the MME
- UE is connected to target eNB after the HO process
Note 1: For the moment, OAI CN does not yet support the path switch message required for X2 HO, so to test you need to use a 3rd party EPC.
Note 2: Step 1 is not needed for handover experimentation in a lab environment. In addition, UE emulated mobility described in Step 6 can be also performed by manually moving the UE.
Note 3: Currently, only intra-frequency handover is implemented.
In the proposed setup, different possible deployed scenarios can be considered for experimentation, e.g., successful/failed HO based on UE’s emulated mobility as well as different OAI network measurements, e.g., packet loss, delay, RSRP/RSRQ etc.
Build and Run
Working X2 configuration files:
- Master eNB: master.conf,
- Slave eNB: slave.conf
- IP address of master:
10.64.45.62, - IP address of slave:
10.64.45.63, - IP address of MME:
10.64.93.19
- IP address of master:
It is important that the physical cell IDs of the base stations (Nid_cell) are different!
You can also use the configuration files used by the Continuous Integration process:
CAUTION : these CI files have the following markers to be modified with proper IP addresses:
CI_MME_IP_ADDRwith the EPC server IP addressCI_ENB_IP_ADDRwith the eNB server IP address (one for the master and one for the slave)CI_RCC_IP_ADDRwith the master eNB server IP address- Enable or Disable FlexRan Ctrl -->
FLEXRAN_ENABLED = "yes/no";
Build the 2 eNBs (Master/Slave) in two different machines as:
$ cd ~/openairinterface5g/cmake_targets/
$ ./build_oai -w USRP --eNB
Firstly, run Master eNB as:
$ cd ~/openairinterface5g/cmake_targets/lte_build_oai/build
$ sudo -E ./lte-softmodem -O ~/openairinterface5g/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.master.conf
Secondly, run Slave eNB as:
$ cd ~/openairinterface5g/cmake_targets/lte_build_oai/build
$ sudo -E ./lte-softmodem -O ~/openairinterface5g/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.slave.conf
Finally, move the UE manually from one eNB to the other one in order to trigger the handover process. Then, check in Wireshark the X2AP messages, i.e., use x2ap filter.
Note 1: Master eNB must be run as first and Slave eNB as second by using the attached configuration files.
Note 2: The target_enb_x2_ip_address stands for the Master eNB IPv4 address and it is used by the Slave eNB during the X2 Setup process. The ENB_IPV4_ADDRESS_FOR_X2C denotes the IPv4 address of the corresponding eNB (Master or Slave) in each configuration file.
Attenuation Control Unit
In addition, octoBoxquadAtten modules are used as attenuators on both the two eNBs to model the user equipment (UE) mobility (fading effects creation) in order to send the A3 event included in its E-UTRAN RRC Measurement report for triggering the HO in the eNB side. Specifically, the selected attenuators offer stable attenuation accuracy via wide choice of attenuation (63 dB range), frequency ranges (DC to 6000 MHz) and step sizes (0.5 step). In addition, the module can be controlled remotely through Ethernet interface (attenuation control unit).
Additional Materials
To Do
- [OAI CN X2 HO support]

