MQTT-SN Messages

Thingstream MQTT Anywhere plans use the MQTT-SN protocol to communicate and pass data and status between a device and the Thingstream broker.

Each MQTT-SN message sent between a device and the broker uses one message from the plan allowance, with the exception of PUBLISH type messages.

PUBLISH type messages consume from the message block depending on the payload size of the message. For every 1K (1024 bytes) of payload (rounded up), one message is consumed from the block.

The list of supported MQTT-SN message types is found in the table below:

MQTT-SN message types

  • CONNECT

  • CONNACK

  • REGISTER

  • REGACK

  • PUBLISH QoS -1

  • PUBLISH QoS 0

  • PUBLISH QoS 1

  • PUBLISH QoS 2

  • PUBACK

  • PUBREC

  • PUBREL

  • PUBCOMP

  • SUBSCRIBE

  • SUBACK

  • UNSUBSCRIBE

  • UNSUBACK

  • PINGREQ

  • PINGRESP

  • DISCONNECT

For example, a device might wish to wake up periodically, connect to the broker, publish some data to a topic at quality of service 1 and then disconnect. This set of actions would consume 6 messages (CONNECT, CONNACK, PUBLISH, PUBACK, DISCONNECT (device to broker), and DISCONNECT (broker to device)) from the plan allowance. Messages will be billed on last byte sent from the server.

Still need help?

If you need more help or have any questions, please send an email to support@thingstream.io.