1 - End Device Activation

This book covers LoRaWAN® end-device activation in depth.

Todo

Add more details

Over-the-Air Activation (OTAA) Device Provisioning

Step 3C: Network Server Sends Join Accept

If the join was accepted, the network server prepares a Join Accept frame containing the fields required to generate the NwkSKey and AppSKey, the join server nonce (JoinNonce), and the join server network identifier (NetID). Additional fields are supplied by the network server and added to the Join Accept: the end device address (DevAddr), the downlink configuration settings (DLSettings), a desired delay between transmission and opening receive windows (RXDelay), and an optional list of network parameters (CFList). In the next step we describe what the end device must do with each field.

The MIC is calculated using the AppKey over the Mac Header (MHDR) and all the fields in the Join Accept frame.

The JoinNonce, NetID, DevAddr, DLSettings, RXDelay, CFList, and MIC are then encrypted using the AppKey as the secret. The output is transmitted as the Join Accept frame, to be handled as explained in the next step.

Note

The join server encrypts the Join Accept using the AES decrypt function in Electronic Code Book (ECB) mode. The end device must therefore run the AES encrypt function in ECB mode on Join Accept, and not the AES decrypt function. This means the end device only requires support for AES encrypt and not AES decrypt. Read more about this in Section 6.2.6, ‘Join-Accept frame’ (page 45) of the TS001-1.0.4 LoRaWAN® L2 1.0.4 Specification.

Warning

If the join was not accepted, then no response is returned to the end device.