Hello everyone,
I am a software engineer with an extensive peplink setup and I encountered this problem while roaming across Europe between different countries.
Problem: when you cross borders you want to auto-switch between sim cards because of roaming costs; so basically you have a specific sim card per zone (country, island, area, etc. ) and depending on each zone you enter, it should auto-switch to it.
I’ve read through the pain points posted by people here Single device needs to be able to follow more than one geofence profile and I can relate to them so I spent a couple of days understanding the underlying technical problem deeper and how would an architectural solution look like. It’s really complex because there are a lot of variables and many unknowns but I believe it’s doable.
Here’s the summarized overview:
How your devices use our product to run the right SIM / roaming by location
Removes Peplink IC2’s one-geofence-profile-per-device limit, so a single router can change its own config across many zones.
HOW YOUR DEVICES USE OUR PRODUCT TO RUN THE RIGHT SIM / ROAMING BY LOCATION
ACTORS
------
YOU - set the rules once, watch status
OUR PRODUCT - (a) where you author rules (b) the part running on the device
YOUR DEVICE - the router, its SIM slots, its roaming switches
THE BORDER - the zone edge where coverage / roaming is briefly in flux
┌──────┐ ┌──────────────────┐
│ YOU │ │ YOUR DEVICE │
└──┬───┘ │ ┌─────────────┐ │
│ │ │ SIM A US │ │
│ (1) Define zones + rules ONCE, centrally: │ │ SIM B US │ │
│ "Mainland -> US SIMs (A+B) ON" │ │ SIM C local │ │
│ "Alaska/Port -> SIM C, US roaming OFF" │ └─────────────┘ │
│ (many zones per device - IC2 won't do this) └──────┬───────────┘
▼ │
┌──────────────────────────┐ │
│ OUR PRODUCT (cloud) │ (2) pushes the rule set DOWN to │
│ zone + rule authoring │──────the device, where it's cached ───▶│
└──────────────────────────┘ │
│
┌──────────────────────────────────────────────┘
▼
┌──────────────────────────────────────┐
│ OUR PRODUCT (on the device) │ -- this is the part that
│ detect -> decide -> apply, LOCALLY │ makes it work at the border
└───────────────┬──────────────────────┘
│
(3) Device approaches THE BORDER ───────────────────────────────┐
│ │
▼ ▼
(4) Device notices the crossing ┌────────────────────────────┐
itself - by GPS and/or by │ THE BORDER (zone edge) │
seeing the carrier change ───────────▶│ coverage + roaming in flux│
│ for a few seconds │
│ └────────────────────────────┘
▼
(5) Applies the right config INSTANTLY, on the spot:
- switch to SIM C
- turn US-SIM roaming OFF
-> roaming window is near-zero (no waiting on the cloud)
│
▼
(6) Confirms it actually got a working connection.
If the brief border flux left it without a usable link,
it self-corrects to get back online - you do nothing.
│
┌────────────────────┘
▼
┌──────┐ (7) You see status, zone history, and every switch -
│ YOU │◀─────reported back up whenever the device has a connection.
└──────┘
Your goal → how it’s met
| Your goal | How it’s met |
|---|---|
| Don’t pay US roaming charges abroad | US roaming flips OFF the moment you cross, decided on the device, not after a cloud round-trip |
| Always have an uplink | Right SIM / WiFi-as-WAN picked per zone, automatically, no manual reconfig |
| One router, many places | Many zones per device — IC2’s hard limit is exactly what we remove |
Why on the device and not just a dashboard: the decision happens locally, so the roaming-off switch lands the instant you cross — there’s no round-trip to a server that might not reach you in the brief seconds the border is fuzzy. That’s the difference you feel in the bill.
Follow-up question
The thing is since this is such a specific custom solution with little room for error, it will require a lot of extensive trial & error to get it right, so will require a lot of time from my side.
I just want to know if enough people are interested, I can work on it and deliver it.