Reference16r1:Concept App MQTT Broker

From innovaphone wiki
Jump to navigation Jump to search
FIXME: This product is in the beta phase and is not yet finished

Applies To

  • innovaphone System (PBX/AP) from version 16r1 upwards

Requirements

  • innovaphone PBX
  • innovaphone AppPlatform
  • innovaphone myApps
  • MQTT-capable client devices or applications

Licensing

This product requires no licensing.

Concept

The MQTT Broker app provides a standards-compliant MQTT-message-broker running as an App Service on the innovaphone App Platform. It allows MQTT-clients such as IoT devices, sensors, or custom applications to exchange messages using the publish/subscribe pattern. Supported MQTT versions include 3.1.1 and 5.0.


How it works

MQTT clients connect to the broker using the standard MQTT protocol over TCP (port 1883) or encrypted via TLS (port 8883). Clients can publish messages to topics and subscribe to topics to receive messages from other clients. The broker routes published messages to all subscribers of the respective topic.

Authentication is handled via username and password credentials configured in the broker settings. Access control lists (ACLs) can be used to restrict which clients are allowed to publish or subscribe to specific topics.

The broker supports persistent sessions and retained messages. Quality of Service (QoS) levels 0, 1, and 2 are supported, allowing clients to choose between fire-and-forget, at-least-once, and exactly-once message delivery semantics.

Connection to third-party MQTT-brokers is also supported via the Bridge functionality, which allows the innovaphone broker to connect as a client.


Apps

App (innovaphone-mqtt)

The app provides the following configuration and monitoring capabilities:

Overview

Real-time monitoring of incoming messages and currently connected MQTT clients.

Security

Authentication via JWT or username/password can be configured. Specific MQTT clients and topics can be restricted or granted access via Access Control List (ACL).

Configuration

The protocol and port used for MQTT packet transport can be configured here. To connect to an external MQTT broker (innovaphone or 3rd-party), the required connection details can be entered via Add Bridge.


Install

  • Install the MQTT Broker via the App Installer Settings plugin.
  • Create a new PBX Object for the MQTT Broker with the Settings Plugin of the MQTT Broker app.
    • Configure a name and SIPid.

Set up

After the initial installation, the broker listens to AppPlatform-IP:1883
If any changes are needed, they should be done in the Configuration and Security sections of the app.

Troubleshooting

If problems occur, please send a log of the app service. Before reproducing the issue, delete the current contents of the log. The following trace flags should be enabled:

  • App
  • TCP/TLS
  • DB

Known issues

Related Articles