Are ACK's required?

I am working with the Rak 4631 dev kit. We have built a C# home rolled MQTT Server, Subscriber and Publisher that can use both the TTN network and the Helium Network.

I understand in most instances when working with LoRa, UNCONFIRMED packets should primarily be used. I understand that these packets just get sent without any requirement for an acknowledgment.

lmh_confirm g_CurrentUnConfirm = LMH_UNCONFIRMED_MSG;

My questions are:

  1. Do Join requests need to be acknowledged by the MQTT Server? If so, I assume it needs a receive a base64 message back. Is there a particular json string than needs to be sent back?

  2. Do packets sent using LMH_CONFIRMED_MSG need to be acknowledged by the MQTT Server? If so, I assume it needs a receive a base64 message back. Is there a particular json string than needs to be sent back?

Is the WisBlock able to allow a programmer to switch from an UNCONFIRMED packet to a CONFIRMED (that needs an ACK) (every hour/4 hours) to make sure the Server has received messages / is alive?

I’ve been searching and will continue to search for this but the info seems rather sparse / vague / hard to find regarding Helium/MQTT. I will keep on searching and testing this but thought your folks could point me in toe right direction to some documentation somewhere and/or examples?

Thanks folk!

Confirmed traffic acks and join accepts originate from the LoRaWAN server stack - in your case, one hosted by either TTN or Helium, rather than any system of yours.

They do not indicate that the data has actually made it through to your data consumer.

A strong argument could be made that instead of using the LoRaWAN confirmed traffic mechanism (which has some design quirks) you should instead occasionally at long intervals enqueue a custom application-level downlink. This both lets you control the particular behavior desired, and indicates that there’s connection through your actual custom data consumer, rather than just to the LoRaWAN server.

TTN and Helium documentation will explain how to enque downlinks in their respective systems.

1 Like

Thank you @cstratton for your reply. The alternate strategy you propose makes a lot of sense. I will investigate this further. Have a nice day.