Skip to main content
Version: v5.0.1 [Emerald]

Prerequisites

xApp SDK Source Code

For this training, you will need BubbleRAN's xApp SDK, which is available in our Github repository. For running these labs, you will need a Linux system with network access to your BubbleRAN MX-PDK. Ideally, these labs should be performed on the control-plane node of your MX-PDK, e.g., via SSH.

Getting started​

  1. Install common dependencies in Ubuntu: (at least python3.8)
sudo apt install libsctp-dev python3 cmake-curses-gui python3-dev pkg-config libconfig-dev libconfig++-dev python3-pip
  1. Install python packages
pip3 install tabulate
danger

Before running this xApp training you should make sure ALL your composition models are up-to-date.

Please refer to these steps to do so.

Amarisoft UE model​

The Amarisoft and OCUDU blueprints use amarisoft/amr-ue or amarisoft/amr-ue-ntn. These deployment modes are available in the Amarisoft CompositionModel chart 2026.6.2-beta. The stable 2026.6.1 chart does not include them.

Install the required model before applying these blueprints:

brc install model amarisoft --set version=2026.6.2-beta

xApp SDK through Github​

To obtain the BubbleRAN xApp SDK, clone the repository:

git clone https://github.com/bubbleran/xapp_sdk.git

The repository has the following structure:

.
β”œβ”€β”€ CMakeLists.txt
β”œβ”€β”€ conf
β”‚ β”œβ”€β”€ README.md
β”‚ β”œβ”€β”€ update_conf.py
β”‚ β”œβ”€β”€ xapp_all_sm.yaml
β”‚ β”œβ”€β”€ xapp_cust_sm.yaml
β”‚ β”œβ”€β”€ xapp_oran_sm_amr.yaml
β”‚ β”œβ”€β”€ xapp_oran_sm_oai.yaml
β”‚ β”œβ”€β”€ xapp_oran_sm_ocudu.yaml
β”‚ β”œβ”€β”€ xapp_oran_sm.yaml
β”‚ └── xapp.yaml
β”œβ”€β”€ CONTRIBUTING.md
β”œβ”€β”€ include
β”‚ └── src
β”œβ”€β”€ labs
β”‚ β”œβ”€β”€ CMakeLists.txt
β”‚ β”œβ”€β”€ lab1.c
β”‚ β”œβ”€β”€ lab2.py
β”‚ β”œβ”€β”€ lab3.c
β”‚ β”œβ”€β”€ lab5.c
β”‚ β”œβ”€β”€ lab5.py
β”‚ β”œβ”€β”€ lab6.c
β”‚ └── README.md
β”œβ”€β”€ lib
β”‚ β”œβ”€β”€ libe42_xapp.a
β”‚ β”œβ”€β”€ libe42_xapp_shared.so
β”‚ β”œβ”€β”€ libe42_xapp_shared_vm.so
β”‚ β”œβ”€β”€ libe42_xapp_vm.a
β”‚ β”œβ”€β”€ libxapp_sdk_c.a
β”‚ β”œβ”€β”€ libxapp_sdk_c_vm.a
β”‚ β”œβ”€β”€ _xapp_sdk_python.so
β”‚ β”œβ”€β”€ _xapp_sdk_python_vm.so
β”‚ β”œβ”€β”€ _xapp_usr_sdk.so
β”‚ └── _xapp_usr_sdk_vm.so
β”œβ”€β”€ LICENSE
β”œβ”€β”€ NOTICE
β”œβ”€β”€ README.md
└── src
β”œβ”€β”€ CMakeLists.txt
β”œβ”€β”€ dev
└── usr

Build and install​

mkdir build

cd build

There are two options for the next command, depending on whether you need a database.

  • No DB (default): cmake ..
  • VictoriaMetrics (Recommended): cmake -DXAPP_DB=VICTORIAMETRICS_XAPP ..

After which, complete the build with the next commands:

make -j

sudo make install

sudo ldconfig