O'Reilly logo

Getting Started with OpenBTS by Michael Iedema

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 7. NodeManager APIs

NodeManager is a common control interface across OpenBTS, SMQueue, and SIPAuthServe used for system configuration and monitoring. All components support some common functionality (such as configuration manipulation) with specialized APIs available for component-specific tasks or data sources. The NodeManager APIs are divided into two main categories: request/response and streaming. Both types use JSON formatted messages and communicate over ZeroMQ, a library that creates simple and robust socket connections between processes. NodeManager APIs were implemented to simplify the remote management of multiple OpenBTS instances, as well as Central Services like SMQueue and SIPAuthServe.

APIs are such a normal part of the Internet that this might not seem too exciting. However, keep Figure I-1 in mind when reading through PhysicalStatus API. No need for a dozen protocols and entities—the core radio measurement data is now available directly as a stream of JSON messages! Additional APIs will be added to the NodeManager interface in future releases.

nmcli.py

A small Python utility is included in the NodeManager repository named nmcli.py. It requires a few dependencies to be installed, but the build.sh script (in Building the Code) should have already done this. To make sure you have them, here are the manual commands:

$ sudo add-apt-repository -y ppa:chris-lea/zeromq
$ sudo apt-get update
$ sudo apt-get install libzmq3-dev libzmq3 python-zmq

The capabilities of nmcli.py ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required