Home Server to Serving Server Protocol


I’m looking for a way to eliminate lag for MAC layer ACKs when going over slow networks (ie Satellite connection). So far the only way I see to do this is to use LORA 1.1 with handover roaming where the Serving Server is integrated on a gateway and will handle the MAC layer and forward application data to the home server. From the backend specifications 1.0 they reference an hNS to sNS protocol for communicating between the two servers. I haven’t been able to find any documentation for this.

Does anyone know if there is a standard for hNS to sNS communications or is it left open?


The passive-roaming / handover-roaming is not yet implemented in LoRa Server, but is specified in the LoRaWAN Backend Interface specification. I’m not 100% sure if this will fully solve your issue, as this might still need a link between the network-servers that have a roaming agreement.

Note that you could install LoRa Server on the gateway already and LoRa App Server in the cloud. This might already solve you issue as LoRa Server handles the MAC layer and LoRa App Server the application layer. Also the downlink queue is stored in LoRa Server.

When LoRa Server receives an uplink frame, then it will handle the communication with LoRa App Server async.

Thanks for the reply. I was looking at installing LoRa Server on the gateway but in my setup I would want this device to work with standard LoRa gateways as well. Having multiple servers would complicate things, I’m not sure how you would get around the DevNonce value used in Join with 1.1 since each server would have a different DevNonce for the device.

I’ve gone over the back end documentation and in principle I understand how the handover roaming would work, but there are no details on the roaming protocol (or I can’t find them). Do you know if there is a spec document for the roaming protocol? Or is that protocol left open for implementation as long as it conforms to what is described in the back end documentation?

In my use case it would be a private network so roaming agreements would be assumed. We would only use roaming to provide connectivity for devices when they hit gateways that are linked to the cloud via slow connections like satellite.

I believe the Backend Interface Specification is all there is with regards to the roaming api / protocol.