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.
A small Python utility is included in the NodeManager repository named
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