Let’s start by clarifying the RX1/RX2 story. After an uplink message, there are two opportunities for sending a downlink message back to the device (RX windows). So at the first window, the device listens for a very short time. If no transmission is detected, the device stops listening and waits for the second window. If a transmission is detected, the device starts receiving it and does not use the second window.
Now, when the gateway receives two uplink messages at the same, it will be able to answer one in the RX1 window and the other in the RX2 window.
However, when a third uplink would also be received at exactly the same time, there is no way to send the corresponding downlink, because the transmitter of the gateway is already busy at the time of the device’s downlink windows.
Even when that third uplink would be received a little bit later, the transmitter of the gateway would still be busy with the other transmissions
So to answer your questions:
- Yes, it can send a join request, and it may be received by the gateway, as multi-channel gateways can indeed receive multiple SFs on the same channel at the same time.
- The third join-accept is not going to be sent because the gateway’s transmitter will already be busy with the other join-accept
- The gateway is available as long as it’s transmitting (plus DutyCycle or tOffAir if applicable). If a downlink transmission can be fit in the “white space” in the picture above, then we can send it just fine
- See above
- It transmits at an exact time, there is no queueing until there is a “free spot”. The only reason we queue on the network side, is because some gateways don’t have enough memory to fit more than one scheduled message.