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?