It has often been assumed that to achieve global connectivity and reach on a mobile device you have a mobile sim. That sim ties you to a carrier network and we rely on their partnership agreements to allow us to use voice and data service whilst outside our home network. What should be considered why looking for a global connectivity solution for IoT devices (any device that needs to connect and send data back to a server), is that it cost the mobile carriers money in licensing to have a roaming device registered to their network. Now that is all fine when the device generates calls and uses data, but when the device is a sensor and uses very little data and stays roaming on their network the whole time that actually becomes a loss leader for the roaming carrier network.
As licenses are paid for the total number of possible roaming devices whether they are being used or not it is a costly business to accommodate roaming guests. So what happens when you put sim cards into 100,000's of devices and they all sit on someone else's network costing them money and license fees. Well they get blocked and barred for being in a permanent roaming state. The upside is through negotiation and a cost per active sim card per month you can probably get those devices unblocked. The issue you have is you never budgeted for that increase in cost and it also costs too much to visit each device and change the sim card to a different network. What a dilemma.
We take a different approach. We control all sim profiles from a global virtual core network. We enable each sim to have our home profile and we tell the sim in the device which in-country network it belongs to when it first registers. Bingo. Problem solved. The device is no longer in a roaming state. If the device needs to be moved or needs to move to a new carrier network contract we reprogram it from the core network and send it a new sim profile.