Hello,

I am using rtpengine to encrypt and decrypt DTLS and SDES audio streams for my calls. I have a set of rtpengine instances running, configured using a database, such that it is easy to scale up on demand. This works well for initiating a call and balancing load across multiple instances but I want to be able to recover from rtpengine failure. 

I have looked at configuring rtpengine with a redis service but do not believe that to be helpful in this case as im using encrypted media and because the configuration of rtpengine with redis has a lot of overheads, limits scaling and requires non standard configuration of a redis cluster.

I would like to be able to re-anchor media streams instead of relying on rtpengine to synchronise itself across a redis cluster. For this to work, i believe i would have to use the uac module to send a reINVITE and I speculate that i would need to use an xhttp event to trigger this remotely when a failure is detected.

I am unclear, though, how to get to a specific call within kamailio from the xhttp route in order to do anything to it, if i even need to, and i am nuclear how to make the rtpengine module select a new node for sdp for the reinvite?

How can i achieve my goal?

Perhaps it would be possible to modify the rtpengine module itself to support generating a reinvite and selecting a new node on receipt of an rpc request?

Hoping someone can help me find a way forward

With every blessing,
Daniel