I’m trying to enable the AMQP application integration for my chirpstack server.
I’ve got the following setup:
- Chirpstack and RabbitMQ on a single host
- A certificate for
chirpstack.example.com
on192.168.0.1
- RabbitMQ:
- AMQPs on
192.168.0.1:8885
(with TLS) - AMQP on
192.168.0.1:8884
- A vHost called
chirp
- A user
chirpstack
with passwordchirppass
. - All permissions for user
chirpstack
set to.*
- AMQPs on
In my chirpstack.toml
config, I have the following section:
# Global integration related configuration.
[integration]
# Enabled integrations (global).
enabled = [
"amqp",
]
# AMQP / RabbitMQ integration configuration.
[integration.amqp]
# Server URL.
#
# See for a specification of all the possible options:
# https://www.rabbitmq.com/uri-spec.html
url="amqps://chirpstack:chirppass@chirpstack.example.com:8885/chirp"
# Event routing key.
#
# This is the event routing-key template used when publishing device
# events. Messages will be published to the "amq.topic" exchange.
event_routing_key="application.{{application_id}}.device.{{dev_eui}}.event.{{event}}"
# Use JSON encoding instead of Protobuf (binary).
json=true
When I comment out "amqp"
in integration.enabled
, chirpstack starts (without the AMQP integration).
When I include it, I get the following error from Chirpstack:
INFO chirpstack::integration::amqp: Initializing AMQP integration
INFO chirpstack::integration::amqp: (Re)connecting to AMQP broker
Error: Setup AMQP integration
Caused by:
0: failed to parse: Parsing Error: ParserErrors { error: Nom(MapOpt), errors: None }
1: Parsing Error: ParserErrors { error: Nom(MapOpt), errors: None }
…and on RabbitMQ, I get the following:
TLS server: In state start at tls_record.erl:557 generated SERVER ALERT: Fatal - Unexpected Message
- {unsupported_record_type,65}
Now, if I try this without TLS (amqp://...
and port 8884
) it works. I’m just curious if there’s a way to use TLS as well.