11 Slices
Medium 9781491910658

7. NodeManager APIs

Michael Iedema O'Reilly Media ePub

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.

See All Chapters
Medium 9781491910658

4. From Single to Multinode

Michael Iedema O'Reilly Media ePub

A mobile network with a single tower is infinitely more useful than one with zero towers. However, there comes a point where no matter how well that single tower is tuned, it cannot effectively cover a given area.

Because OpenBTS uses the same software stack to implement large and small coverage areas and has even been made to run on a Raspberry Pi, try to free your mind of the classic “cell tower” image. A tower could easily fit in a shoebox or blend in with your WiFi access point.

This chapter describes how to expand your network to multiple physical sites but still maintain a single logical network. This logical network will support Mobility and Handover as any commercial network would.

There is some confusion among these terms. While they do mean very specific things, even experts in the field will throw them around in discussion and expect the other party to understand the correct meaning from the context. To clear up this ambiguity each term will be outlined briefly.

See All Chapters
Medium 9781491910658

B. Operating System Installation

Michael Iedema O'Reilly Media ePub

On either a fresh computer or in a virtual machine, follow these steps to produce a compatible minimal OS installation. If you already have a compatible operating system installed, feel free to skip to Git Compatibility.

When using a virtual machine, at least two cores must be assigned to the instance.

The Ubuntu 12.04 LTS installation image (an .iso file) is available from this page. In the “Server install CD” section, download the file linked from “PC (Intel ×86) server install CD.” This is the 32-bit server installer.

Ubuntu Desktop will also work equally as well as Ubuntu Server, but the Server edition has a smaller install footprint.

Once the image has been downloaded, it can be burnt onto a physical disk for installation on standalone server hardware. If you are using a virtual machine, simply select this .iso image file when prompted for boot media.

If you are using VMware software, uncheck the “Use Easy Install” option.

Once the physical server has this fresh disk in its CD tray, power it on. Similarly, the new virtual machine can now be started.

See All Chapters
Medium 9781491910658

5. GPRS

Michael Iedema O'Reilly Media ePub

Mobile networks have, in many areas of the world, been reduced to being data networks. Over-the-top (OTT) services like WhatsApp and Skype only need a data pipe and participants can connect regardless of carrier. Fees between the participants are also not dependent upon geographic location, unlike local versus long-distance charges.

GPRS is much too slow to support bidirectional streaming video but can suffice for a low-quality voice call. Its speeds are ideal for email and OTT text messaging.

The world of sensors and infrastructure such as heat and flow sensors or electrical and parking meters also needs data connectivity. These low-bandwidth machine-to-machine (M2M) devices, now referred to as Internet of Things (IoT) devices, are a very common use for GPRS.

GPRS is actually not a part of GSM. It was developed after GSM had been standardized and is usually referred to as 2.5G, whereas plain GSM is 2G. OpenBTS abstracts these differences and presents a unified configuration where possible.

See All Chapters
Medium 9781491910658

3. Troubleshooting and Performance Tuning

Michael Iedema O'Reilly Media ePub

As your network becomes ever more production-ready, you will need some additional techniques to help debug problems as they arise. While some errors are directly related to misconfiguration, others are less obvious. Depending on the deployment conditions and network usage patterns, problems with the network may actually be related to poor performance. Optimizing the network’s performance for your particular scenario can be key. Because of this, troubleshooting and tuning are presented together.

A quick and easy way to observe when events occur in OpenBTS is by using the stats command. There are several dozen event types that are tracked. To get a full list of them, run the stats command with no arguments:

Each event type is simply a key name in a small SQLite3 database and the value for each key corresponds to the number of times this event has happened since the last time the stats database was cleared. Clearing the database is handy to give yourself a known starting count for the events you are interested in. To clear the database, execute the following:

See All Chapters

See All Slices