Hello,

 

Kamailio does not provide B2BUA functionality which would be needed for this to work. There are some modules that implement some functionality in this area, like the rtp_media_server module, you can have a look there. Have a look at this old discussion for more details: https://sr-users.sip-router.narkive.com/BWdc8gsd/kamailio-users-re-invite-mid-call

 

If you want to do a re-invite on a call, usually you should rely on a B2BUA component in your architecture.

 

As you are having issues scaling rtpengine, maybe it makes sense to concentrate on this topic. Some people are using something like keydb which provides an easier scaling for this particular NoSQL storage.

 

Cheers,

 

Henning

 

--

Henning Westerholt – https://skalatan.de/blog/

Kamailio services – https://gilawa.com

 

From: Daniel Donoghue via sr-users <sr-users@lists.kamailio.org>
Sent: Montag, 16. September 2024 09:36
To: sr-users@lists.kamailio.org
Cc: Daniel Donoghue <oneofsomany@hotmail.com>
Subject: [SR-Users] rtpengine module

 

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