|
|
|
# Tutorial on how to perform a intra-frequency X2 Handover (Experimental) #
|
|
|
|
**Note: for the moment, openair-cn does not yet support the path switch message required for X2 Ho, so to test you need to use a 3rd party EPC**
|
|
|
|
## 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.
|
|
|
|
|
|
|
|
## X2 Handover setup ##
|
|
|
|
The detailed legacy procedure can be found at
|
|
|
|
1. [Analyzing X2 Handover in LTE/LTE-A using OpenAirInterface system emulator] (http://www.eurecom.fr/en/publication/4854/download/comsys-publi-4854.pdf)
|
|
|
|
1. [NMC LTE X2 Handover] (http://www.3glteinfo.com/wp-content/uploads/2013/12/NMC.LTE-X2-Handover.v1.0.pdf)
|
|
|
|
|
|
|
|
The code is merged into `develop`.
|
|
|
|
|
|
|
|
## 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:
|
|
|
|
|
|
|
|
The experimentation setups is depicted in figure below and includes 2 OAI eNBs, 2 USRP B210 equipped with the GPS module (daughter board).
|
|
|
|
- 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:
|
|
|
|
1. eNBs are synchronized in frequency and subframe timing using GPS (optionally they can also be synced in frame timing)
|
|
|
|
1. eNB are operating on the same band, frequency, and bandwidth, see the attached configuration files
|
|
|
|
1. X2 setup process is performed between the two eNBs
|
|
|
|
1. Both eNBs are connected to the same EPC that supports the path switch required for X2 HO
|
|
|
|
1. UE measures the source/target cell’s signal quality based on the different cell IDs
|
|
|
|
1. UE is initially attached to eNB 0 and its mobility is emulated using an attenuator (real mobility can also be used) allowing the UE to handover from eNB0 to eNB1 that causes the related X2 HO signalling to be triggered as a consequence of the A3 event
|
|
|
|
1. 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
|
|
|
|
1. X2 Handover Request ack is sent back from target eNb to source eNB
|
|
|
|
1. Path switch request is sent by target eNB to the MME
|
|
|
|
1. UE is connected to eNB1 after the HO process
|
|
|
|
|
|
|
|
The detailed legacy procedure can be found at
|
|
|
|
1. [Analyzing X2 Handover in LTE/LTE-A using OpenAirInterface system emulator] (http://www.eurecom.fr/en/publication/4854/download/comsys-publi-4854.pdf)
|
|
|
|
1. [NMC LTE X2 Handover] (http://www.3glteinfo.com/wp-content/uploads/2013/12/NMC.LTE-X2-Handover.v1.0.pdf)
|
|
|
|
**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 5 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](uploads/0be422a35514636c7490a5dfac64f606/enb.band7.tm1.25PRB.usrpb210.master.conf), [Slave eNB: slave.conf](uploads/82502cc147156be7fdb531f1703289a5/enb.band7.tm1.25PRB.usrpb210.slave.conf)
|
|
|
|
|
|
|
|
**Note: eNB X2AP feature is undergoing development, the first 5 steps described above are currently supported in OAI develop branch**
|
|
|
|
Build the 2 eNBs (Master/Slave) in two different machines as:
|
|
|
|
```bash
|
|
|
|
$ cd ~/openairinterface5g/cmake_targets/
|
|
|
|
$ ./build_oai -w eNB --USRP
|
|
|
|
```
|
|
|
|
Firstly, run Master eNB as:
|
|
|
|
```bash
|
|
|
|
$ 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:
|
|
|
|
```bash
|
|
|
|
$ 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.
|
|
|
|
|
|
|
|
In the proposed setup, different possible deployed scenarios can be considered for experimentation, e.g., a) different types of traffic (TCP/UDP) in UL/DL, b) successful/failed HO based on UE’s emulated mobility as well as different OAI network measurements, e.g., packet loss, delay, RSRP/RSRQ etc.
|
|
|
|
**Note 1: Target eNB must be run as first and Source eNB as second by using the attached configuration files.**
|
|
|
|
|
|
|
|
## Attenuator ##
|
|
|
|
**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](https://www.octoscope.com/English/Products/Ordering/octoBox/OB_QUADATTEN.html) 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).
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## To Do
|
|
|
|
* [Finalize the path switch message at eNB]
|
|
|
|
* [Rework oaisim for X2 Handover]
|
|
|
|
* [Cleanup the x2-ho branch and merge it back to develop]
|
|
|
|
|
|
|
|
## Additional Materials
|
|
|
|
1. [Target (Master) eNB config file sample](/uploads/db95ead207b9da49aaad47092bd6d352/enb.band7.tm1.50PRB.usrpb210.master.conf)[Source (Slave) eNB config file sample](/uploads/9e893f11234864c1b158bf18dc5cef51/enb.band7.tm1.50PRB.usrpb210.slave.conf)
|
|
|
|
1. [Master eNB: master.conf](uploads/0be422a35514636c7490a5dfac64f606/enb.band7.tm1.25PRB.usrpb210.master.conf)
|
|
|
|
1. [Slave eNB: slave.conf](uploads/82502cc147156be7fdb531f1703289a5/enb.band7.tm1.25PRB.usrpb210.slave.conf)
|
|
|
|
1. [Wireshark Trace (to be updated)](/uploads/33cbdde079a65e6327bf5151164c0dd9/x2_ho_messages.pcap)
|
|
|
|
1. [OAI X2 Handover video](https://youtu.be/KlwampmhFxw)
|
|
|
|
|
|
|
|
**Note: Target eNB must be run as first and Source eNB as second by using the attached configuration files**
|
|
|
|
## To Do
|
|
|
|
* [OAI CN X2 HO support]
|
|
|
|
|
|
|
|
|