<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">On 05/02/2021 04.46, David Escartin
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CADvHuE8zKoTQnH1eUZhGFBEBo+-eZiZwHZ29kWsBrNMpy-sOQQ@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">sorry i edit the previous message
        <div><br>
        </div>
        <div>....
          <div>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.<br>
            But we see that enabling it also makes all the messages
            select the rtpengine and attempt to send its own op command
            **when an rtpengine is disabled because the socket or host
            is unreachable**. This is causing an impact in cases where
            the rtpengine crashes (luckily not so often).<br>
            <br>
            We have been doing some tests, and with this change<br>
          </div>
          <div>....</div>
        </div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">El vie, 5 feb 2021 a las
          10:43, David Escartin (<<a href="mailto:descartin@sonoc.io"
            moz-do-not-send="true">descartin@sonoc.io</a>>) escribió:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px
          0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div dir="ltr">
            <div dir="ltr">Dear all
              <div><br>
              </div>
              <div>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.</div>
              <div>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).</div>
              <div><br>
              </div>
              <div>We have been doing some tests, and with this change</div>
              <div><br>
              </div>
              <div>
                <blockquote class="gmail_quote" style="margin:0px 0px
                  0px 0.8ex;border-left:1px solid
                  rgb(204,204,204);padding-left:1ex"> diff --git
                  a/src/modules/rtpengine/rtpengine.c
                  b/src/modules/rtpengine/rtpengine.c<br>
                  index 20df725d2e..2f6130c62a 100644<br>
                  --- a/src/modules/rtpengine/rtpengine.c<br>
                  +++ b/src/modules/rtpengine/rtpengine.c<br>
                  @@ -3138,11 +3138,12 @@ select_rtpp_node(str callid,
                  str viabranch, int do_test, struct rtpp_node **quer<br>
                                  if (node->rn_recheck_ticks ==
                  RTPENGINE_MAX_RECHECK_TICKS) {<br>
                                          LM_DBG("node=%.*s for
                  calllen=%d callid=%.*s is disabled(permanent)
                  (probably still UP)! Return it\n",<br>
                                                  node->rn_url.len,
                  node->rn_url.s, callid.len, callid.len, callid.s);<br>
                  +                        return node;<br>
                                  } else {<br>
                                          LM_DBG("node=%.*s for
                  calllen=%d callid=%.*s is disabled, either broke or
                  timeout disabled! Return it\n",<br>
                                                  node->rn_url.len,
                  node->rn_url.s, callid.len, callid.len, callid.s);<br>
                                  }<br>
                  -               return node;<br>
                  +               /*return node;*/<br>
                          }<br>
                   <br>
                          return NULL;</blockquote>
                <div><br>
                </div>
                <div>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.</div>
                <div><br>
                </div>
                <div>Do you think this change could make sense?</div>
                <div>Is there any reason for being like it is now?</div>
              </div>
            </div>
          </div>
        </blockquote>
      </div>
      <br>
    </blockquote>
    <p>Don't have any direct experience with using that option, but it
      makes sense to me. Perhaps having a third value for that option
      (0/1/2) is the best way forward here, to retain compatibility for
      people who rely on the old behaviour. You can open a pull request
      on Github.</p>
    <p>Cheers<br>
    </p>
  </body>
</html>