I should add it does not matter if I used the rtpengine database table or use a socket config in the Kamailio configuration. A new websocket is created for every request.
On Wed, Jan 8, 2025 at 12:27 PM Knserbrave <[email protected]> wrote: > I simplified my Kamailio configuration to have a statically defined socket > to ws://<RFC 1918 addr>:12211 > > I then captured PCAP using tcpdump on my media proxy with rtpengine and > found a new websocket is created for the offer, answer, and delete. > > To answer the first question, we would like to use websocket to ensure the > offer, answer, and delete all go to the same media proxy node for a given > dialog. The idea was if we were to use a network load balancer, we could > anchor the path to a single media proxy for the life of the websocket. > > However, since a new websocket is created for every offer, answer, and > delete message, it's no different than using UDP. > > I'm not quite sure why websocket is even a viable transport for rtpengine > if a new websocket is created for every request. I suspect I am missing > configuration that would achieve the functionality I seek. > > On Wed, Jan 8, 2025 at 11:50 AM Knserbrave <[email protected]> wrote: > >> I failed to link this to the original post. So I'll begin anew. Here was >> my post. >> >> 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? >> >> >> >> >> Alex then responded with >> >> Hi, Without wishing to dismiss the salience of your problem: do you >> actually need WS? >> >> >> >> >> >> >> >> >> >> Henning then responded with >> >> >> 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 >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> I would like to continue this. I'll detall more in my next post. >> >> On Wed, Jan 8, 2025 at 11:47 AM Knserbrave <[email protected]> wrote: >> >>> test >>> >>
__________________________________________________________ Kamailio - Users Mailing List - Non Commercial Discussions -- [email protected] To unsubscribe send an email to [email protected] Important: keep the mailing list in the recipients, do not reply only to the sender!
