Tenants, Gateways public and private

Hi everyone,
supposing in an area there are communities, consumers and farms, and requirements for devices are like below:

  • Some Devices of Consumer 1 can use only a private gateway (ie installed in his house) but Consumer 1 can access to public gateways owned by communities for example by using devices to track their animals.
  • Devices of Communities are used for public services and gateways that they own can be used to garantee join consumer’s devices
  • Farms use their own gateways and devices that join only thanks to their gateways. Those devices cannot join public gateways

All of that above how can be traslate on chirpstack with tenants e configurations?

Thank you,

This is not very compatible with how LoRa gateways generally work. Normally, every node/gateway transmits and everything in range would be able to receive a copy of the transmission. The messages are passed to the LoRa Network Server (LNS), which then decides whether it can (has the correct session keys) and has anything to do with them.

Some gateway packet forwarders have features for filtering messages from devices, to avoid passing the messages to the LNS. I believe that the most clear-cut method is to use different JoinEUI/AppEUI, but asking your users to use devices with specific EUIs may not be possible.

Regardless of whatever sort of filtering you use in the LoRa gateway, please note that this sort of filtering can only save on backhaul traffic; unless you use different channels between the different zones (perhaps with variations of the LoRa channel plan), every transmission is still done within the same frequency spectrum.

Thank you for the reply.
So how can I manage the third case, that is private farms in order to avoid sharing gateways: should I use another instance of LNS? If it is that the case I still don’t understand well the usage of have different tenants

Thank you, Paolo

Personally, I don’t think you need a 2nd LNS. What would that help you accomplish, that a single LNS cannot?

You need to determine what exactly cannot be shared. Are they not allowed to share:

  1. The channels? You can somewhat make channels exclusive by giving the different groups of gateways and devices, different extra channels. Note that they will still share the common channels, which will make up the minority.
  2. The backhaul connection? Filtering at the gateway should help.
  3. Not see each other’s devices? This can be done by creating different tenants in Chirpstack.

But why wouldn’t you allow them to share the gateways? The more gateways you have, the greater the redundancy and coverage. Even if the gateway isn’t the nearest, it can still help. This benefit goes both ways, for both the intended groups of users and not.

Oh, thank you. Now I undestand better . Not clear point 2, how to filter at the gateway, you mean some kind of setup ( even channel) inside the gateway?

I am referring to a packet filtering functionality. Some gateways can determine on their own, whether the messages should be ignored or not. The exact things that can be done, depend on the capabilities of the gateway.
I have seen that Kerlink allows filtering by JoinEUI, DevAddr, NetID etc. But not all gateways allow this to be done.

I was thinking, that such functions could be used to prevent the gateway from forwarding messages from certain devices, over the backhaul link.

Please note that as long as the devices share the same channels, all gateways in range do receive a copy. The difference would be whether the gateway decides to forward the packet or not.
The time frame during which the device is on air, may be unavailable for another transmission on the same datarate and channel.

So as you can tell, it is perhaps useful if you wanted to somehow prevent the backhaul links behind certain groups of gateways from being used by certain groups of devices. But the channels are still shared, subject to collisions etc.