Same ping slot scheduling conflict for Class B devices

Hello, I am struggling to understand what happens if a Network Server has to send a new downlink message to 2 different Class B devices that share the same ping slot with the same gateway. I know that it’s unlikely that this situation happens (due to the randomness of the ping offset), but I am running some scheduling simulations for Class B and I need to take this into account. I couldn’t find a precise description in the specification or the forums.

I am not sure if it is handled with the FPending mechanism described in the specification (for prioritizing ping slots) or in a similar way to what it’s described in this post (which doesn’t mention anything about FPending), by rejecting one downlink packet (Gateway Downlink Queue Management with V3 and Packet Broker). But:

a) Which of the two downlink packets will it reject? Is it deterministic?
b) And since there is only one gateway involved in my question, will the Network Server then wait for the next ping slot to retransmit it? Or it will depend on the Application to decide what to do with the rejected packet?


There are many niche edge cases that the specifications don’t address which is down to the implementer.

You may want to look at how the Big Brains of the TTI development crew have implemented it in the source code - available on GitHub.