What is it?
The Join Server is the LoRaWAN® network’s component responsible for the join flow, spanning the authentication of the Network Server (which enables connectivity, management, and monitoring of devices, gateways, and end-user apps) and that of the Application Server (to which apps can connect), as well as session key generation.
How does it work?
The functionality of the Join Server embraces receiving join requests from the Network Server and granting join accepts to registered devices. If a join request is accepted, the Join Server creates a session security context. It contains session keys and gets identified by a session key ID. The Join Server encrypts the network and application session keys with the help of key encryption keys (KEKs). Respectively, KEKs are shared by the Network Server and Application Server.
The service associated with the registration and management of end devices is called JsEndDeviceRegistry. Common examples of JsEndDeviceRegistry clients include user interfaces like Console and Command-Line Interface (CLI).