3 - Receiving Messages

Messages sent from a network server to an end device are referred to as downlinks. These are sent to the end device via a single gateway. If there are multiple gateways near a device, the network server will select the most suitable gateway to broadcast from. This means the end device does not need to consider de-duping.

Devices operating in Class A mode only receive downlinks during the receive windows opened following an uplink, as described in the section Opening Receive Windows of the Sending Messages Book.

Devices that support Class B mode as well as Class A can receive additional downlinks in receive windows opened at fixed time slots. Read more about Class B mode in the Class B Book.

Devices that support Class C mode as well as Class A can receive additional downlinks at any time. Read more in the Class C: Continuously Listening for Downlinks book.

Todo

Fix link

In this book, you learn how to receive and handle downlink packets using the LoRaWAN® 1.0.4 specification.

Handling MAC Commands

Receive Window Timing Request (RXTimingSetupReq)

The network server uses the RXTimingSetupReq command to request a modification of the delay between the end of the uplink transmission and the opening of the first receive window. The request contains the length of the desired delay, between 1 and 15 seconds.

The end device must change its settings to the new delay. The end device must then respond with an RXTimingSetupAns command, as described in section Receive Window Timing Setup Answer (RXTimingSetupAns) of the Sending Messages Book. The RXTimingSetupAns is sent to confirm receipt of the request and does not contain any payload.

Learn more in Section 5.7, ‘Setting Delay between TX and RX’ (page 39) of the LoRaWAN® Link Layer Specification v1.0.4.

Warning

The RXTimingSetupAns command should be sent with every single uplink until a Class A downlink is received back from the network server to avoid connectivity loss.

If your device uses Activation by Personalization (ABP), the settings updated by this command must not be altered when the device is reset, and therefore must be stored in non-volatile memory (NVM).

Read more in section Handling Commands That Modify Downlink Parameters.