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-m…
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<https://gilawa.com/>
From: Daniel Donoghue via sr-users <sr-users(a)lists.kamailio.org>
Sent: Montag, 16. September 2024 09:36
To: sr-users(a)lists.kamailio.org
Cc: Daniel Donoghue <oneofsomany(a)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