mirror of
https://github.com/resiprocate/resiprocate.git
synced 2026-01-12 00:05:02 +08:00
97 lines
2.4 KiB
Plaintext
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
|