When sending a MQTT Version 5.0 message the UAMessageType property shall be set to uadata for data messages or ua-metadata for metadata messages.
A JSON body is encoded as defined for the JSON message mapping defined in 126.96.36.199.4.7.
When sending a MQTT Version 5.0 message the MQTT ContentType property shall be set to application/json when sending uncompressed JSON messages.
JSON messages can become quite large. In order to save bandwidth and to reduce message size, on MQTT Version 5.0 the MQTT ContentType property allows to select a compression type as encoding for a JSON message.
When sending a gzip (RFC 1952) compressed JSON message on MQTT Version 5.0 the MQTT ContentType property shall be set to application/json+gzip.
A UADP body is encoded as defined for the UADP message mapping defined in 7.2.2.
It is expected that the software used to receive UADP NetworkMessage can process the body without needing to know how it was transported.
If the encoded MQTT message size exceeds the Broker limits, it is broken into multiple chunks as described in 188.8.131.52.4.
When sending such message over MQTT Version 5.0 the ContentType property shall be set to application/opcua+uadp.
It is recommended that the MetaDataQueueName as described in 184.108.40.206.5 is configured as a sub-topic of the related QueueName with the name “$Metadata”. The MQTT RETAIN flag shall be set for metadata messages.