Who is this article for?
This article is for users who would like to know the technical details regarding how Helium cellular offloading gateways (like the Bobber 500) can bridge the gap between customers of carriers like Dish and GigSky (and potentially someday other large players such as T-Mobile, Sprint, etc) and the carrier's networks. This knowledge is not required in any way to be able to run a Bobber 500 or other Helium offloading gateway and is only provided as extra information to those who are interested in some "behind the scenes" knowledge. Be aware that none of the components discussed in this article are configurable or accessible to users running a Bobber 500 or other Helium offloading gateways.
What is Magma?
Magma is an open source, modular, fault tolerant, and interoperable mobile network core solution created by The Linux Foundation Project which was created to solve many of the challenges facing those who wish to get involved in mobile networking as well as challenges for existing players wanting to scale their networks. A mobile network core will be defined in the next section more clearly. For more information, see the official Magma website.
Overview of Cellular Networking
Generally speaking, a cellular network consists of User Equipment (UEs, mobile phones for example), Base Stations (radios, attached to Access Gateways (AGWs, not pictured)), a backhaul network to connect the AGWs and Base Stations together and to the Mobile Core , which handles control and user plane connections, and in some cases a Federation Gateway (FGW, not pictured).
The Control Plane involves functions such as authenticating UEs to the network, examining subscriber data to verify a SIM has valid service, Quality of Service functions (for example, your plan includes 5GB of 5G speed per month and then is throttled down to 4G or 3G after using up all 5GB), and more.
The Data Plane involves the transfer of actual voice, SMS, or internet traffic through the system.
The Mobile Core is not a device, rather it's a bundle of functionality which facilitates control and data plane communication.
In the Context of Helium
To translate these components into Helium related terms, UEs would be the phones with SIMs belonging to partner networks (like Dish and GigSky) which are connecting to your miner and offloading their data. Base Stations would be a radio such as the FreedomFi CBRS Small Cell which would be connected to an AGW which would be the Bobber 500 gateway (technically speaking, the Bobber 500 is running AGW software). The Backhaul Network in this case would be the internet, as that is how all Helium mobile network miners are connected to the Mobile Core. The Mobile Core is the Magma software, typically running on a cloud server which handles control plane and user plane data and communicates with all of the AGWs - a network core to which everyone's Helium mobile network miner connects. The Federation Gateway is a part of the Magma software which sits between the Mobile Core and all existing partner networks (Dish, GigSky, perhaps someday others like T-Mobile) and translates information from the Magma system to the partner's system and back, and allows the AGW to access subscriber information to verify the UEs have valid service and aren't over their data limits, for example.
Overview of Magma
Magma in an open source Mobile Core solution built using the principles of Software Defined Networking. Services are compartmentalized into modules which can be independently restarted or upgraded without affecting the entire system. It is radio technology agnostic as each access technology (LTE, 5G, WiFi, etc) is broken up into its own module which allows for flexibility such as having one AGW running a 5G radio, one running an LTE radio, or even one running all three. Modules are loaded on an as-needed basis to cut down on hardware requirements and complexity. Magma can be operated as a standalone solution allowing anyone to stand up their own mobile network with minimal cost, but is more commonly is used to extend existing mobile networks in a cost effective and broadly compatible way. One example of this is the Helium network - partner networks are able to pay to take advantage of 5G radios and AGWs deployed by Helium community members to reach places that may have limited 5G coverage rather than having to spend $30,000 or more deploying a 5G tower to cover the same area.
Magma is broken down into 4 core components: The Orchestrator (a centralized management and reporting component), The Access Gateway (a radio technology agnostic component allowing for highly compatible field deployments), The Federation Gateway (a compatibility component which allows Magma to interoperate with existing non-Magma mobile networks), and The Network Management System (a graphical user interface implemented on top of the Orchestrator to allow for ease of use and advanced reporting and monitoring).
The Orchestrator is implemented as a highly available cloud service which handles the management functions of the Magma network as well as the centralized parts of some control plane functions. The Orchestrator implements desired state configuration - that is, it gathers information from network components such as AGWs and radios and determines the observed state of the network and pushes configuration changes out to components in order to achieve the desired state of the network as configured by the network operator. It integrates with a range of 3rd party open source systems to facilitate monitoring, event storage, and more. It makes available a REST API which allows existing network providers (like Dish) to use their own management tools rather than Magma's Network Management System.
The Access Gateway (AGW)
The Access Gateway is a bundle of functionality which handles runtime parts of control plane functions - meaning rather than centrally controlling control plane functions, it executes the functions based on instructions from The Orchestrator. The AGW also handles communication with the Base Station(s) (radio for example) by using only the radio access module(s) needed (LTE or WiFi for example). The AGW also communicates information up to The Orchestrator about the current state of itself, attached Base Stations, and more. The AGW also communicates with The Federation Gateway (by being routed through the Orchestrator) in order to transfer subscriber information as well as communicates data information out to the internet (such as requesting a webpage needed for a UE).
The Bobber 500 gateway runs Magma Access Gateway software which is what allows it to communicate with attached radios and transfer offloaded partner UE data to the partner networks. It also simultaneously runs the Helium Miner software which allows for it to be attached to the Helium network and provide LoRaWAN coverage using an attached LoRa antenna!
The Federation Gateway (FGW)
The Federation Gateway acts as a proxy between the Magma AGW and the existing partner network. This enables core functions, such as authentication, data plans, policy enforcement, and charging to stay uniform between an existing partner network and the expanded network with Magma. This functionality is what allows UEs with partner SIMs (GigSky for example) to automatically roam to a Bobber 500’s 5G connection without requiring end-user intervention. The FGW also keeps the Magma network well insulated from the specific details of a given partner network, as the FGW converts between specific mobile network protocols and the radio-technology-independent implementations of Magma. In other words, as a Magma network operator you don’t need to know the specifics of MNO’s networks you’re connecting to as the FGW will handle the communication!
The Network Management System (NMS)
The Network Management System provides a graphical user interface (GUI) for provisioning and operating Magma-based networks. It is implemented on top of the REST API exposed by the orchestrator. The GUI enables operators to create and manage organizations, networks, Access Gateways and Base Stations, subscribers, policies and APNs (Access Point Names) and more. The NMS can be considered an optional component of the Magma system, since it is possible to interact directly with the RESTful APIs of Magma from other systems (e.g. a partner’s existing NMS). However, the NMS provides a useful starting point for lab installations and greenfield deployments. The NMS also aims to simplify operating Magma networks by providing a set of dashboards to monitor health and status of infrastructure (such as gateways) and subscribers. As previously noted, this is not a system a hotspot owner running a Bobber 500 or other Helium mobile miner would have access to and is open to the overall Magma network operator only.