Dear all

since version 4.4 we are using this parameter to 1 to allow that ongoing calls process their messages through a particular rtpengine when disabling it manually from database.
But we see that enabling it also makes all the messages select the rtpengine and attempt to send its own op command. This is causing an impact in cases where the rtpengine crashes (luckily not so often).

We have been doing some tests, and with this change

 diff --git a/src/modules/rtpengine/rtpengine.c b/src/modules/rtpengine/rtpengine.c
index 20df725d2e..2f6130c62a 100644
--- a/src/modules/rtpengine/rtpengine.c
+++ b/src/modules/rtpengine/rtpengine.c
@@ -3138,11 +3138,12 @@ select_rtpp_node(str callid, str viabranch, int do_test, struct rtpp_node **quer
                if (node->rn_recheck_ticks == RTPENGINE_MAX_RECHECK_TICKS) {
                        LM_DBG("node=%.*s for calllen=%d callid=%.*s is disabled(permanent) (probably still UP)! Return it\n",
                                node->rn_url.len, node->rn_url.s, callid.len, callid.len, callid.s);
+                        return node;
                } else {
                        LM_DBG("node=%.*s for calllen=%d callid=%.*s is disabled, either broke or timeout disabled! Return it\n",
                                node->rn_url.len, node->rn_url.s, callid.len, callid.len, callid.s);
                }
-               return node;
+               /*return node;*/
        }
 
        return NULL;

it would make to only use allow_op for manually disabled rtpengine nodes, and would make to not select the node and not try to send the rtpp command, so we would not have almost any impact in kamailio like timeouts and congestion, expect having messages not doing rtpengine in a call where others did.

Do you think this change could make sense?
Is there any reason for being like it is now?

thanks a lot and regards
david

--
Logo

David Escartín Almudévar
VoIP/Switch Engineer
descartin@sonoc.io

SONOC
C/ Josefa Amar y Borbón, 10, 4ª · 50001 Zaragoza, España
Tlf: +34 917019888 ·
 www.sonoc.io