The near-RT RIC Platform is a software based near‐real‐time micro‐service‐based platform for hosting micro-service-based applications - the xApps - that run on the near-RT RIC platform. xApps are not part of the RIC platform and developed in projects that are separate from the near-RT RIC platform project. The near-RT RIC platform is providing xApps the infrastructure for controlling a distributed collection of RAN base stations (eNB, gNB, CU, DU) in a region via the O-RAN alliance's E2 protocol ("southbound"). As part of this infrastructure it also provides "northbound" interfaces for operators: the A1 and O1 interfaces. Using the O-RAN alliance's A1 interface operators can express their intent for the network behavior and collect feedback on the implementation status of this intent. The RIC platform also is to implement the O-RAN alliance's O1 management interface primarily integrating FCAPS capabilities with ONAP. The near-RT-RIC platform provides mediation for both the E2, A1, and O1 interfaces between the xApps and the RAN elements (E2), and between the xApps and the operator (A1, O1), respectively. xApps use the services of the RIC platform.
Micro‐services that are needed for the near-RT RIC platform shall be considered part of the near-RT RIC Platform, including lifecycle management of xApps, restricting the span of control of xApps, xApps composition, xApps conflict resolution, E2 status information, and basic RAN data as obtained over the base E2 protocol (but not via E2 functions specific to the E2 services implemented on top of the E2 base protocol), logging and software execution tracing, configuration management, in-memory database add-ons, messaging services, statistics collection, micro‐service scheduling, and security.
The near-RT RIC platform or parts thereof are not intended to run on end user equipment (UEs) containing a radio module or other physical devices (IoT devices) that directly interact with the physical world and contain a radio module.
Any contributed source code file shall contain this sentence "This source code is part of the near-RT RIC (RAN Intelligent Controller) platform project (RICP)." in addition to the “normal” copyright statement.
Changes to the scope of the near-RT RIC platform as described above must be approved in the O-RAN Software community RICP project meeting.
The RICP (near-RT RIC platform) includes the following component repositories. The development of these components is managed via the RICP project. You may use the component in other projects. Changes to this this list must be approved in the O-RAN Software community RICP project meeting.
Repository | Description | Committers (also check "contact the committer from link) |
---|---|---|
A thread-safe logging C API library with Mapped Diagnostics Context (MDC) support. | Ranjit Angajala (ranjit.angajala@n...), Abdulwahid W (abdulwahid.w@n...), Timo Tietavainen (timo.tietavainen@n...) | |
Golang implementation of the common logging library | Ranjit Angajala (ranjit.angajala@n...), Abdulwahid W (abdulwahid.w@n...) | |
com/pylog (moved into xapp-frame-py, but still release as well) | Python implementation of the common logging library | Ranjit Angajala (ranjit.angajala@n...), Abdulwahid W (abdulwahid.w@n...) |
Terminating the northbound A1 interface. It is translating information received over A1 it into conrete actions that xApps must take to adpat their behavior accordingly and it sends back feedback on the implementation status of such actions. | EScottDaniels <daniels@research.at...>; | |
Provides a flexible and secure way for deploying and managing various RIC xApp applications in a Kubernetes environment. | Nune <abukar.mohamed@n...> Suchismita13 <suchismita.jena@no...> | |
Adaptation of the single-instance Redis database | arvo.heinonen <arvo.heinonen@n...> badorek <rolf.badorek@n...> makiaija <jussi.maki-aijala@n...> tallskog <marco.tallskog@n...> tietavai <timo.tietavainen@n...> | |
NOT used: ric-plt/dbaas/hiredis-vip | Adaptation of the Redis database as a cluster of Redis instances to provide high-availability | badorek <rolf.badorek@n...> tallskog <marco.tallskog@n...> tietavai <timo.tietavainen@n...> |
The E2 termination component that actually establishes E2 SCTP connections (as requested by the E2 manager) and routes messages received/sent over E2 to/from RMR. | Sangama Gunasekaran <sangama.gunasekaran@n..> rmuni <ritun.muni@n...> naman <naman.gupta@s...> subhash_singh <subh.singh@s...> | |
The E2 manager implementation. The E2 manager controls E2 connection establishment and provides REST APIs to manage these connections. | Sangama Gunasekaran <sangama.gunasekaran@n..> rmuni <ritun.muni@n...> naman <naman.gupta@s...> subhash_singh <subh.singh@s...> | |
RIC message routing - A library originally based on NNG (nano-messaging nxt generation) for low latency message routing. Starting from Bronze (Feb-2020) we replaced NNG with plain usage of TCP in that library (see RIC-49). | EScottDaniels <daniels@research.at...> | |
R-NIB APIs/libraries to store and retrieve RAN configuration data, like a list of cells per gNB. | dhirajverma <dhiraj.verma@n...> manoj manoj <manoj.1.manoj@n...>naman <naman.gupta@s...> subhash_singh <subh.singh@s...> | |
Routing Manager (ric-plt/rtmgr) is a basic RIC platform service, responsible for generating and distributing routing policies to xApps. | Sandeep Kumar <sandeep.15.kumar@n...> | |
SDL (Shared data layer) data access libraris for Redis including Redis server-side modules allowing multi-key atomic operations and publish channels. | badorek <rolf.badorek@n...> makiaija <jussi.maki-aijala@n...> tallskog <marco.tallskog@n...> tietavai <timo.tietavainen@n...> | |
same as ric-plt/sdl, but for the Go language | badorek <rolf.badorek@n...> | |
same as ric-plt/sdl, but for python | badorek <rolf.badorek@n...> tallskog <marco.tallskog@n...> tietavai <timo.tietavainen@n...> | |
Near-realtime RIC Platform Subscription Manager | Sangama Gunasekaran <sangama.gunasekaran@n..> | |
NOT used anymore: |
|
|
This repository includes files needed for starting the Jaeger Agent in a side-car container, and also files needed for starting Jaeger all-in-one of full collector containers. | Ranjit Angajala (ranjit.angajala@n...), Abdulwahid W (abdulwahid.w@n...) | |
This repo includes a small C++ library for using OpenTracing from near-RT RIC xApps and near-RT RIC platform components | Ranjit Angajala (ranjit.angajala@n...), Abdulwahid W (abdulwahid.w@n...), Timo Tietavainen (timo.tietavainen@n...) | |
This repo includes a small golang library for using OpenTracing from near-RT RIC xApps and near-RT RIC platform components | Ranjit Angajala (ranjit.angajala@n...), Abdulwahid W (abdulwahid.w@n...) | |
The VESPA manager uses the VES Agent (https://github.com/nokia/ONAP-VESPA) to adapt near-RT RIC internal statistics collection using Prometheus (xApps and platform containers) to ONAP's VES (VNF event streaming). | Nune <abukar.mohamed@n...> Anand Radhakrishnan <anand.radhakrishnan@n...> | |
Artifacts for the (near realtime) RIC xapp framework, including common libraries, etc | Nune <abukar.mohamed@n...> juhhytti <juha.hyttinen@n...> | |
ASN.1 definitions and related documents that are needed by other components | czichy <thoralf.czichy@n...> | |
NOT used anymore: | ||
NOT used anymore:
|
|
|
ric-plt/ric-test | RIC platform-specific testing that are not specific to a single RIC component This repo includes test cases that span the full RIC platform, i.e., that cannot run against a single RIC component. This may also include simulators related to the E2 base protocol, or related abstract test xApps (that do not actually implement 3GPP specifications). Note that the test cases must still be limited to RIC platform only. If you want to write/check test cases that integrate also other O-RAN SC components, check the it/test repository. | Xuan Tuyen Tran (Harry) (tuyen@research.at... ), Amit Uttam ( amit.uttam@n... ) and Shashikumar HN ( shashikumar.hn@n... ) |
ric-plt/ric-dep | Code and configuration files that are needed for deploying a near-RT RIC platform instance This includes, for example, helm charts for RIC platform components. In this we can make assumptions about the underlying k8s already existing or we can also spin up blueprints for such a deployment. Note that this component is intentionally limiting itself to the RIC platform and does not include other O-RAN SC components. For such you might want to look at the it/dep repo managed by another O-RAN SC project. | "Felix" Huang Zhe (zhehuang@research.a...) , Ranjit Angajala ( ranjit.angajala@n ), Appalanaidu Chandaka ( appalanaidu.chandaka@n...) |
| ||
|
|
|
ric-plt/ricp-integration (not a repo, only for JIRA planning) | - | - |
ric-plt/ricp-e2e (not a repo, only for JIRA planning) | - | - |
ric-plt/o1 | o1 mediator | Nune = Abukar Mohamed abukar.mohamed@n... Erkki Hietala erkki.hietala@n... Akansha Keshri akansha.1.keshri@n... |
Summary: The near-RT RIC python xapp framework Description: The python xapp framework provides interface that simplify the usage of the RIC services, such as RMR, SDL (database) access, logging, ... . RIC provides frameworks for C++, Python, and Go. | Erkki Hietala erkki.hietala@n... Timo Tietavainen (timo.tietavainen@n...) | |
Summary: The near-RT RIC C++ xapp framework Description: The C++ xapp framework provides interface that simplify the usage of the RIC services, such as RMR, SDL (database) access, logging, ... . RIC provides frameworks for C++, Python, and Go. | EScotDaniels = daniels@research.at... (=Scott Daniels) rshacham = rshacham@research.at... (=Ron Shacham) amannila = anssi.mannila@nok... (=Anssi Mannila) | |
ric-plt/alarm-go | Summary: The near-RT RIC alarm adapter and Go library Description: The alarm-go component provides an Golang interface for xApps and platform components to sendalarms (requiring operator action) and their clearance status to the RIC component that manages them. The RICalarm management adapter - also included here - is managing such notifications and forwarding them to the actualalarm management system used in the near-RT RIC, such as the Prometheus alert manager, which in turn can be setup to send alarms as VES events. | Nune = abukar.mohamed@nok... (= Abukar Mohamed) tietavai = timo.tietavainen@nok... (=Timo Tietavainen) |
ric-plt/alarm-cpp | Summary: The near-RT RIC alarm library for C++ Description: The alarm-go component provides an C++ interface for xApps and platform components to send alarms (requiring operator action) and their clearance status to the RIC component that manages them. Note that there's also a golang version of it in ric-plt/alarm-go. | Nune = abukar.mohamed@nok... (= Abukar Mohamed) tietavai = timo.tietavainen@nok... (=Timo Tietavainen) |
Summary: The near-RT RIC E2AP library Description: This library provides support for E2AP encoding and decoding in C. The library is expected to be used in the near-RT RIC platform xapp framework for C++ and other languages. Added in Nov-2020 (not yet used by all other components) | EScotDaniels = daniels@research.at... (=Scott Daniels) sjana = sj492a@at... (=Shraboni Jana) amannila = anssi.mannila@nok... (=Anssi Mannila) | |
ric-plt/ricctl | The CLI (Command line interface) for the near-RT RIC platform Description: The riccli wraps the multitude of low-level management interfaces the various near-RT RIC platform service provide into a consistent command line interface. The intention is to simplify the usage of these interface and provide a more guided experience to the user. The riccli re-uses the framework parts of the ONAP CLI. | naman <naman.gupta@s...> subhash_singh <subh.singh@s...> |
ric-plt/ricdms | The DMS (Deployment management services) implementation for RIC xApps Description: The RIC DMS implementations provides interfaces for onboarding and deployment of xApps. | naman <naman.gupta@s...> subhash_singh <subh.singh@s...> Suchismita13 <suchismita.jena@no...> Nune <abukar.mohamed@no... > |
ric-plt/stslgo | The STSL (shared metrics layer) libraries provide access to the time series databases. The interface is optimized for time-series database interfaces. Initially it supports InfluxDB. This repo is for the go version of it. | Mohammad Arif Belgaumkar (mabelgaumkar@pa...) tietavai = timo.tietavainen@nok... (=Timo Tietavainen) Jussi Maki Aijala (jussi.maki-aijala@n ) |
ric-plt/xapp-frame-rust | The Rust xapp framework provides interface that simplify the usage of the RIC services, such as RMR, SDL (database) access, logging, ... . RIC provides frameworks for C++, Python, Go and Rust. | Bryan Russett LFID = bryanr ( bryan@c... ) Johannes Becker LFID = jkbecker ( johannes@c... ) |