Azure IoT: MQTT: Cloud-to-device messages are delayed until client communicates

Sebastiaan Merckx 0 Reputation points
2025-03-27T10:52:58.3866667+00:00

I'm using the Azure IOT Hub Mqtt SDK for Zephyr on nordics NRF9151. The MQTT connection is set up over LTE-M.

I can publish messages (D2C and twin updates).

However, C2D messages and twin-desired properties are not communicated to the device, until the device initiates some MQTT interaction (publish or MQTT-ping). I assume that the C2D messages are stuck somewhere in the cloud service, I don't know why they are only received when the device performs an MQTT interaction.

The device is connected from the start (at which point we also receive the device twin). This issue is very reproducible. I can't think of an MQTT setting that would influence this behavior, so that's why I'm thinking it's a cloud issue.

0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Sebastiaan Merckx 0 Reputation points
    2025-03-27T12:59:18.0133333+00:00

    Eventually, this issue was due to an LTE-M low-power setting (eDRX) that was activated and it results in gaps in communication. Communication is resumed when the device wants to transmit data.

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.