Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: make LWT Retain flag optional, Azure event grid compatibility #59

Open
fenax opened this issue Oct 3, 2024 · 2 comments
Open

Comments

@fenax
Copy link

fenax commented Oct 3, 2024

Hello,

We would like to use chirpstack-mqtt-forwarder with Azure Event Grid as our MQTT broker.

Azure Event Grid does not support the retain flag (yet) but chirpstack-mqtt-forwarder uses it on the LWT message.

Would it be possible to make the use of the retain flag configurable ?

If I were to submit a pull request for it, would it be accepted ?

Thanks.

@brocaar
Copy link
Contributor

brocaar commented Oct 4, 2024

Are you sure the LWT is supported at all at the moment?

MQTT broker is adding more MQTT v5 features in the future to align more with the MQTT specifications. The following items detail the current differences between features supported by MQTT broker and the MQTT v5 specifications: Will message, Retain flag, Message ordering, and QoS 2 aren't supported.

https://learn.microsoft.com/en-us/azure/event-grid/mqtt-overview


In general, I would like to avoid adding code to support MQTT brokers that do not fully implement the MQTT(v5) spec. Have you tried what happened when you connect the MQTT Forwarder? Maybe it is just ignoring the retained flag?

@fenax
Copy link
Author

fenax commented Oct 9, 2024

Sadly no, the broker closes the connection when it receives the CONNECT message with the will retain enabled as described in the MQTT standard [MQTT-3.2.2-13]

LWT is supported https://learn.microsoft.com/en-us/azure/event-grid/mqtt-support

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants