Direct and indirect transmission
There are two methods to transmit data:
- Direct transmission: data is transmitted immediately to the Destination Address
- Indirect transmission: a packet is retained for a period of time and is only transmitted after the destination device (source address = destination address) requests the data.
Indirect transmissions can only occur on a device configured to be an indirect messaging coordinator. Indirect transmissions are useful to ensure packet delivery to a sleeping device. Indirect messaging allows messages to reliably be sent asynchronously to sleeping end devices, or operate like an incoming mailbox for a P2P network. A TX request can be made when the end device is sleeping and unable to receive RF data, and instead of being immediately send to an inoperative device, the packet is queued by the indirect messaging coordinator until the end device wakes or polls it for data.
Note that indirect messaging works best with association and end devices cyclically sleeping, but can be used in a P2P configuration by setting CE (Device Role) to 1 on the device that you want to hold the indirect messages and configuring the other device to poll correctly. In the context of indirect messaging, an end device refers not just to a device with A1 (End Device Association) set to associate but the target of an indirect message. Similarly, an indirect messaging coordinator does not have to allow association (A2 (Coordinator Association)) to send messages indirectly.