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?