I’m currently developing an application using EG25-G modules, using the built in MQTT commands. I am currently testing the error handling parts of my application and have found something that looks like a bug in the response provided to a AT+QMTPUBEX message when the message can’t be delivered.
To test this, I am:
- starting my application
- allowing it to connect to my MQTT broker
- subscribing to some topics
- publishing some initial data. (this is successful)
Then, after a short time I am:
- disconnecting my broker from the internet (pulling the ethernet cable out of the machine running it) to force a transmission failure on my device.
- waiting a few seconds
- getting my device to try and publish some more data (QoS = 1)
As expected, the publishing fails and I get responses indicating retry attempts (result=1, value=1), (result=1, value=2), (result=1, value=3). However, despite the message id in the publish request being > 0, the message id in these responses is always == 0, therefore it is not possible to match up these responses with the message that failed to be published.
Could you please let me know if this is expected behaviour ? or if the message id should match that of the publish request ?