Can msg-broker sink type (6) connect to AMQP broker other than rabbit MQ?

• Hardware Platform (Jetson / GPU)
NVIDIA Jetson Xavier AGX

• DeepStream Version
5.0

• JetPack Version (valid for Jetson only)
jetpack 4.4

• TensorRT Version
7.1

• NVIDIA GPU Driver Version (valid for GPU only)
N/A

• Issue Type( questions, new requirements, bugs)
Questions

• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)
run the deepstream-test5, but with a different broker running than rabbitmq.
In my case I am running ActiveMQ v5.16 on my local machine, and the broker has been verified to be up and running properly on the correct ip/port however I am unable to connect.

Hello,

I am trying to see if deepstream supports message broker software’s that implement the AMQP protocol (other than rabbitMQ).

I have successfully set up rabbitMQ , ran deepstream-test4/deepstream-test5 and verified they worked perfectly.
however I need to be using ActiveMQ as my message broker software.

deepstream-test5:(output)

(deepstream-test5-app:11542): GLib-CRITICAL **: 15:01:21.062: g_strchug: assertion 'string != NULL' failed 

(deepstream-test5-app:11542): GLib-CRITICAL **: 15:01:21.062: g_strchomp: assertion 'string != NULL' failed

(deepstream-test5-app:11542): GLib-CRITICAL **: 15:01:21.148: g_strrstr: assertion 'haystack != NULL' failed
** ERROR: <main:1451>: Failed to set pipeline to PAUSED
Quitting
ERROR from sink_sub_bin_sink2: Could not configure supporting library.
Debug info: /dvs/git/dirty/git-master_linux/deepstream/sdk/src/gst-plugins/gst-nvmsgbroker/gstnvmsgbroker.c(388): legacy_gst_nvmsgbroker_start (): /GstPipeline:pipeline/GstBin:sink_sub_bin2/GstNvMsgBroker:sink_sub_bin_sink2:
unable to connect to broker library
ERROR from sink_sub_bin_sink2: GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure.
Debug info: gstbasesink.c(5265): gst_base_sink_change_state (): /GstPipeline:pipeline/GstBin:sink_sub_bin2/GstNvMsgBroker:sink_sub_bin_sink2:
Failed to start
App run failed

cfg_amqp.txt:

#ActiveMQ settings
[message-broker]
password = admin
hostname = localhost
username = admin
port = 61616
exchange = amq.topic
topic = topicname
#share-connection = 1


#Rabbit MQ settings
#[message-broker]
#password = guest
#hostname = localhost
#username = guest
#port = 5672
#exchange = amq.topic
#topic = topicname
##share-connection = 1

test5_config_file_src_infer.txt:

[sink1]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File 4=UDPSink 5=nvoverlaysink 6=MsgConvBroker
type=6
msg-conv-config=dstest5_msgconv_sample_config.txt
#(0): PAYLOAD_DEEPSTREAM - Deepstream schema payload
#(1): PAYLOAD_DEEPSTREAM_MINIMAL - Deepstream schema payload minimal
#(256): PAYLOAD_RESERVED - Reserved type
#(257): PAYLOAD_CUSTOM - Custom schema payload
msg-conv-payload-type=0
msg-broker-proto-lib=/opt/nvidia/deepstream/deepstream-5.0/lib/libnvds_amqp_proto.so
#Provide your msg-broker-conn-str here
##msg-broker-conn-str=;;
##topic=
#Optional:
msg-broker-config=…/…/deepstream-test4/cfg_amqp.txt

any help would be greatly appreciated!
Thanks,

ws

We support rabbitmq, kafka, azure broker, other than these, you need to implement it, using the DeepStream messaging interface, nvds_msgapi, to implement a custom protocol message handler and integrate it with DeepStream applications, we have documentation https://docs.nvidia.com/metropolis/deepstream/dev-guide/index.html#page/DeepStream%20Plugins%20Development%20Guide/deepstream_plugin_details.html#wwpID0E0VN0HA