Hello,
so, you are saying that the connection handling behaviour of Kamailio with rtpengine
changes, if you are using database mode compared to not using the database?
I’ve might missed some side-effects, but I think that using rtpengine_manage() should not
affect the handling of Websocket connection (or in fact any other connection) operation
that Kamailio is doing on the SIP level.
The rtpengine_manage() should affect the SDP content of the SIP message body only.
Can you reproduce this behaviour?
Cheers,
Henning
--
Henning Westerholt –
https://skalatan.de/blog/
Kamailio services –
https://gilawa.com<https://gilawa.com/>
From: Knserbrave via sr-users <sr-users(a)lists.kamailio.org>
Sent: Friday, December 6, 2024 7:11 PM
To: Kamailio (SER) - Users Mailing List <sr-users(a)lists.kamailio.org>
Cc: Knserbrave <knserbrave(a)gmail.com>
Subject: [SR-Users] WS and rtpengine_manage
Hi Kamailio Community,
When testing rtpengine_manage and websockets, I noticed that if the rtpengine table in the
database is not used, a new websocket is created for every call for a given dialog. That
is, when an INVITE is received, an offer is sent to rtpengine. When the 200 OK or 18[3|0]
is received, an answer is sent. However, the WS identifier often changes and as a result
the request is not sent over the same websocket. This is problematic particularly when
using FQDNs in the Kamailio configuration.
When a load balancer is used between Kamailio and rtpengine, the answer may arrive at a
different rtpengine in the cluster.
After tracing through the source, I could not find a configuration parameter or set of
triggers that I could manipulate to fix this. It leads me to believe it is only possible
to reuse the websocket when the rtpengine table is used.
Does anybody have more experience than I in this area that may be able to point me in the
right direction, making load balancers for rtpengine_manage calls possible?