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?