Multiple network providers -> Google Cloud


I am trying to understand how LoRaWAN works with different public network operators (TTN, Orange, Swisscom etc).

Lets say I want to deploy 1000 sensors in Europe where all devices will have to connect to different LoRaWan network operators or a basic off-the-shelf LoRaWAN gateway bought online depending on the available coverage. I then want to store the messages in my Google Cloud backend, how is this technically done with all these different operators and their respective API’s?

Do I have to fetch data from all available operator’s API? Or are all messages automatically directly routed to a MQTT topic in my backend?

And how will that work with paid providers?

All help is appreciated, thanks!


In theory there are ways for distinctly operated network servers to send traffic back to an appropriate application server.

In practice, at the moment you’d probably just have to directly deal with the backend system of whatever network a device gets registered on.

You have some control over that in the sense that a device can only register with a network that knows about it and has the other half of the shared root key secrets (for OTAA, the Appkey).

If you shared that information with multiple networks, in a given attempt the device would still only manage to end up with a completed registration on at most one, since registrations is the synthesis of random numbers coming from both node and network, whichever join accept (if any) the node heard clearly would determine the only network with which it would subsequently operate. Multiple networks might think they’d established sessions by sending out a join accept, but at most one of those could actually be put into use by a properly behaved node. If two come in without a substantial difference in signal strength, likely the combination would be garbled enough that neither will be successfully received, though if anything is received in RX1, the RX2 slot will be ignored, no matter how “better” the signal there might look.

1 Like

You will have to interact with different operator backends offering different APIs. For some you might fetch it using mqtt, others post it in their specific format to an HTTP endpoint you provide. And other operators might use yet another mechanism.
Bought gateways might be connected to TTN or running an internal backend where in the later case there are multiple options again.

Deploying to multiple operators and private networks running with bought gateways is going to be a nightmare to manage and will result in a lot of work (and headaches). Take the private networks out of the equation and it is just a lot of work, but doable. (Probably not cheap as commercial operator tend to charge for messages uplinked and downlinked as well as for each endpoint where you want messages delivered).

Thanks for your input.

I came across that might help with this right? However I cannot find any information on which providers that uses that. It’s difficult to find the cost per message too for the different providers.

Thanks again