MQTT is one of the major standardized IoT messaging protocols and some part of FESTIVAL platform also adopts MQTT to federate existing testbeds including sensors and software components. MQTT has many implementations and sometimes the detailed behavior may be different from each other because developers’ interpretation of the standard is different. In order to understand the difference and avoid the issues caused by the difference in the future extension of the platform, it is needed to investigate the interoperability of the implementations.

In this event, the FESTIVAL partners looked into the interoperability of MQTT protocol implementations used in the FESTIVAL platform and several other implementations which might be introduced. 17 persons from 13 organizations attended the event with remote participation from EU partners via GoToMeeting bridge. 7 MQTT client libraries and 4 MQTT broker implementations were tested. 6 test sessions were scheduled with different combination of broker-client. 8 test sessions were finally performed as the time slot for some combinations was quite large. 16 tests have been proposed for each test session. According to different MQTT client and broker implementation, reconnection implementation is found to be important for satisfying QoS properties. Some broker implementations cannot identify the same client by the client id, as a result, the client cannot receive resent messages. Some client implementations do not support reconnection and when keep alive timeout occurs, it just raises an exception, as a result, it also cannot receive resent messages. In summary, 32.8% of tests passed, 4.7% of tests failed, and 62.5% of tests were not able to be executed.

The results give us a valuable reference to debug the current product, to detect some unknown behavior of the product, and to improve the product in the future.