← All notes // Note

Routing SMS across two SIMs: a local gateway and FloLive

2026-10-13 · 2 min read · Habib Ullah

The FleetTrack bot does not only listen on WhatsApp. It also sends SMS. The catch is that it operates across two SIMs with completely different constraints, so there is no single SMS path. The backend has to route every message through whichever transport fits the SIM it belongs to.

The local SIM goes through the SMS-gate platform. SMS-gate is a mobile app installed on a physical device: the backend talks to the SMS-gate API, and the app on the phone does the actual sending and receiving over the local carrier network. Replies come back through the same channel, so the bot can hold a two-way SMS conversation from that number.

The cross-border SIM cannot sit in a local device, so it takes a completely different route: FloLive. Their admin portal at flolive.net is where that SIM lives. The backend uses the portal for status checks on the SIM and for triggering actions on it. A web-managed path instead of a device-managed one.

The routing decision itself is simple: every message is tied to a SIM, and every SIM has its transport. The rest of the system never thinks about it. It just asks to send an SMS, and the routing layer picks SMS-gate or FloLive.

It is not glamorous architecture, but it is the kind that survives contact with telecom reality. Use the device you can touch, use the portal for the SIM you cannot, and keep the routing decision in one place so adding a third SIM later does not mean rewriting the bot.

The two paths could not be more different. One is a phone running an app, the other is a web portal for a SIM in another country. But the bot treats them as interchangeable transports. That only works because the routing layer hides the difference: everything above it speaks "send an SMS", and only the router knows which API or portal call that turns into.

← All notes