The RIC Message Router (RMR) is a thin library which allows applications to send messages to other applications. RMR provides insulation from the actual message transport system (e.g. Nanomsg or NNG), as well as providing endpoint selection based on message type. This page serves as an anchor point for RMR related pages.
Announcements
2019 August 5: Please see the Supported Transport Mechanisms section below; support for Nanomsg is being dropped (NNG will be the only transport mechanism supported).
Current Version
The following are announcements related to RMR during the past 30 days; newest announcements first.
2021 3 May
Version 4.7.4 has been pushed to the release area of the package cloud repository. See the revision history on the RTD site for the changes.
Current Version
Cherry development begins with version 4.7.4 on the master branch; 4.7.4 current in the package cloud staging repo.
Cherry Release: Version 4.4.5 (November 2020)
Bronze Release : version tag 4.0.5 (6 June 2020) -- Code is currently frozen; only bug fixes and documentation updates are being applied.
Release A frozen: 1.11.1 (Amber branch) 6 November 2019
Trial branch (r2-temp): 1.10.2 Fall 2019The current version of RMR is 1.0.44 which was pushed on August 6, 2019; it is recommended that Dockerfiles etc. be adjusted to pick this version up. The change affects the API by adding a single message type to the list of message type constants.
For a detailed description of API changes, and their related commits, please consult the CHANGES file at the top level of the RMR repo:https://gerrit.o-ran-sc.org/r/admin/repos/ric-plt/lib/rmrthe RMR repo or on the RMR read the docs page.
Changes to the API will be announced herevia this wiki page, so it is assumed that anybody interested in being notified about API changes will place a watch on this page.
...
- Frequently Asked Questions
- User's Guide
- Message Conventions
- Prebuilt Binary Packages
- Building From Source
- Using RMR
- RMR Route Tables (includes information on routing based on MEID)
- Subscription ID
- Manual (man) Pages
...
The following pages hold information that should be useful to anybody modifying and/or testing RMR itself.
RMR Packages
Several frameworks (wrappers/bindings) are being developed which provide a more simplistic interface to the xAPP developer. Installation of the framework will likely require that the RMR runtime package be installed. RMR packages (debian and RPM) are currently published on the html site https://packagecloud.io.
The generic URL below can be used to obtain a list of available packages (current version listed at the top of this page).
https://packagecloud.io/app/o-ran-sc/staging/search?q=rmr&filter=all&filter=all&dist=
Links on these pages redirect to a generalised information HTML page; the actual wget command needed to pull the package is on the right side of these pages near the bottom.
As an example, the following can be added to a Docker file to install the RMR runtime package:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
# Install RMr (runtime and dev) from debian package cached on packagecloud.io
ARG RMR_VER=3.3.0
RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/rmr_${RMR_VER}_amd64.deb/download.deb
RUN dpkg -i rmr_${RMR_VER}_amd64.deb |
Performance
The following pages discuss RMR and NNG performance.
Support Software
When the RMR runtime package is installed, there may be one or more support binaries which are included. These are installed (by default) into /usr/local/bin. The links below describe each.
Tutorials
The following are links to short tutorials covering some aspects of RMR usage