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
From: Knserbrave via sr-users <sr-users@lists.kamailio.org>
Sent: Friday, December 6, 2024 7:11 PM
To: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
Cc: Knserbrave <knserbrave@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?