Deep Dive
31 August 2021 / /
Real-Time IoT/M2M Network Telemetry and Event-Driven Automation
The news of our MQTT APIs for broadband services was positively received. What could we extend it to, both to simplify our own internal tooling but also empower our customers? Enter the KeySIM.
We operate the core network for our partners Key IoT and some of their customers had expressed an interest in more detailed usage data about their M2M and IoT deployments. Only a small amount of modification was required to our RADIUS-to-MQTT proxying scripts, to accommodate some of the differences in the attribute-value pairs and process the 3GPP data we receive from the mobile carriers. Again our extensive use of network automation made it relatively quick work to deploy this across the KeySIM platform and allow them to offer this to their customers.
As MQTT grew out of the IoT ecosystem it seemed especially appropriate for us to use it as the backbone of the API for KeySIM’s IoT and M2M customers. Now, by using industry standard technologies, those users can receive real-time updates about devices coming in and out of session, which mobile network they have associated to, and are able to consume streaming telemetry about data usage on a per-SIM basis. The granularity of data we are presenting is peerless in this industry.
Next Level Mobile
But could we take it even further? What if we could make MQTT a two-way street, equal in power to KeySIM’s wholesale provisioning APIs, which are linked straight into the mobile carrier’s core? Imagining the possibilities this would bring to KeySIM users we were eager to make this a reality.
The KeySIM MQTT API documentation is broken into two parts, the second of which covers the Control and Return path that is now ready for both KeySIM’s retail and our wholesale mobile connectivity customers. Using this it is possible for a customer to build their own event-driven network automation, reacting to the live updates streaming in from the KeySIM platform. What can they build?
In a series of four videos Marek illustrates the potential power that these APIs bring:
You don’t even need to write any code: Node-RED is a graphical tool in which you can connect the building blocks of MQTT and simple transformations. Almost anybody should be able to use this to process network association and usage data in real-time.
As software engineers we know that code is buggy, and we’ve seen customers’ production IoT devices get into runaway states, constantly using data even though their signal has been acknowledged. With embedded systems potentially inaccessible to your development team, how do you prevent this causing a huge data bill? Using these APIs you’re able to deactivate a malfunctioning device’s SIM and isolate it from the network.
Most mobile/IoT/M2M devices are fairly dumb: with an unsteered SIM they will just cycle through available networks until one accepts their session, sometimes preferring the strongest radio signal as their first choice. Generally they will reassociate with that same network as they move and lose signal from one cell to the next, even if other signals are stronger. And even if they are associated to the strongest tower signal, that doesn’t necessarily correspond to the best IP connectivity. But what if your control plane could detect non-optimal mobile network connectivity and forcibly steer the SIM to another carrier?
And our favourite so far is in response to a common threat to IoT and M2M device operators. As the devices are installed in the field they are no longer under your control, and are at risk of physical tampering. What stops a SIM being removed from your IoT device and misused in another 4G modem? Enter IMEI-locking and alerting: