Files
resiprocate/README_AMQP_Apache_Qpid_Proton.txt

97 lines
2.4 KiB
Plaintext

We have started introducing support for AMQP messaging.
AMQP allows us to send notifications about events to other
applications on topics and to receive notifications and commands
over queues.
Maintainer
----------
Daniel Pocock
daniel@pocock.pro
https://softwarefreedom.institute
Dependencies
------------
Apache Qpid Proton C++
Version tested: 0.22.0
License: Apache 2.0
Apache Qpid Proton Python (optional, for testing)
Version tested: 0.22.0
RabbitMQ (optional, can use other brokers too)
Version tested: 3.8.9
Installing dependencies and compiling reSIProcate with Qpid Proton
------------------------------------------------------------------
Debian / Ubuntu:
sudo apt install \
libqpid-proton11-dev \
libqpid-proton-cpp11-dev
./configure ... --with-qpid-proton ...
RPM:
sudo dnf install qpid-proton-cpp-devel
./configure ... --with-qpid-proton ...
Installing and configuring RabbitMQ
-----------------------------------
Debian / Ubuntu:
sudo apt install rabbitmq-server
sudo rabbitmq-plugins enable rabbitmq_amqp1_0
sudo systemctl restart rabbitmq-server
RPM:
sudo dnf install rabbitmq-server
sudo rabbitmq-plugins enable rabbitmq_amqp1_0
sudo systemctl restart rabbitmq-server
Installing and using the Python command line utilities
------------------------------------------------------
Debian / Ubuntu:
sudo apt install python3-qpid-proton
RPM:
sudo dnf install python-qpid
Example sending a JSON command to reConServer:
Uncomment the BrokerURL in reConServer.config or any of the other
reSIProcate applications, repro.config, registrationAgent.config, ...
BrokerURL = amqp://localhost:5672//queue/sip.reconserver.cmd
(re)start the reConServer
Send the command:
./tools/send-cmd.py \
-a localhost:5672/sip.reconserver.cmd \
-m '{"command":"inviteToRoom","arguments":{"destination":"sip:cisco@10.1.2.3?transport=tcp","room":"room1"}}'
Example receiving messages from the reConServer queue or topic:
Uncomment the EventTopicURL in reConServer.config or any of the other
reSIProcate applications, repro.config, registrationAgent.config, ...
EventTopicURL = amqp://localhost:5672//queue/sip.reconserver.events
(re)start the reConServer
Run the utility in the console, messages appear on stdout:
./tools/monitor-amqp-queue-topic.py \
-a localhost:5672//queue/sip.reconserver.events