Hello Stefan, we will look into adding a timer-based approach of detecting offline rtpengine servers.
Cheers, Henning > -----Original Message----- > From: Stefan Mititelu via sr-dev <sr-dev@lists.kamailio.org> > Sent: Montag, 21. Oktober 2024 10:44 > To: Kamailio (SER) - Development Mailing List <sr-dev@lists.kamailio.org> > Cc: Christian Berger <ber...@sipgate.de>; Stefan Mititelu > <stefan.mitit...@govoip.ro> > Subject: [sr-dev] Re: rtpengine module: Question about re-enabling nodes > > Hi, > > Yes this is how currently rtpengine module re-detect rtpengines: during SIP > routing processing. (e.g. rtpengine_manage()) > > Yes, lowering "rtpengine_tout_ms" will make rtpp_test() C code function take > shorter time => rtpengine_manage() will take shorter time. > > Also disabling "aggressive_redetection" modparam helps alot in case when no > rtpengines available at all. Thus, redetection of unavailable rtpengine nodes > is > tried only when their time comes, based on "rtpengine_disable_tout" > modparam. Right now, if no rtpengines available at all, and aggressive > redetection is enabled(by default), redetection happens for each new SIP > message, independent of "rtpengine_disable_tout" modparam. So delays SIP > routing alot. (PR: > https://github.com/kamailio/kamailio/pull/3992) > > This way of detecting rtpengine has, of course, both pros and cons. > > I've been thinking of adding another behavior of this node re-detection in > code, guarded via new modparam: expose an rtpengine_ping() config function > and call it from rtimer. And rtpengine_manage() function will just check if > any > nodes available, but not ping them anymore. => not sure how much time have > for it though. > > Thanks, > Stefan > > On 10/21/24 11:16, Christian Berger via sr-dev wrote: > > Hi, > > > > we had strange behavior with kamailio when some rtpengines were > > unreachable, so we looked into the the source code and found this in > > select_rtpp_node_new(): > > > > 3323 /* Try to enable if it's time to try. */ > > 3324 if(node->rn_disabled && node->rn_recheck_ticks <= get_ticks()) { > > 3325 node->rn_disabled = rtpp_test(node, 1, 0); > > 3326 } > > > > Does this mean that a ping will be done during rtpengine manage? > > Is this wise? I mean there are dedicated pings in the background. > > Doing this in rtpengine manage will only periodically delay the > > processing of a SIP message. We fear that in high traffic situations > > this could occupy all threads. Is this a bug? > > > > As a workaround we think setting rtpengine_tout_ms to a lower value > > might help as it shortens the amount of time the module delays the > > processing of the SIP message. > > > > > > What do you think? > > > > Best wishes > > Christian Berger > > > _______________________________________________ > Kamailio (SER) - Development Mailing List To unsubscribe send an email to sr- > dev-le...@lists.kamailio.org _______________________________________________ Kamailio (SER) - Development Mailing List To unsubscribe send an email to sr-dev-le...@lists.kamailio.org