Class-C downlink queue NOT repeated when ACK false

I am using a Dragino LPS8V2 Gateway with Chirpstack and a Dragino LT-2222-L node in class-C

I need to send a batch of between 0-20 downlinks every 5 minutes, each downlink activates the relay output for 1 second.

It happens that even when sending confirmed Downlinks, they are queued correctly but even if it receives an ACK with a false value, it does not send this same downlink again until it receives confirmation, but instead jumps to the next one.

So if I send 5 packages for the relay to act 5 times, about 3 or 4 are usually received and I lose relay actions.

I have the value “Class-C confirmed downlink timeout (seconds)” at 30sec, so that it has a time to receive the confirmation but chirpstack does not try to send it again, and when the 30 seconds time passes it jumps to sending the next downlink the previous one was lost.

What could be happening? Thanks for your help!

1 Like

As I already commented on your other post, this should be handled by your application, not ChirpStack. Re-transmissions should not use the same fCnt and in case of end-to-end encryption, ChirpStack can not decrypt and encrypt the payload with the new downlink fCnt.

1 Like

Thanks @brocaar This is how I did it, in nodered when a false ACK arrives it resends the downlink

image

1 Like