As per my understanding, the LoRa endnode sends the Join request to the gateway and gateway responds with the Join accept if it finds the device genuine.
The question is, after joining a network, does the device always check if it is in the network or not before sending a message? If yes, then how does the device do that? and how does the device know if it is not in the network now and sends another join request??
Any response is appreciated.
That is a very good question !
Basically the Join procedure allow to exchange keys. Once the device has the keys, it doesn’t need to join the network again. All the logic is handled by the LNS that accept or not each single frame after the initial Join.
It then depends on the device software design to manage optional rejoin, but it is not recommended for battery and security concerns.
For detailed explanation I would recommend to check the LoRaWAN Specification.
Thanks for the prompt response.
The point is, in non-confirmation mode anyways the device is not going to receive any acknowledgement from the gateway if the data is received or not.
In case when device was able to join the network successfully but after few days lets say device is not in the network now. How the device would know in this situation that it should send a rejoin request? Or will it just keep on transmitting the data forever without knowing that it is not in the network?
Thanks & Regards,