Repo Indexes
Obsolete Note
We are in the process of moving this xApp writing guide to https://docs.o-ran-sc.org.
Please refer to App Writing Guide for latest guide.
xApps can be written in variety of programming languages. The current example xApps are written in C++ and go.
An xApp interacts with the other xApps and the RIC platform components using two primary mechanisms:
RMR (RIC Message Router) messaging layer that provides methods for sending an receiving messages and populating and reading fields in those messages
Documentation: RIC Message Router (RMR)
Repo (C/Python): git clone "https://gerrit.o-ran-sc.org/r/ric-plt/lib/rmr"
SDL (shared data layer) abstraction layer which provides methods for reading and writing data in a shared persistent key-value store in the RIC
Repo (go): git clone "https://gerrit.o-ran-sc.org/r/ric-plt/sdlgo"
Repo (Python):
Repo (C++):
Library for accessing R-NIB (network topology information - go): git clone "https://gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib"
Library for accessing UE-NIB (UE related information - go): git clone "https://gerrit.o-ran-sc.org/r/ric-plt/ue-nib
Please see Supporting A1 policies for details on how your xapp should interact with A1 to receive policy guidance.