freeswitch icon indicating copy to clipboard operation
freeswitch copied to clipboard

[mod_amqp] Added xml handler via amqp

Open alexey-khabulyak opened this issue 3 years ago • 3 comments

Added ability to retrieve XML config via mod_amqp

mod_amqp creates one connection for sending requests and multiple connections for retrieving responses(had to do it because librabbitmq-dev doesn't allow to share connection between threads)

When fs needs xml config, it takes a free connection from a pool(or creates a new one) Then it sends a request via main connection and waits for a response via auxiliary connection. After fs receives XML it releases auxiliary connection, so next thread can use it now.

mod adds 3 fields to event: reply_key - unique ID for request. it's used to compare request and response. Client must add this value as a header value. Header name is x-fs-resp-id. reply_queue - a queue, from which fs tries to receive the response. reply_exchange - exchange for routing(routing key = reply_queue)

alexey-khabulyak avatar Jun 15 '22 15:06 alexey-khabulyak

Unit-tests failed: https://public-artifacts.signalwire.cloud/drone/signalwire/freeswitch/522/artifacts.html

signalwire-ci[bot] avatar Jun 15 '22 15:06 signalwire-ci[bot]

Scan-build found bugs: https://public-artifacts.signalwire.cloud/drone/signalwire/freeswitch/522/index.html

signalwire-ci[bot] avatar Jun 15 '22 15:06 signalwire-ci[bot]

Unit-tests failed: https://public-artifacts.signalwire.cloud/drone/signalwire/freeswitch/527/artifacts.html

signalwire-ci[bot] avatar Jun 17 '22 19:06 signalwire-ci[bot]

Unit-tests failed: https://public-artifacts.signalwire.cloud/drone/signalwire/freeswitch/910/artifacts.html

signalwire-ci[bot] avatar Jan 05 '23 21:01 signalwire-ci[bot]

@crienzo i've fixed unit-tests issues, made some code refactoring and added description how it works.

alexey-khabulyak avatar Jan 07 '23 02:01 alexey-khabulyak

Unit-tests failed: https://public-artifacts.signalwire.cloud/drone/signalwire/freeswitch/914/artifacts.html

signalwire-ci[bot] avatar Jan 08 '23 04:01 signalwire-ci[bot]

Unit-tests failed: https://public-artifacts.signalwire.cloud/drone/signalwire/freeswitch/915/artifacts.html

signalwire-ci[bot] avatar Jan 09 '23 05:01 signalwire-ci[bot]

Unit-tests failed: https://public-artifacts.signalwire.cloud/drone/signalwire/freeswitch/1201/artifacts.html

signalwire-ci[bot] avatar May 15 '23 22:05 signalwire-ci[bot]

@crienzo hi! I've fixed all bugs and memory leaks. also, i added description how it works and an example.

alexey-khabulyak avatar May 21 '23 21:05 alexey-khabulyak