<div dir="ltr"><div><div><div>My first idea was to create failure counter for each gateway (variable in local cache)<br></div><br>Than in onreply route to increment counter every time call is not established, and reset counter if any call was successful. So we get consecutive failures counter in cache and can make further decisions basing on that information<br><br></div>Does it make sense? Is local cache fast enough (and causes no locking problems) to be incremented in such intensive way?<br><br></div>Is it possible to change dispatcher gateway status from inside script? Or it's possible only by using external interface?<br></div><div class="gmail_extra"><br><div class="gmail_quote">2017-10-31 12:31 GMT+01:00 Bogdan-Andrei Iancu <span dir="ltr"><<a href="mailto:bogdan@opensips.org" target="_blank">bogdan@opensips.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <tt>Hi Adam,<br>
      <br>
      Maybe such a custom logic is outside OpenSIPS scope - still have
      you considered using the ds_set_state MI function to control from
      outside the status of the destinations ? Of course you will have
      to use the Event Interface too, to receive the notifications on
      the destination status (when OpenSIPS is doing the state
      transition) - see the E_DISPATCHER_STATUS event
(<a class="m_-7260080349264954538moz-txt-link-freetext" href="http://www.opensips.org/html/docs/modules/2.3.x/dispatcher.html#idp5746368" target="_blank">http://www.opensips.org/html/<wbr>docs/modules/2.3.x/dispatcher.<wbr>html#idp5746368</a>)<br>
      <br>
      So, when OpenSIPS switches a destination into probing (based on a
      failure detection), you can get the event and force the
      destination into Inactive ; after some custom amount of time, you
      can put it back into Probing mode, to allow OpenSIPS to re-enable
      it.<br>
      <br>
      Regards,<br>
    </tt>
    <pre class="m_-7260080349264954538moz-signature" cols="72">Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  <a class="m_-7260080349264954538moz-txt-link-freetext" href="http://www.opensips-solutions.com" target="_blank">http://www.opensips-solutions.<wbr>com</a>
</pre><div><div class="h5">
    <div class="m_-7260080349264954538moz-cite-prefix">On 10/28/2017 04:13 PM, Adam Raszynski
      wrote:<br>
    </div>
    </div></div><blockquote type="cite"><div><div class="h5">
      <div dir="ltr">
        <div>
          <div>
            <div>
              <div>
                <div>Hi<br>
                  <br>
                </div>
                Could you suggest some working configuration of the
                dispatcher module for the following setup:<br>
                <br>
              </div>
              - Flag gateway as failed (even if it's still responding to
              OPTIONS) after some number of consecutive call failures.
              That's the easy part<br>
            </div>
            <br>
            - Automatically un-flag gateway after some time, to allow
            re-checking (reset failure counter?)<br>
            <br>
          </div>
          - Ideal solution would also include increasing re-check
          interval, ie first re-check after 1 minute, if next failure
          detected next re-check after 2 minutes, next after 4 and so on<br>
          <br>
          <br>
        </div>
        Best Regards<br>
        <br>
      </div>
      <br>
      <fieldset class="m_-7260080349264954538mimeAttachmentHeader"></fieldset>
      <br>
      </div></div><pre>______________________________<wbr>_________________
Users mailing list
<a class="m_-7260080349264954538moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a>
<a class="m_-7260080349264954538moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-<wbr>bin/mailman/listinfo/users</a>
</pre>
    </blockquote>
    <br>
  </div>

</blockquote></div><br></div>