Bouw je je eigen IoT-hardware? Dan is de verbindingslogica in je firmware belangrijker dan de SIM die erin zit. Een roaming-SIM geeft je apparaat toegang tot veel providers, maar het apparaat bepaalt welke het gebruikt, wanneer het opnieuw probeert en wanneer het opgeeft.
Deze gids behandelt de configuratiekeuzes die bepalen of een vloot online blijft: netwerkprioriteit, back-off bij retries, verbindingscontroles, sessiebeheer en firmwarebeleid.
Dit is het meest voorkomende misverstand, en het verandert hoe je al het andere debugt.
Een Simbase SIM geeft toegang tot meerdere providers. De SIM kiest daar niet tussen. Dat doet de modem, op basis van zijn eigen logica: signaalsterkte, de operatorlijst op het apparaat, of het het netwerk al eerder heeft gezien en hoe de firmware is ingesteld. Blijft een apparaat zich aanmelden bij een zwak netwerk terwijl er een sterker beschikbaar is? Dan zit het probleem in de apparaatconfiguratie, niet in de SIM.
In de praktijk: wil je dat een apparaat de voorkeur geeft aan een bepaalde provider, dan stel je dat in de modemfirmware in, voor zover die dat ondersteunt.
De meeste vloten hebben een goede reden voor hun voorkeur voor bepaalde providers. Een apparaat is misschien gecertificeerd op het ene netwerk en niet op het andere, of een commerciële afspraak bevoordeelt een bepaald netwerk. Een voorkeurslijst legt dat vast, zonder dat je jezelf klem zet.
Werk deze volgorde af:
Probeer het eerste voorkeursnetwerk.
Lukt dat niet, probeer dan het volgende voorkeursnetwerk.
Ga zo door tot je elk voorkeursnetwerk hebt geprobeerd.
Probeer elk beschikbaar netwerk dat niet op de lijst staat.
Is er niets gelukt, begin dan opnieuw bij het eerste voorkeursnetwerk.
Stap 4 wordt vaak overgeslagen. Een apparaat dat zich alleen bij drie vaste netwerken aanmeldt, kan niet meer online komen als alle drie onbereikbaar zijn. En dat is precies het moment waarop je het het hardst nodig hebt.
Bij de timing van retries richt goedbedoelde firmware echte schade aan. Een apparaat dat elke paar seconden opnieuw probeert, lijkt voor de roamingpartner een apparaat dat zich misdraagt. Roamingpartners blokkeren zo'n apparaat dan tijdelijk of permanent, en dat terugdraaien is traag handwerk.
Verleng de wachttijd tussen pogingen elke keer:
Eerste retry na 1 minuut.
Tweede retry na 2 minuten.
Derde retry na 4 minuten.
Na een aantal volledige rondes ga je naar een uur of langer, afhankelijk van hoe snel het apparaat moet herstellen.
Het doel: methodisch door de netwerken gaan, snel opnieuw verbinden zodra er een beschikbaar is, en nooit lijken op een apparaat dat het netwerk bestookt.
Sommige apparaten kunnen netwerken volledig blacklisten. Dat heeft zijn nut, bijvoorbeeld voor een netwerk dat structureel slecht presteert of waar je hardware echt niet mee overweg kan.
Wij raden voorzichtigheid aan, vooral bij roaming-deployments. Elk geblacklist netwerk is een route naar connectiviteit minder, en blacklists groeien vaak: toegevoegd tijdens een slechte week, nooit meer bekeken en twee jaar later nog steeds in de firmware, als juist dat netwerk als enige een nieuwe locatie dekt.
Kies liever een prioriteitslijst die netwerken rangschikt dan een blacklist die ze verbiedt. Rangschikken degradeert geleidelijk. Blokkeren niet.
Een apparaat kan aangemeld zijn bij een netwerk, vol signaal tonen en toch geen werkende internetverbinding hebben.
Een periodieke ping naar een betrouwbaar doel, meestal de DNS-resolver van Google op 8.8.8.8, bevestigt dat verkeer het internet echt bereikt en terugkomt. Een mislukte ping is een goed signaal om de verbinding te verbreken en de netwerkselectie opnieuw te starten.
We raden een pingtest aan van minstens één keer per uur, waarbij elke mislukking leidt tot een nieuwe verbinding. Stem de frequentie af op je databudget: elke test kost een beetje data, en op een apparaat met weinig verbruik dat te vaak test, kunnen verbindingscontroles een merkbaar deel van de rekening worden. Zie Dataverbruik en overschrijding voor hoe sessies worden gemeten en afgerond.
Voor volledige internettoegang heb je beide nodig. Haal je ze door elkaar, dan worden verbindingsproblemen veel lastiger te diagnosticeren.
Het apparaat registreert zich bij een mobiel netwerk, zoals een telefoon zich aanmeldt bij een mast in de buurt. Het heeft dan signaal en is bekend bij het netwerk, maar kan nog geen data versturen.
AT+COPS=0
Hiermee vraag je de modem om automatisch een netwerk te kiezen.
Een Packet Data Protocol-sessie opent de gateway waar de data echt doorheen gaat. Definieer eerst de context met je APN:
AT+CGDCONT=1,"IP","APN_NAME"
Activeer hem daarna:
AT+CGACT=1,1
Vervang APN_NAME door de APN van je SIM-profiel. De meeste profielen gebruiken simbase. Zie APN instellen voor de APN die past bij je profiel en toepassing.
Een PDP-sessie openhouden voorkomt dat je voor elke verzending opnieuw een sessie moet opzetten. Het heeft ook direct effect op de facturatie: elke sessie wordt naar boven afgerond op 1 kB en kosten worden berekend op vier decimalen. Een apparaat dat voor elke kleine meting een sessie opent en sluit, kost daardoor flink meer dan de payload doet vermoeden. Voor toepassingen met weinig data is één lange sessie meestal goedkoper dan veel korte.
De datasessie openhouden is zinvol. Onbeperkt aangemeld blijven bij hetzelfde netwerk niet.
Netwerken dwingen periodiek een nieuwe autorisatie af bij apparaten die lang aangemeld zijn, en zo'n gedwongen herautorisatie komt meestal op een onhandig moment. Door ongeveer elke 24 uur af te melden en opnieuw aan te melden, op jouw schema in plaats van dat van het netwerk, blijft de autorisatie van het apparaat actueel en wordt een onvoorspelbare onderbreking een gecontroleerde.
Modemfabrikanten brengen firmware-updates uit die netwerkcompatibiliteit, roaminggedrag en beveiliging verbeteren. Up-to-date blijven helpt echt, in alle regio's.
Als eerste een nieuwe release installeren helpt niet. Nieuwe modemfirmware kan regressies veroorzaken in precies de onderdelen die voor jou belangrijk zijn. Laat een release eerst rijpen voordat je hem over een vloot uitrolt, en rol dan gefaseerd uit.
Verbindingslogica die op de testbank correct lijkt, gedraagt zich in een vloot anders. Houd na de uitrol bij:
Het slagingspercentage van retries, en welke poging in de reeks meestal slaagt.
De duur van sessies, en hoe vaak sessies onverwacht eindigen.
Bij welke netwerken apparaten zich echt aanmelden, per regio.
Hoe vaak verbindingscontroles mislukken terwijl het apparaat nog aangemeld is.
Die cijfers laten zien of je prioriteitsvolgorde klopt met de praktijk, en of je back-off-intervallen te agressief of te ruim zijn. Diagnose laat zien wat het netwerk ziet voor een individuele SIM. Dat is een goede controle als de logs van een apparaat het ene zeggen en de connectiviteit het andere.
Een apparaat met een roaming-SIM in de Verenigde Staten, waar de drie grote netwerken beschikbaar zijn.
Verizon.
T-Mobile.
AT&T.
Probeer Verizon. Lukt het, open dan een datasessie en werk normaal. Lukt het niet, wacht 1 minuut.
Probeer T-Mobile. Lukt het, open dan een datasessie. Lukt het niet, wacht 2 minuten.
Probeer AT&T. Lukt het, open dan een datasessie. Lukt het niet, wacht 4 minuten en begin een nieuwe ronde bij Verizon.
Weigeren alle drie het apparaat, bijvoorbeeld tijdens een storing of als een SIM is uitgeschakeld? Verleng dan de intervallen in plaats van te blijven rondgaan:
Wacht na de retry van 4 minuten 1 uur voordat je de volledige voorkeursvolgorde opnieuw doorloopt.
Is er daarna nog steeds geen verbinding, ga dan over op intervallen van 4 uur.
Zodra er een datasessie open is, ping je periodiek 8.8.8.8. Mislukt de ping, meld het apparaat dan af bij het huidige netwerk en start de reeks opnieuw bij Verizon.
Om de netwerkprestaties op peil te houden en ruimte te geven voor een eventuele herautorisatie, verbreekt het apparaat elke 24 uur de verbinding met het netwerk en maakt het opnieuw verbinding.
Dagelijkse herverbinding: het apparaat meldt zich af bij het huidige netwerk en volgt daarna de oorspronkelijke prioriteitsvolgorde (Verizon, T-Mobile, AT&T) om opnieuw verbinding te maken.
Zo blijft de autorisatie actueel en is de kans kleiner dat het netwerk een herautorisatie afdwingt.

Nee. Netwerkselectie gebeurt op het apparaat. De SIM geeft toegang tot de providers binnen de dekking van je plan en de modem kiest daartussen. Een voorkeur stel je dus in de firmware in.
Minstens elk uur, waarbij een mislukte controle aanleiding is om opnieuw te verbinden. Verleng het interval als datakosten zwaarder wegen dan snel herstel, want elke controle verbruikt data die je betaalt.
Houd hem open. Elke sessie wordt naar boven afgerond op 1 kB, dus veel korte sessies kosten meer dan één lange voor dezelfde payload. Opnieuw verbinden zorgt bovendien voor extra latency en meer punten waar het mis kan gaan.
Meestal door herhaalde mislukte aanmeldpogingen kort na elkaar. Roamingpartners blokkeren apparaten die zich zo gedragen. Een oplopende back-off tussen retries houdt je apparaat van die lijst.
Verbindingsproblemen: diagnose van een SIM die geen verbinding maakt
APN instellen: de APN-waarde voor je profiel en toepassing
Diagnose: zie wat het netwerk meldt voor een specifieke SIM
Dataroaming: hoe roaming werkt op een Simbase SIM
Dataverbruik en overschrijding: hoe sessies worden gemeten en gefactureerd

