Edit the Gateway (packet forwarder) to forward packets conditionally

Hello everyone,

I am new to ChirpStack, and want to know if it is possible (and what I need to do) to add extra logic in the Gateway so that it forwards the packets to the Gateway-bridge on certain conditions, depending on some conditions such as number of messages from a certain node (could also be the message itself). The idea is to customise the forwarding process to match my needs.

If it is not possible to do this in the packet-forwarder, then how about other components that can reside in the gateway (i.e Gateway-bridge, MQTT broker, network app etc.).

Thanks in advance!

You might want to have a look at the LoRaWAN Spec. The payload is encrypted and the gateway never sees the plain payload. There are other “meta” information in the header which you might use to do some routing (network_id for example), but the logic you probably want to implement will need a fork/mod of the current gw-bridge code. (It’s on github)

2 Likes

Thank you @chopmann for your reply. Yes, you are right, I have come across this and apparently encryption is an obstacle to implement this in a straight forward way.

My aim now is modify the gateway bridge to re-route messages (without understanding the messages) to multiple mqtt brokers (other than just the one talking to the network server), and if possible block those going to the network server at times. So I can create a logic that controls where messages go, to network server, other mqtt brokers or both.

Thanks!