When you design an application for the Internet of Things based on cellular communications, the price of the communications can represent an important part of the total costs. As the market is expanding, there are new subscription packages dedicated to these applications, with varying conditions depending on the provider. Are all the offers equivalent? Is quality in direct relationship to the price? This is what came out of our first investigations...
For our evaluation, we put in the balance:
- M2M (machine-to-machine) offers from traditional providers with their own national GSM network. Of the three active providers in Switzerland, two answered our call for M2M service:
- Offers from two international actors specialized in M2M services:
- easym2m.eu, which seems to work only with/for Telefonica
- Telit, the manufacturer of the GSM modules used in our products
These providers don't have their own GSM network. They are companies which developed an M2M offer relying on third-party network. The actual provider of the SIM can vary depending on the selected offer, but in the end the customer is never in direct contact with the SIM provider. The SIM conditions of use and the management tools are defined by EasyM2M or Telit, not by the SIM provider. For our tests in Europe, the SIMs provided by EasyM2M and Telit were coming from the Spanish provider Telefonica.
- Classic data packages that anyone can buy, with a subscription or by pre-payment. We made some tests with
- a SIM with a standard Swisscom subscription
- pre-paid SIMs from Sunrise and M-Budget Mobile
The M2M developer kit provided by Swisscom
Factors to be taken into account
Naturally, it's not only the price which is important. Offered services greatly vary depending on the selected subscription. Here are the criteria that we deemed most important.
Remote management and cost control
In a GSM cellular communication package, the SIM card is the key allowing you to incur communication costs. If the risk to lose control of a SIM are limited when it stays in a phone at the bottom of a pocket, it's not the same when the SIM is used to perform measures in the middle of nowhere or in a vehicle. It is therefore important to be able to control it remotely, and even more so when you have tens or hundreds of SIM cards.
All the true offers of the M2M type that we tried propose a web console allowing you to manage the SIMs remotely: monitoring the quantity of transferred data, usually with a delay of a day, and possibility to disable a card. Sometimes you can define an alert threshold when you go above a given quantity. Strangely, we never found an automatic system to block the card when it goes above. However, the Telit platform offers an API enabling you to program your own automatic SIM management system. For middle size projects, it's probably a much more cost efficient method than to have a personalized management system developed for a very high price, as proposed by the other providers.
For small projects, where one is tempted to use a standard data package rather than an M2M contract, remote management is the weak point: there are few subscriptions which propose a true online monitoring of data consumption. The best solution in this domain is to use a pre-paid SIM. Not only the pre-paid SIMs allows you to control costs, but all also offer an online system to recharge the card over Internet. Nevertheless, it's a different login for each SIM, so it's not a true solution for large projects.
Telit IoT portal is one of the best
For stationary applications, it might be enough to verify that there is good network coverage at the selected locations to ensure a proper quality of service. This is not a given for measures in the middle of nowhere, as providers concentrate their antennas on high density residential areas. You cannot trust coverage statistics, which are usually computed with regards to the percentage of covered population, and not with regards to the percentage of covered territory. Therefore, if you deploy an application in multiple sites outside of residential areas, it's important for the SIM to connect itself to any network, and not only to the network of a single provider. It's an important advantage of international providers such as EasyM2M or Telit, with which you can connect to any available network. Traditional providers begrudge to resell their competitor's services and thus foolishly lose network coverage.
For mobile applications which go outside of the provider's domain, service quality is based on partnership contracts between providers: roaming. Although all operators announce that they have roaming agreements with a majority of, if not all, foreign networks, there are two very different roaming qualities. Basic roaming, used by traditional providers for a long time, consists on directing the mobile client towards a preferred roaming network, usually to reduce the costs incurred by the provider itself. This mechanism is called Steering of Roaming. Even if your provider sold you a theoretical access to all networks in roaming, it retains the right to limit its access in some conditions. For example, if you started roaming on network A and you later want to switch to network B because of a better signal, the provider can refuse the request of network B to take charge of your SIM card, giving as pretext a connection error, and this several times. In the end, the mobile device eventually falls back on network A and the provider avoids the roaming setup costs which would have otherwise be billed by network B. This seems on the verge of honesty ... but is nevertheless a mechanism which is well used, known as network-based Steering of Roaming. A slight improvement consists for the provider in indicating ahead of time to the customer to which network to connect, to avoid delays of failed connections. Providers call this Hybrid steering or Intelligent Steering.
Whether intelligent or not, Steering of Roaming is a pain for mobile applications. It greatly reduces network coverage, as it limits access to the networks on criteria independent from the quality of the signal. It makes the work of mobile applications unpredictable because, depending on external conditions, network coverage can vary from one day to the other depending on the Steering imposed by the provider. Therefore, it is essential for mobile applications which are not bound to the base network of the provider to use SIMs without Steering of Roaming. Unfortunately, as this directly impacts the profit margin of the provider, few guarantee the absence of Steering. Among those that we evaluated, only Telit contractually guaranties not to use Steering and to always allow connection to the best available network. According to our tests, EasyM2M SIMs seems to be exempt from Steering, but nothing guaranties that it remains the case as there is no official position on the subject. On the opposite, traditional providers don't seem to understand the issue at stakes, as one of them even boasts in its M2M offer to have the necessary tools to optimize its roaming cost structure...
Telefonica SIM cards from Telit and EasyM2M, with no Steering of Roaming
Among the additional options for specialized M2M contracts available from all operators, you find the possibility to connect SIM cards to a virtual private network (VPN). This option is interesting when you need to initiate a communication through internet from a computer to an object connected by GSM. Indeed, unless you use a VPN, a GSM connection is only "outgoing": it can contact a server on the Internet, but it can't be reached from a server on the Internet. While with a VPN, your connected object shows up as if it was on your own network... except for latency.
There are several types of VPN: true IPSec VPNs, allowing you to interconnect a complete network through the router; and point-to-point VPNs, which simply allow a machine to access the network in which the SIMs are located, though the activation of a VPN client. Except for EasyM2M which offers this later option for a negligible cost, expect setup costs and important monthly costs for this type of services. This is justified only for large scale applications. This is why you should take the issue into account at the design phase and use an architecture with outgoing connections rather than incoming ones.
Among other the options, it is worth noting one that we have only found from Telit: the ability to geolocalize the SIMs and even to send alerts when the SIMs go outside of a given perimeter.
Apart from EasyM2M which indicates its prices on its Internet site, providers don't openly communicate their prices in the M2M world. All are looking for contracts with large numbers of SIMs and rely on confidentiality to keep room for maneuver while negotiating. Therefore, we can't give you the details of the proposed prices, but here are nevertheless a few indications.
All providers offer a development kit to test the functionalities. Traditional providers bill this kit between 100 EUR and 300 EUR. EasyM2M theoretically offers a free test SIM, but given the low volume that we planned on buying, the test SIM wasn't free for us anymore. Only Telit offered us a truly free evaluation kit, including the testing of roaming, without any cost, but with a very active sales and customer support.
Le kit d'évaluation M2M de Salt.
Then, there are the one-time fees for buying and activating the SIMs. EasyM2M is the cheapest with 1.50 EUR/SIM, the others are slightly more expensive but close behind. As this is not a recurring expense, it is in any case not very important in the long run.
Finally, there are the operating costs. Apart from EasyM2M which separately bills each card and even offers the possibility of pre-paid SIMs, providers usually bill a monthly amount per activated SIM card, and this amount depends on the total quantity of data transferred on all the cards, with a price per MB decreasing when the quantity of data increases. Traditional providers bill, on top of this, costs for "using the management console" of several hundreds of Euros. EasyM2M and Telit subscriptions include that feature for free. Of the offers we received, Telit is the less expensive for low volumes up to 5MB of traffic per SIM per month. Salt seems cheaper for large volumes, apart from possible hidden costs in the terms of the minimum contract duration, minimum commitment to purchase SIM cards, the minimum subscription period of SIM cards, etc. In any case, don't expect to obtain data prices as cheap as on data plans for private individuals: M2M users are professionals, so they are billed the MB at the professional price!
These pieces of information being digested, here is our synthesis and our suggestions... of course without guaranty!
1. For small scale applications (1 to 10 SIMs)
If you don't need roaming and if you can test network coverage, we suggest that you use a pre-paid SIM card from a local provider with a data scheme for private individuals. In Switzerland, M-Budget pre-paid cards with 100MB of free data are particularly interesting for small scale static IoT applications.
A cheap solution for a small local project
If you need roaming or if it's a mobile application requiring a maximal coverage, have a look at the "Global Europe" SIM card from EasyM2M: it's what we tested, which works with most providers, and which didn't show Steering of Roaming during our tests. Note, the "Eu28+2" SIM is slightly cheaper, but it cannot connect itself to all providers and we didn't test its behavior with regards to Steering to Roaming.
2. For larger applications
As you can guess, for larger applications, the Telit offer convinced us most: firstly on the quality of the connectivity, but also on the technical support which answered each of our questions in a few hours. As Telit is moreover the manufacturer of the GSM modules used in our products, using their services will also help us in case of problems: the provider won't be able to fault the hardware manufacturer, and vice versa. Finally, the proposed price structure allows anyone to buy a hundred SIM cards for IoT with an access to all the international networks, for the same price as a few classic cellular phone subscriptions.
Traditional providers would do well to emulate them, if they don't want to see the Internet of Things market escape them permanently ...