baresip/modules/mqtt
2026-03-04 12:56:28 +01:00
..
CMakeLists.txt cmake: refactor module detection (#2875) 2024-01-13 08:45:17 +01:00
mqtt.c misc: cppcheck fixes (#3007) 2024-04-20 11:46:47 +02:00
mqtt.h misc: fd_listen fhs alloc rewrite (#2688) 2023-09-18 10:09:28 +02:00
publish.c bevent: rename bevent_odict_encode() and add to test (#3665) 2026-03-04 12:56:28 +01:00
README.md added MQTT example with peerdisplayname (#953) 2020-04-03 16:18:02 +02:00
subscribe.c mqtt/subscribe: use safe odict_string to prevent crashes 2021-07-15 11:41:43 +02:00

README

This module implements an MQTT (Message Queue Telemetry Transport) client for publishing and subscribing to topics.

The module is using libmosquitto. All messages are encoded in JSON format.

Starting the MQTT broker:

$ /usr/local/sbin/mosquitto -v

Subscribing to all topics:

$ mosquitto_sub -v -t /baresip/#

Publishing to the topic:

$ mosquitto_pub -t /baresip/xxx -m foo=42

Topic patterns

(Outgoing direction is from baresip mqtt module to broker, incoming direction is from broker to baresip mqtt module)

  • /baresip/event Outgoing events from ua_event
  • /baresip/command Incoming long command request
  • /baresip/command_resp Outgoing long command response

Examples

/baresip/event {"type":"REGISTERING","class":"register","accountaor":"sip:aeh@iptel.org"}
/baresip/event {"type":"REGISTER_OK","class":"register","accountaor":"sip:aeh@iptel.org","param":"200 OK"}
/baresip/event {"type":"SHUTDOWN","class":"application","accountaor":"sip:aeh@iptel.org"}
mosquitto_pub -t /baresip/command/ -m '{"command":"sysinfo"}'

/baresip/command {"command":"dial","params":"music","token":"123"}
/baresip/command_resp/123 (null)

Outgoing call

/baresip/event {"type":"CALL_ESTABLISHED","class":"call","accountaor":"sip:aeh@iptel.org","direction":"outgoing","peeruri":"sip:music@iptel.org","id":"4d758140c42c5d55","param":"sip:music@iptel.org"}
/baresip/event {"type":"CALL_CLOSED","class":"call","accountaor":"sip:aeh@iptel.org","direction":"outgoing","peeruri":"sip:music@iptel.org","id":"4d758140c42c5d55","param":"Connection reset by user"}

Incoming call

/baresip/event {"type":"CALL_ESTABLISHED","class":"call","accountaor":"sip:aeh@iptel.org","direction":"incoming","peeruri":"sip:music@iptel.org", "peerdisplayname":"MUSIC IP-TEL", "id":"4d758140c42c5d55","param":"sip:aeh@iptel.org"}
/baresip/event {"type":"CALL_CLOSED","class":"call","accountaor":"sip:aeh@iptel.org","direction":"outgoing","peeruri":"sip:music@iptel.org","id":"4d758140c42c5d55","param":"Connection reset by user"}