<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    OK, did a few more tests but have come accross something, which I am
    not sure is intended behaviour.<br>
    <br>
    When setting a destingation as probing in failure route (due to
    timeout), the destination still gets used in destination selection.<br>
    <br>
    # ./kamailio -V<br>
    version: kamailio 3.3.0-dev0 (i386/linux) 25bedc<br>
    flags: STATS: Off, USE_IPV6, USE_TCP, USE_TLS, TLS_HOOKS,
    USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM,
    SHM_MMAP, PKG_MALLOC, DBG_QM_MALLOC, USE_FUTEX,
    FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR,
    USE_DST_BLACKLIST, HAVE_RESOLV_RES<br>
    ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN
    16, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 4MB<br>
    poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.<br>
    id: 25bedc <br>
    compiled on 09:18:41 Oct 21 2011 with gcc 4.1.2<br>
    <br>
    Dispatcher module parameters (in testing) are as follows
    (SBC_PING_FROM is #defined previously):<br>
    <br>
    modparam("dispatcher", "flags", 2)<br>
    modparam("dispatcher", "dst_avp", "$avp(AVP_DST)")<br>
    modparam("dispatcher", "grp_avp", "$avp(AVP_GRP)")<br>
    modparam("dispatcher", "cnt_avp", "$avp(AVP_CNT)")<br>
    modparam("dispatcher", "ds_ping_method", "OPTIONS")<br>
    modparam("dispatcher", "ds_ping_from", SBC_PING_FROM)<br>
    modparam("dispatcher", "ds_ping_interval", 10)<br>
    modparam("dispatcher", "ds_probing_threshhold", 1)<br>
    modparam("dispatcher", "ds_probing_mode", 0)<br>
    <br>
    Main routing logic has following snippet to select destination (hash
    table selects dispatcher setid based on request domain):<br>
    <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(!ds_select_dst("$sht(which_sbc=&gt;$rd)", "0")) {<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sl_send_reply("500", "No destination
    available");<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog("route[MAIN] : $rm : No destinations
    available for $rd");<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit;<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
    <br>
    Failure route has following logic to select next destination based
    on timout/failure of destination:<br>
    <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (t_branch_timeout() &amp;&amp; !t_branch_replied())<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog("route[TO_SBC] : $rm : timeout and no reply
    ($si:$sp-&gt;$Ri:$Rp-&gt;$du)\n");<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog("route[TO_SBC] : $rm : setting $du to probing
    state");<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ds_mark_dst("p");<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(ds_next_dst())<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog("route[TO_SBC] : $rm : next destination
    select ($du)\n");<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t_on_failure("TO_SBC");<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t_relay();<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit;<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; send_reply("500", "No destination
    available");<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog("route[TO_SBC] : $rm : No destinations
    available for $rd");<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit;<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
    <br>
    According to 3.2 module docs for dispatcher, when a destination is
    set into probing state, it will not be used by ds_select_dst:<br>
    ----<br>
    <h3 class="title">4.6.&nbsp; <code class="function">ds_mark_dst("s")</code>
    </h3>
    <p> Mark the last used address from destination set as inactive
      ("i"/"I"/"0"), active ("a"/"A"/"1") or probing ("p"/"P"/"2"). With
      this function, an automatic detection of failed gateways can be
      implemented. When an address is marked as inactive or probing, it
      will be ignored by 'ds_select_dst' and 'ds_select_domain'. </p>
    <p>possible parameters:</p>
    <div class="itemizedlist">
      <ul>
        <li>
          <p><span class="emphasis"><em>"i", "I" or "0"</em></span> -
            the last destination should be set to inactive and will be
            ignored in future requests.</p>
        </li>
        <li>
          <p><span class="emphasis"><em>"a", "A" or "1"</em></span> -
            the last destination should be set to active and the
            error-counter should set to "0".</p>
        </li>
        <li>
          <p><span class="emphasis"><em>"p", "P" or "2"</em></span> -
            the last destination will be set to probing. Note: You will
            need to call this function "threshhold"-times, before it
            will be actually set to probing.</p>
        </li>
      </ul>
    </div>
    <p> This function can be used from REQUEST_ROUTE, FAILURE_ROUTE. </p>
    ---<br>
    <br>
    What happens here, for me, is:<br>
    <br>
    [1] Gateway is in Active mode (state: AX).<br>
    [2] Request comes in and times out, destination is set to
    Active/Probing (state: AP)<br>
    [3] Another request comes in and it selects gateway that is in AP
    mode, times out, and then selects next dst in list.<br>
    [4] Another request comes in and it selects gateway that is in AP
    mode, times out, and then selects next dst in list.<br>
    . <br>
    .<br>
    <br>
    NOTE: The requests selecting the AP mode gateway may not be right
    after each other (algorythm used is hash over callid) but I have
    stripped those out in above steps. If I'm not mistaked, if 2
    destination in a set, and 1 destination is marked as AP, then
    remaining destination should always be selected as destination to
    send to. The destination marked AP (active-probing) should not be
    selected while in probing state.<br>
    <br>
    When the gateway is set into AP mode at step [2], then, according to
    docs, any new request coming in should not have the gateway selected
    as it is marked as being in probing state.<br>
    <br>
    Is this the intended behaviour or am I missing something in the
    documentation, or is it a bug?<br>
    <br>
    Thanks<br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    On 22/10/2011 15:55, Daniel-Constantin Mierla wrote:
    <blockquote cite="mid:4EA2D969.7040307@gmail.com" type="cite">Hello,
      <br>
      <br>
      yes, I will do it. Just happens to travel these days, but when I
      get the time for it, I will do it.
      <br>
      <br>
      Btw, did you test also the load balancing functionality? Was it
      affected or all is ok when you change the states? I mean when you
      disable/make inactive a gateway, is no longer used for routing,
      right? Just double checking, to be sure it was not affected by
      this change.
      <br>
      <br>
      Thanks,
      <br>
      Daniel
      <br>
      <br>
      On 10/22/11 3:42 PM, Asgaroth wrote:
      <br>
      <blockquote type="cite">Hi Daniel,
        <br>
        <br>
        Just a reminder for this issue, to backport to 3.2.0 :)
        <br>
        <br>
        Thanks
        <br>
        <br>
        On 21/10/2011 10:53, Asgaroth wrote:
        <br>
        <blockquote type="cite">Hi Daniel,
          <br>
          <br>
          It appears the change you made has fixed the issue. Below are
          my tests:
          <br>
          <br>
          # kamailio -V
          <br>
          version: kamailio 3.3.0-dev0 (i386/linux) 25bedc
          <br>
          flags: STATS: Off, USE_IPV6, USE_TCP, USE_TLS, TLS_HOOKS,
          USE_RAW_SOCKS,
          <br>
          DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP,
          PKG_MALLOC,
          <br>
          DBG_QM_MALLOC, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT,
          USE_DNS_CACHE,
          <br>
          USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST,
          HAVE_RESOLV_RES
          <br>
          ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144,
          MAX_LISTEN 16,
          <br>
          MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 4MB
          <br>
          poll method support: poll, epoll_lt, epoll_et, sigio_rt,
          select.
          <br>
          id: 25bedc
          <br>
          compiled on 09:18:41 Oct 21 2011 with gcc 4.1.2
          <br>
          <br>
          Here we have the dispatcher state as loaded from db on startup
          in
          <br>
          kamailio memory.
          <br>
          <br>
          # kamctl dispatcher dump
          <br>
          SET_NO:: 2
          <br>
          SET:: 1
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a> flags=AX priority=0 attrs=
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a> flags=AX priority=0 attrs=
          <br>
          SET:: 2
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a> flags=AX priority=0 attrs=
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a> flags=AX priority=0 attrs=
          <br>
          <br>
          Now try set state for destination to inactive (Worked)
          <br>
          <br>
          # kamctl fifo ds_set_state i 1 <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
          <br>
          # kamctl dispatcher dump
          <br>
          SET_NO:: 2
          <br>
          SET:: 1
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a> flags=IX priority=0 attrs=
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a> flags=AX priority=0 attrs=
          <br>
          SET:: 2
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a> flags=AX priority=0 attrs=
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a> flags=AX priority=0 attrs=
          <br>
          <br>
          Now try set state for destination to active (Worked)
          <br>
          <br>
          # kamctl fifo ds_set_state a 1 <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
          <br>
          # kamctl dispatcher dump
          <br>
          SET_NO:: 2
          <br>
          SET:: 1
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a> flags=AX priority=0 attrs=
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a> flags=AX priority=0 attrs=
          <br>
          SET:: 2
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a> flags=AX priority=0 attrs=
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a> flags=AX priority=0 attrs=
          <br>
          <br>
          Now try set state for destination to inactive-probing (Worked)
          <br>
          <br>
          # kamctl fifo ds_set_state ip 1 <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
          <br>
          # kamctl dispatcher dump
          <br>
          SET_NO:: 2
          <br>
          SET:: 1
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a> flags=IP priority=0 attrs=
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a> flags=AX priority=0 attrs=
          <br>
          SET:: 2
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a> flags=AX priority=0 attrs=
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a> flags=AX priority=0 attrs=
          <br>
          <br>
          I waited for OPTIONS/INFO message and checked state (Worked),
          changed
          <br>
          state from IP -&gt;&nbsp; AX
          <br>
          <br>
          # kamctl dispatcher dump
          <br>
          SET_NO:: 2
          <br>
          SET:: 1
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a> flags=AX priority=0 attrs=
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a> flags=AX priority=0 attrs=
          <br>
          SET:: 2
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a> flags=AX priority=0 attrs=
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a> flags=AX priority=0 attrs=
          <br>
          <br>
          Now try set state to active-probing (Worked)
          <br>
          <br>
          # kamctl fifo ds_set_state ap 1 <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
          <br>
          # kamctl dispatcher dump
          <br>
          SET_NO:: 2
          <br>
          SET:: 1
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a> flags=AP priority=0 attrs=
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a> flags=AX priority=0 attrs=
          <br>
          SET:: 2
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a> flags=AX priority=0 attrs=
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a> flags=AX priority=0 attrs=
          <br>
          <br>
          I waited for OPTIONS/INFO message and checked state (Worked),
          changed
          <br>
          state from AP -&gt;&nbsp; AX
          <br>
          <br>
          # kamctl dispatcher dump
          <br>
          SET_NO:: 2
          <br>
          SET:: 1
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a> flags=AX priority=0 attrs=
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a> flags=AX priority=0 attrs=
          <br>
          SET:: 2
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a> flags=AX priority=0 attrs=
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a> flags=AX priority=0 attrs=
          <br>
          <br>
          Now try set state to disabled (Worked). At this point no
          pinging occured
          <br>
          as destination is admin down.
          <br>
          <br>
          # kamctl fifo ds_set_state d 1 <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
          <br>
          # kamctl dispatcher dump
          <br>
          SET_NO:: 2
          <br>
          SET:: 1
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a> flags=DX priority=0 attrs=
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a> flags=AX priority=0 attrs=
          <br>
          SET:: 2
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a> flags=AX priority=0 attrs=
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a> flags=AX priority=0 attrs=
          <br>
          <br>
          Now try set state to inactive-probing again, from disabled
          state (Worked)
          <br>
          <br>
          # kamctl fifo ds_set_state ip 1 <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
          <br>
          # kamctl dispatcher dump
          <br>
          SET_NO:: 2
          <br>
          SET:: 1
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a> flags=IP priority=0 attrs=
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a> flags=AX priority=0 attrs=
          <br>
          SET:: 2
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a> flags=AX priority=0 attrs=
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a> flags=AX priority=0 attrs=
          <br>
          <br>
          I waited for OPTIONS/INFO message and checked state (Worked),
          changed
          <br>
          state from IP -&gt;&nbsp; AX
          <br>
          <br>
          # kamctl dispatcher dump
          <br>
          SET_NO:: 2
          <br>
          SET:: 1
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a> flags=AX priority=0 attrs=
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a> flags=AX priority=0 attrs=
          <br>
          SET:: 2
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a> flags=AX priority=0 attrs=
          <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a> flags=AX priority=0 attrs=
          <br>
          <br>
          Thanks.
          <br>
          <br>
          On 20/10/2011 22:54, Daniel-Constantin Mierla wrote:
          <br>
          <blockquote type="cite">Hello,
            <br>
            <br>
            indeed the setting of active state via MI command was wrong.
            Should be
            <br>
            fixed now in master branch. Can you test it and see if works
            ok now (I
            <br>
            had no option to test it myself yet). If all goes fine with
            your
            <br>
            tests, then I will backport.
            <br>
            <br>
            Guidelines to install master branch can be found at:
            <br>
            <a class="moz-txt-link-freetext" href="https://www.kamailio.org/wiki/install/devel/git">https://www.kamailio.org/wiki/install/devel/git</a>
            <br>
            <br>
            Cheers,
            <br>
            Daniel
            <br>
            <br>
            <br>
            On 10/20/11 7:52 PM, Asgaroth wrote:
            <br>
            <blockquote type="cite">Hi All,
              <br>
              <br>
              Just been doing some testing with Kamailio 3.2 and the
              dispatcher
              <br>
              module, and have some strange behaviour, can we confirm if
              it is
              <br>
              expected behaviour or a bug of some sort.
              <br>
              <br>
              It appears that I can only set the dspatcher state via
              fifo command
              <br>
              once, and not reset it again, here is an example:
              <br>
              <br>
              version: kamailio 3.2.0 (i386/linux) 94d3b8
              <br>
              flags: STATS: Off, USE_IPV6, USE_TCP, USE_TLS, TLS_HOOKS,
              USE_RAW_SOCKS,
              <br>
              DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP,
              PKG_MALLOC,
              <br>
              DBG_QM_MALLOC, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT,
              USE_DNS_CACHE,
              <br>
              USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST,
              HAVE_RESOLV_RES
              <br>
              ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144,
              MAX_LISTEN 16,
              <br>
              MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 4MB
              <br>
              poll method support: poll, epoll_lt, epoll_et, sigio_rt,
              select.
              <br>
              id: 94d3b8
              <br>
              compiled on 12:34:43 Oct 20 2011 with gcc 4.1.2
              <br>
              <br>
              <br>
              Here we start with the dispatcher list as it was pulled
              from the
              <br>
              database and currently loaded in memory.
              <br>
              <br>
              # kamctl dispatcher dump
              <br>
              SET_NO:: 2
              <br>
              SET:: 1
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a> flags=AX priority=0
              attrs=
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a> flags=AX priority=0
              attrs=
              <br>
              SET:: 2
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a> flags=AX priority=0
              attrs=
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a> flags=AX priority=0
              attrs=
              <br>
              <br>
              Now&nbsp; I try to set one gateway inactive:
              <br>
              <br>
              # kamctl fifo ds_set_state i 1 <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
              <br>
              # kamctl dispatcher dump
              <br>
              SET_NO:: 2
              <br>
              SET:: 1
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a> flags=IX priority=0
              attrs=
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a> flags=AX priority=0
              attrs=
              <br>
              SET:: 2
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a> flags=AX priority=0
              attrs=
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a> flags=AX priority=0
              attrs=
              <br>
              <br>
              All normal so far, now if I try to set the same gateway
              active again,
              <br>
              the state still stays inactive, i dont seem to be able to
              change the
              <br>
              state back to active. The same thing happens if I attempt
              to set this
              <br>
              state to disabled and then try to set it back to active
              afterwards. The
              <br>
              state does not change from what the first attempt was.
              <br>
              <br>
              # kamctl fifo ds_set_state a 1 <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
              <br>
              # kamctl dispatcher dump
              <br>
              SET_NO:: 2
              <br>
              SET:: 1
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a> flags=IX priority=0
              attrs=
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a> flags=AX priority=0
              attrs=
              <br>
              SET:: 2
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a> flags=AX priority=0
              attrs=
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a> flags=AX priority=0
              attrs=
              <br>
              <br>
              Now I can try to set the state to inactive probing, that
              works.
              <br>
              <br>
              # kamctl fifo ds_set_state ip 1 <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
              <br>
              # kamctl dispatcher dump
              <br>
              SET_NO:: 2
              <br>
              SET:: 1
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a> flags=IP priority=0
              attrs=
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a> flags=AX priority=0
              attrs=
              <br>
              SET:: 2
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a> flags=AX priority=0
              attrs=
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a> flags=AX priority=0
              attrs=
              <br>
              <br>
              Now if I try to disable the same destination:
              <br>
              <br>
              # kamctl fifo ds_set_state d 1 <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
              <br>
              # kamctl dispatcher dump
              <br>
              SET_NO:: 2
              <br>
              SET:: 1
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a> flags=IP priority=0
              attrs=
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a> flags=AX priority=0
              attrs=
              <br>
              SET:: 2
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a> flags=AX priority=0
              attrs=
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a> flags=AX priority=0
              attrs=
              <br>
              <br>
              State still stays in Inactive/Probing mode.
              <br>
              <br>
              Now if I try to set the same gateway to active/probing
              mode, I cant:
              <br>
              <br>
              # kamctl fifo ds_set_state ap 1 <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a>
              <br>
              # kamctl dispatcher dump
              <br>
              SET_NO:: 2
              <br>
              SET:: 1
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a> flags=IP priority=0
              attrs=
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a> flags=AX priority=0
              attrs=
              <br>
              SET:: 2
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a> flags=AX priority=0
              attrs=
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a> flags=AX priority=0
              attrs=
              <br>
              <br>
              The only way for me to get the state back to active after
              the above is
              <br>
              to do a reload on the dispatch table:
              <br>
              <br>
              # kamctl dispatcher reload
              <br>
              # kamctl dispatcher dump
              <br>
              SET_NO:: 2
              <br>
              SET:: 1
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10001">sip:1.1.1.1:10001</a> flags=AX priority=0
              attrs=
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10000">sip:1.1.1.1:10000</a> flags=AX priority=0
              attrs=
              <br>
              SET:: 2
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10003">sip:1.1.1.1:10003</a> flags=AX priority=0
              attrs=
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URI:: <a class="moz-txt-link-freetext" href="sip:1.1.1.1:10002">sip:1.1.1.1:10002</a> flags=AX priority=0
              attrs=
              <br>
              <br>
              Is the dispatcher expected to behave as above?
              <br>
              <br>
              I'm still trying to understand the different states
              assuming the
              <br>
              following options are set in the configuration file:
              <br>
              <br>
              modparam("dispatcher", "ds_ping_interval", 10)
              <br>
              modparam("dispatcher", "ds_probing_threshhold", 1)
              <br>
              modparam("dispatcher", "ds_probing_mode", 0)
              <br>
              <br>
              AX = Active/No Probing
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (*) Gateway is used in ds_select_*, ds_next_*
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (*) No OPTIONS/INFO messages are sent to destination
              to check alive
              <br>
              state
              <br>
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This appears to be the normal operating state with
              no issues
              <br>
              detected.
              <br>
              <br>
              AP = Active/Probing
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (*) Gateway is NOT used in ds_select_*, ds_next_*
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (*) OPTIONS/INFO messages ARE sent to destination to
              check alive
              <br>
              state
              <br>
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This appears to be the state taken when a gateway
              times out and
              <br>
              ds_mark_dst("p") is set in failure route, the gateway is
              "pinged" while
              <br>
              down and set into AX mode once a response is recieved.
              <br>
              <br>
              IX = Inactive/No Probing
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (*) Gateway is NOT used in ds_select_*, ds_next_*
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (*) No OPTIONS/INFO messages sent to destination
              <br>
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This appears to be the state taken when a gateway
              times out and if
              <br>
              ds_mark_dst("i") is set in failure route, this gateway is
              set inactive
              <br>
              and no "pinging" is performed.
              <br>
              <br>
              IP = Inactive/Probing
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (*) Gateway is NOT used in ds_select_*, ds_next_*
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (*) OPTIONS/INFO messages ARE sent to destination
              <br>
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I'm not sure when this state would be reached unless
              it is set by
              <br>
              fifo command. The ds_mark_dst function only allows "a","i"
              or "p". So
              <br>
              the probing method would only become active is
              ds_probing_mode = 1. In
              <br>
              my case it is 0, so I'm not sure if I would ever reach
              this state unless
              <br>
              I forced it. What would happen here is the gateway came
              back alive once
              <br>
              in "IP" state, would it go back to "AX" state?
              <br>
              <br>
              DX = Disabled/No Probing
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (*) Gateway is administratively set to down
              <br>
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This is where manual intervention has occured and
              the destination
              <br>
              has been set to administrativly down, for example, work
              being carried
              <br>
              out on the destination gateway.
              <br>
              <br>
              All these states make sense, for the most part, I'm a
              little unsure of
              <br>
              how IP/IX is meant to work unless you manually set it to
              "inactive" in
              <br>
              your failure route.
              <br>
              <br>
              The main concern though is the the fifo commands dont
              appear to be
              <br>
              working as expected, I can only set the state for a
              destination manually
              <br>
              once, and not again after that, unless I perform a
              dispatcher reload.
              <br>
              <br>
              Has anyone else experienced this behaviour?
              <br>
              <br>
              Any comments/suggestions explanations are most welcome.
              <br>
              <br>
              Thanks
              <br>
              <br>
              _______________________________________________
              <br>
              SIP Express Router (SER) and Kamailio (OpenSER) - sr-users
              mailing list
              <br>
              <a class="moz-txt-link-abbreviated" href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a>
              <br>
<a class="moz-txt-link-freetext" href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a>
              <br>
            </blockquote>
          </blockquote>
          _______________________________________________
          <br>
          SIP Express Router (SER) and Kamailio (OpenSER) - sr-users
          mailing list
          <br>
          <a class="moz-txt-link-abbreviated" href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a>
          <br>
          <a class="moz-txt-link-freetext" href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a>
          <br>
          <br>
          <br>
        </blockquote>
        <br>
        _______________________________________________
        <br>
        SIP Express Router (SER) and Kamailio (OpenSER) - sr-users
        mailing list
        <br>
        <a class="moz-txt-link-abbreviated" href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a>
        <br>
        <a class="moz-txt-link-freetext" href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a>
        <br>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
</html>