LoRaWAN Session Termination/Expiration?

In both OTAA and ABP the node and the server will have a Network Session Key (NwkSKey) and a Application Session Key (AppSKey). Does anyone know when a session ends? When do the keys in OTAA expire? And if so what is the timeout period. I coudn’t find any helpful details about this in the LoRa specs.

Is there any message overheads like HeartBeat messages to keep the session active in OTAA? I’m talking about class A devices here.


1 Like

We currently don’t expire sessions, but might add this in the future.


Does other servers like semtech do that?
So what you mean is that there is no HeartBeat like overhead messages to keep an active session?
Then is there any point of naming them as Session keys?
And Is there no session termination once connected via OTAA?

Thanks again in advance :slight_smile:

@htdvisser If you do decide to add session expiration in the future, can you explain how this would work from a sleeping node standpoint? Specifically, how would the node know that the keys had expired?


We don’t have concrete plans for this yet. When we will build something like this in the future, we will likely do it like this:

  • Devices are registered as “expirable”, but this can also be an “option” that you can switch off
  • When these devices join the network (OTAA) they will receive the appropriate (MAC) settings that configure them to periodically send “keep-alive” messages
  • Devices will be marked as “inactive” only after several months, we’re not talking about days or weeks
  • Devices can mark themselves as “active” by sending a (join/uplink) message (in most cases you’d want to know your device is still working every few months anyway)
  • The application owner will receive a notification before “inactive” devices are cleaned up, allowing them to manually mark the device as “active”