Amarisoft

TRX IP - Callbox/UEsim

 

The purpose of this tutorial is to show you how to utilize the software packages installed in trx-ip mode.  Actually there is no fundamental differences in terms of high level operation between normal mode and trx-ip mode. So the main purpose of this tutorial is not show the details on basic operation, but to show that what kind of capabilities are supported and verified.

TRX IP mode is the mode of operation in which a Callbox and UEsim exchange all the communication data/signal in IP packet without using any physical SDR card. It has a good / handy use-cases as follows

In short, with trx ip feature, you can run all of the following stacks within a single PC without any dedicated hardware (i.e, sdr card)

NOTE : Main difference between TRX IP mode and normal mode is in installation process. So please take a look into the tutorial for the installation with trx mode first if you are not already familiar with this mode.

 

Table of Contents

 

 

Test 1 : Basic Call setup

This is just to show you the basic operation of a Callbox and UEsim connected with trx-ip mode. Most of operation is same as explained in the tutorial OutOfBox LTE. The only difference that I want to highlight is rf_driver related configurations in the configuration file. So if you are already familiar with basic usage of Callbox and UEsim, you may just look into 'Configuration' part and skip the other parts.

 

Test Setup

Since this does not require any physical SDR card, the only hardware setup that you need is a single PC with the operating system that support Amarisoft Software.

 

Configuration

Go to the directory /root/enb/config and make a symbolic link as follows. (NOTE : If you are doing the test right out of the box you may not need to do this since this is the default configuration of Amari Callbox, but it is no harm to do this again).

OutOfBox Lte Config 01

Now you should see the enb.cfg file linked to enb.default.cfg as follows. As you see here, there is no differences in terms of configuration file name. The only differences would be the rf_driver configuration within the contents of the configuration file which will be explained shortly.

OutOfBox Lte Config 02

Now go to the directory /root/mme/config. You should see the configuration files as below. For core network configuration, there is no differences at all between trx-ip mode and normal mode.

OutOfBox Lte Config 03

Now let's take a look into enb.cfg (/root/enb/config/enb.default.cfg). Actually the contents of this file is exactly same as the enb.default.cfg file in normal mode. The only difference is the configuration file mapped to rf_driver/config.cfg file.

 

  /* RF driver configuration */

  include "rf_driver/config.cfg", <== this file is mapped to /root/enb/config/ip/config.cfg whereas it is mapped /root/enb/config/sdr/config.cfg in normal mode(sdr mode)

 

Then check out the contents of  /root/enb/config/ip/config.cfg

/* Parameters for IP RF frontend version 2024-03-21

 * Copyright (C) 2015-2024 Amarisoft

 */

rf_driver: {

    name: "ip", <== This name ("ip" instead of "sdr) let physical data goes through ip socket instead of sdr card

    clock: "master",

    /*

     * >1: Faster

     * +1: Real time

     * <1: Slow down

     *  0: Best effort (sync with slave)

     */

#default CLOCK_FACTOR 1

    clock_factor: CLOCK_FACTOR,

    debug: 0,

    packet_size: 3958,

    //sample_format: "fc32",

#ifdef USE_TCP

    use_tcp: 1,

#endif

#ifdef USE_MT

    multi_thread: 1,

#endif

 

    /* Port 0 */

    dst0: "127.0.0.1:4000",

    src0: "127.0.0.1:4001",

 

    /* Port 1 */

    dst1: "127.0.0.1:4002",

    src1: "127.0.0.1:4003",

 

    /* Port 2 */

    dst2: "127.0.0.1:4004",

    src2: "127.0.0.1:4005",

},

 

tx_gain: 43,  /* TX power: 20W */

rx_gain: -50, /* RX power: use UE tx_gain */

 

One UEsim side as well, I will just use the default configuration (ue.default.cfg).

 

Now let's take a look into ue.cfg (/root/ue/config/ue.default.cfg). Actually the contents of this file is exactly same as the ue.default.cfg file in normal mode. The only difference is the configuration file mapped to rf_driver/config.cfg file.

 

    include "rf_driver/config.cfg",   <== this file is mapped to /root/ue/config/ip/config.cfg whereas it is mapped /root/ue/config/sdr/config.cfg in normal mode(sdr mode)

 

Then check out the contents of  /root/ue/config/ip/config.cfg

/* Parameters for IP RF frontend version 2024-03-21

 * Copyright (C) 2015-2024 Amarisoft

 */

rf_driver: {

    name: "ip", <== This name ("ip" instead of "sdr) let physical data goes through ip socket instead of sdr card

    clock: "slave",

    // clock: "slave-nosync",

    debug: 0,

    packet_size: 3958,

    //sample_format: "fc32",

#ifdef USE_TCP

    use_tcp: 1,

#endif

#ifdef USE_MT

    multi_thread: 1,

#endif

 

    /* Port 0 */

    dst0: "127.0.0.1:4001",

    src0: "127.0.0.1:4000",

 

    /* Port 1 */

    dst1: "127.0.0.1:4003",

    src1: "127.0.0.1:4002",

 

    /* Port 2 */

    dst2: "127.0.0.1:4005",

    src2: "127.0.0.1:4004",

 

    dst3: "127.0.0.1:4007",

    src3: "127.0.0.1:4006",

},

 

tx_gain: -50, /* TX power */

rx_gain: 0,   /* RX power */

 

 

Check if LTE service is Running

As a basic checkup, try with 'service lte status' and confirm that the the LTE service is in 'active (running)' status without causing any problem. It would be a good idea to check this out at least once right after you install the package.

Just try with 'service lte restart' and 'screen -r' to get the screen as shown below. This is same as the screen that you get in normal mode. One different thing is that you get both callbox component (MME, ENB, IMS) and UEsim component(UE) in the same screen.

 

Perform the Test

Basic operation in trx ip mode is not different from Callbox and UEsim operation in normal mode (sdr mode). The purpose of this section is just to show that the usage of trx ip mode is same as the normal mode. The only difference is that you can do all of these operations in a single PC.

Once you are in screen mode in LTE configuration, check if the enb is properly connected to mme (LTE core network) by checking the output of 's1' command.

In the same way, you can check if enb is connected to the core network from mme screen by checking the result of 'enb' command.

Once enb and corenetwork is connected to each other propery, you can try 'power_on' on UEsim

Then you can check out the trace log by 't' command. The result of the output would be same as you get in normal mode, but the log is printed at much slower phase.

 

Log Analysis

Sample Log

The purpose of this section is not for doing any analysis but for providing an evidence that the trx-ip gives the same output as in the normal mode. So only a few snapshot will be presented without much explanation.

First I set WebGUI log loption for full stack as explained here.  It shows the traffic from PHY through higher layer.

This is the log for the ping showing the higher layer traffic which is also same as in the normal mode (sdr mode)