Clone
27
how to perform a x2 ho
Robert Schmidt edited this page 2019-08-20 08:56:49 +02:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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:

  1. Analyzing X2 Handover in LTE/LTE-A using OpenAirInterface system emulator
  2. NMC LTE X2 Handover

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).

OAI X2 HO logical setup

The experiment steps can be described as follows:

  1. eNBs are synchronized in frequency and subframe timing using GPS (optionally they can also be synced in frame timing)
  2. eNB are operating on the same band, frequency, and bandwidth, see the attached configuration files
  3. X2 Setup process is performed between the two eNBs
  4. Both eNBs are connected to the same EPC that supports the path switch required for X2 HO
  5. UE measures the source/target cells signal quality based on the different cell IDs
  6. 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
  7. 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
  8. X2 Handover Request ack is sent back from target eNB to source eNB
  9. Path switch request is sent by target eNB to the MME
  10. 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 UEs emulated mobility as well as different OAI network measurements, e.g., packet loss, delay, RSRP/RSRQ etc.

Build and Run

Working X2 configuration files:

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_ADDR with the EPC server IP address
  • CI_ENB_IP_ADDR with the eNB server IP address (one for the master and one for the slave)
  • CI_RCC_IP_ADDR with 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).

octoscope

Additional Materials

  1. Master eNB: master.conf
  2. Slave eNB: slave.conf
  3. Wireshark Trace
  4. OAI X2 Handover video

To Do

  • [OAI CN X2 HO support]