Hi,
would there be anybody we could pay to make the suggested change? We at
sipgate support projects like Kamailio and could sponsor such a fix.
Thanks
Christian
Am 21.10.24 um 10:44 schrieb Stefan Mititelu:
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
>
--
Christian Berger - berger(a)sipgate.de
Telefon: +49 (0)211-63 55 55-0
Telefax: +49 (0)211-63 55 55-22
sipgate GmbH - Gladbacher Str. 74 - 40219 Düsseldorf
HRB Düsseldorf 39841 - Geschäftsführer: Thilo Salmon, Tim Mois
Steuernummer: 106/5724/7147, Umsatzsteuer-ID: DE219349391