<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Yes, 4.3 should have all fixes in 4.2.<br>
    <br>
    Cheers,<br>
    Daniel<br>
    <br>
    <div class="moz-cite-prefix">On 12/06/15 06:06, Ding Ma wrote:<br>
    </div>
    <blockquote
      cite="mid:ABFC70A5-D656-4AC3-A178-9A246747E2B4@gmail.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <div class="">OK, we’ll try to update and report back. Wonder if
        the latest 4.3 has all the fixes went into the latest 4.2.x. We
        already have plan to upgrade to 4.3. </div>
      <div class="">Thanks. </div>
      <br class="">
      <div>
        <blockquote type="cite" class="">
          <div class="">On Jun 10, 2015, at 10:01 AM, Daniel-Constantin
            Mierla <<a moz-do-not-send="true"
              href="mailto:miconda@gmail.com" class="">miconda@gmail.com</a>>
            wrote:</div>
          <br class="Apple-interchange-newline">
          <div class="">
            <meta content="text/html; charset=utf-8"
              http-equiv="Content-Type" class="">
            <div bgcolor="#FFFFFF" text="#000000" class=""> It was a fix
              for maxload during 4.2.x, but don't recall exactly when
              was backported. Can you upgrade to latest 4.2.x and see
              the results? Your config file and database don't require
              any change, only deploy the binaries for latest 4.2.x and
              restart.<br class="">
              <br class="">
              If the issue is still there with latest 4.2.x, report here
              and I will look at it with the first chance.<br class="">
              <br class="">
              Cheers,<br class="">
              Daniel<br class="">
              <br class="">
              <div class="moz-cite-prefix">On 10/06/15 16:50, Ding Ma
                wrote:<br class="">
              </div>
              <blockquote
cite="mid:CAD6FCvMoNoxxEjWfqz5zXqA3WtykNrgcW0vE0fZZ2aFCPY3PHg@mail.gmail.com"
                type="cite" class="">
                <div dir="ltr" class="">
                  <div class="">We're running kamailio 4.2.3. Are there
                    any changes to dispatcher in 4.2.x?</div>
                  <div class="">Thanks,</div>
                  <div class=""><br class="">
                  </div>
                  <div class=""># kamailio -V</div>
                  <div class="">version: kamailio 4.2.3 (x86_64/linux)
                    5596bd</div>
                  <div class="">flags: STATS: Off, USE_TCP, USE_TLS,
                    TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST,
                    DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC,
                    F_MALLOC, DBG_F_MALLOC, USE_FUTEX,
                    FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE,
                    USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST,
                    HAVE_RESOLV_RES</div>
                  <div class="">ADAPTIVE_WAIT_LOOPS=1024,
                    MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
                    MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE
                    8MB</div>
                  <div class="">poll method support: poll, epoll_lt,
                    epoll_et, sigio_rt, select.</div>
                  <div class="">id: 5596bd</div>
                  <div class="">compiled on 09:32:37 May  6 2015 with
                    gcc 4.4.7</div>
                  <div class=""><br class="">
                  </div>
                  <div class="gmail_extra"><br class="">
                    <div class="gmail_quote">On Wed, Jun 10, 2015 at
                      7:01 AM, Daniel-Constantin Mierla <span dir="ltr"
                        class=""><<a moz-do-not-send="true"
                          href="mailto:miconda@gmail.com"
                          target="_blank" class="">miconda@gmail.com</a>></span>
                      wrote:<br class="">
                      <blockquote class="gmail_quote" style="margin:0 0
                        0 .8ex;border-left:1px #ccc
                        solid;padding-left:1ex">
                        <div bgcolor="#FFFFFF" text="#000000" class="">
                          Hello,<br class="">
                          <br class="">
                          what version of kamailio are you using?<br
                            class="">
                          <br class="">
                          Cheers,<br class="">
                          Daniel
                          <div class="">
                            <div class="h5"><br class="">
                              <br class="">
                              <div class="">On 09/06/15 20:51, Ding Ma
                                wrote:<br class="">
                              </div>
                            </div>
                          </div>
                          <blockquote type="cite" class="">
                            <div class="">
                              <div class="h5">
                                <div dir="ltr" class="">I'm trying to
                                  set up kamailio dispatcher to
                                  distribute calls to 2 asterisk
                                  servers. So far, the failover case
                                  seems ok, but I cannot get the
                                  dispatcher to distribute load. All
                                  calls are going to the last
                                  destination entry in the dispatcher
                                  table even if I have set the maxload
                                  attributes. I'm using algorithm 10 for
                                  load distribution. The number of calls
                                  sent to one asterisk is well above the
                                  maxload. Hope someone more experienced
                                  in dispatcher can review my config and
                                  give me some recommendations. Thanks
                                  in advance.
                                  <div class=""><br class="">
                                  </div>
                                  <div class="">Here is the content of
                                    dispatcher table in postgresql db.</div>
                                  <div class=""><br class="">
                                    <div class="">
                                      <div class="">select * from
                                        dispatcher;</div>
                                      <div class=""> id | setid |  
                                         destination     | flags |
                                        priority |           attrs      
                                            | description</div>
                                      <div class="">----+-------+--------------------+-------+----------+---------------------------+-------------</div>
                                      <div class="">  1 |     1 | sip:<a
                                          moz-do-not-send="true"
                                          href="http://10.0.1.31:5061/"
                                          target="_blank" class="">10.0.1.31:5061</a>
                                        |     0 |        0 |
                                        duid=asterisk1;maxload=25 |
                                        Asterisk1</div>
                                      <div class="">  2 |     1 | sip:<a
                                          moz-do-not-send="true"
                                          href="http://10.0.1.33:5061/"
                                          target="_blank" class="">10.0.1.33:5061</a>
                                        |     0 |        0 |
                                        duid=asterisk2;maxload=25 |
                                        Asterisk2</div>
                                      <div class="">(2 rows)</div>
                                    </div>
                                  </div>
                                  <div class=""><br class="">
                                  </div>
                                  <div class="">Here are the dispatcher
                                    sections in kamailio.cfg.</div>
                                  <div class="">
                                    <div class=""># ----- dispatcher
                                      params -----</div>
                                    <div class="">#!ifdef
                                      WITH_DISPATCHER</div>
                                    <div class="">modparam("dispatcher",
                                      "db_url", DBASTURL)</div>
                                    <div class="">modparam("dispatcher",
                                      "table_name", "dispatcher")</div>
                                    <div class="">modparam("dispatcher",
                                      "force_dst", 1). </div>
                                    <div class=""># If flag 2 is set,
                                      then failover support is enabled.<br
                                        class="">
                                    </div>
                                    <div class="">modparam("dispatcher",
                                      "flags", 3)</div>
                                    <div class=""># the last address in
                                      destination set is used as a final
                                      option to send the request to</div>
                                    <div class="">modparam("dispatcher",
                                      "use_default", 1)</div>
                                    <div class=""># load balancing fail
                                      over</div>
                                    <div class="">modparam("dispatcher",
                                      "dst_avp", "$avp(dsdst)")</div>
                                    <div class="">modparam("dispatcher",
                                      "grp_avp", "$avp(dsgrp)")</div>
                                    <div class="">modparam("dispatcher",
                                      "cnt_avp", "$avp(dscnt)")</div>
                                    <div class="">modparam("dispatcher",
                                      "dstid_avp", "$avp(dsdstid)")</div>
                                    <div class="">modparam("dispatcher",
                                      "attrs_avp", "$avp(dsattrs)")</div>
                                    <div class=""># PVs for hashing</div>
                                    <div class="">modparam("dispatcher",
                                      "hash_pvar", "$fU@$ci")</div>
                                    <div class=""># PVs to store results
                                      when calling ds_is_from_list</div>
                                    <div class="">modparam("dispatcher",
                                      "setid_pvname", "$var(setid)")</div>
                                    <div class="">modparam("dispatcher",
                                      "attrs_pvname", "$var(attrs)")</div>
                                    <div class=""># method to probe the
                                      gateways</div>
                                    <div class="">modparam("dispatcher",
                                      "ds_ping_method", "OPTIONS")</div>
                                    <div class="">modparam("dispatcher",
                                      "ds_ping_from", <a
                                        moz-do-not-send="true" class="">"sip:dispatcher@localhost"</a>)</div>
                                    <div class="">modparam("dispatcher",
                                      "ds_ping_interval", 30)</div>
                                    <div class="">modparam("dispatcher",
                                      "ds_probing_threshhold", 10)</div>
                                    <div class="">modparam("dispatcher",
                                      "ds_ping_reply_codes",
                                      "class=2;code=403;code=404;code=484;code=488;class=3")</div>
                                    <div class="">modparam("dispatcher",
                                      "ds_probing_mode", 1)</div>
                                    <div class=""># size of hash table
                                      storing data for call load
                                      dispatching, power of two</div>
                                    <div class="">modparam("dispatcher",
                                      "ds_hash_size", 10)</div>
                                    <div class=""># expiration time in
                                      seconds to remove the load on a
                                      destination if no BYE was received</div>
                                    <div class="">modparam("dispatcher",
                                      "ds_hash_expire", 3600)</div>
                                    <div class=""># expiration time in
                                      seconds to remove the load on a
                                      destination if no 200 OK for
                                      INVITE was received</div>
                                    <div class=""># and state updated
                                      with ds_load_update</div>
                                    <div class="">modparam("dispatcher",
                                      "ds_hash_initexpire", 60)</div>
                                    <div class="">modparam("dispatcher",
                                      "ds_hash_check_interval", 30)</div>
                                    <div class="">#!endif</div>
                                  </div>
                                  <div class=""><br class="">
                                  </div>
                                  <div class="">
                                    <div class="">route[WITHINDLG] {</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>if
                                      (has_totag()) {</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span># sequential
                                      request withing a dialog should</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span># take the
                                      path determined by record-routing</div>
                                    <div class=""><br class="">
                                    </div>
                                    <div class="">#!ifdef
                                      WITH_DISPATCHER</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>if(is_method("BYE|CANCEL")


                                      && ds_is_from_list("1",
                                      "3"))</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>ds_load_update();</div>
                                    <div class="">#!endif</div>
                                  </div>
                                  <div class="">......</div>
                                  <div class="">       }</div>
                                  <div class="">}</div>
                                  <div class=""><br class="">
                                  </div>
                                  <div class="">
                                    <div class="">route[FROMASTERISK] {</div>
                                    <div class="">#!ifdef
                                      WITH_DISPATCHER<br class="">
                                    </div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>if(ds_is_from_list("1",


                                      "3")) {</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>xlog("L_DBG","$rm


                                      from $fU@$si:$sp: Call from
                                      Asterisk cluster\n");</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>return 1;</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>}</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>return -1;</div>
                                    <div class="">#!else</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>if
                                      ($si==$sel(cfg_get.asterisk.bindip))
                                      {</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>return 1;</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>}</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>return -1;</div>
                                    <div class="">#!endif</div>
                                    <div class="">}</div>
                                  </div>
                                  <div class=""><br class="">
                                  </div>
                                  <div class="">
                                    <div class="">onreply_route[MANAGE_REPLY]
                                      {</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>xdbg("incoming
                                      reply\n");</div>
                                    <div class="">#!ifdef
                                      WITH_DISPATCHER</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>if(is_method("INVITE")


                                      && ds_is_from_list("1",
                                      "3")) {</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>if(status=~"2[0-9][0-9]")


                                      {</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>ds_load_update();</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>}</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>else
                                      if(status=~"[3-7][0-9][0-9]") {</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>ds_load_unset();</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>}</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>}</div>
                                    <div class="">#!endif</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>if(status=~"[12][0-9][0-9]")</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>route(NATMANAGE);</div>
                                    <div class="">}</div>
                                  </div>
                                  <div class=""><br class="">
                                  </div>
                                  <div class="">
                                    <div class="">#!ifdef
                                      WITH_DISPATCHER</div>
                                    <div class="">failure_route[RTF_DISPATCH]
                                      {</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>if
                                      (t_is_canceled()) {</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>exit;</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>}</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span># next DST -
                                      only for 500 or local timeout</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>if
                                      (t_check_status("500") or
                                      (t_branch_timeout() and
                                      !t_branch_replied())) {</div>
                                    <div class="">                # mark
                                      the destination Inactive and
                                      Probing</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>ds_mark_dst("IP");</div>
                                    <div class="">                #
                                      select the new destination</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>if(ds_next_dst())


                                      {</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>t_on_failure("RTF_DISPATCH");</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>route(RELAY);</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>exit;</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>}</div>
                                    <div class="">                else {</div>
                                    <div class="">                     
                                        # last available node failed to
                                      reply, no other destinations
                                      available</div>
                                    <div class="">                     
                                        send_reply("404", "No
                                      destination");</div>
                                    <div class="">                     
                                        exit;</div>
                                    <div class="">                }</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>}</div>
                                    <div class="">}</div>
                                    <div class="">#!endif</div>
                                  </div>
                                  <div class=""><br class="">
                                  </div>
                                  <div class="">
                                    <div class="">route[TOASTERISK] {</div>
                                    <div class="">#!ifdef
                                      WITH_DISPATCHER</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>#
                                      ds_mark_dst("IP");</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span># Call load
                                      distribution</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>if(!ds_select_dst("1",


                                      "10")) {</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>sl_send_reply("500",


                                      "Service Unavailable");</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>xlog("L_INFO","$rm


                                      from $fU@$si:$sp: No destinations
                                      available for $rd\n");</div>
                                    <div class="">                exit;</div>
                                    <div class="">        }</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>xlog("L_DBG",
                                      "--- SCRIPT: going to <$ru>
                                      via <$du>\n");</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>t_on_failure("RTF_DISPATCH");</div>
                                    <div class="">#!else</div>
                                    <div class=""><br class="">
                                    </div>
                                    <div class="">   <span
                                        style="white-space:pre-wrap"
                                        class=""> </span>$du = "sip:" +
                                      $sel(cfg_get.asterisk.bindip) +
                                      ":"</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>+
                                      $sel(cfg_get.asterisk.bindport);</div>
                                    <div class="">#!endif</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>route(RELAY);</div>
                                    <div class=""><span
                                        style="white-space:pre-wrap"
                                        class=""> </span>exit;</div>
                                    <div class="">}</div>
                                  </div>
                                  <div class=""><br class="">
                                  </div>
                                  <div class="">
                                    <div class=""><br class="">
                                    </div>
                                    <div class=""># Dispatcher detects a
                                      destination goes down</div>
                                    <div class="">event_route[dispatcher:dst-down]
                                      {</div>
                                    <div class="">    xlog("L_ERR",
                                      "Destination down: $rm $ru
                                      ($du)\n");</div>
                                    <div class="">}</div>
                                    <div class=""><br class="">
                                    </div>
                                    <div class=""># Dispatcher detects a
                                      destination comes up </div>
                                    <div class="">event_route[dispatcher:dst-up]
                                      {</div>
                                    <div class="">    xlog("L_ERR",
                                      "Destination up: $rm $ru\n");</div>
                                    <div class="">}</div>
                                  </div>
                                </div>
                                <br class="">
                                <fieldset class=""></fieldset>
                                <br class="">
                              </div>
                            </div>
                            <pre class="">_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
<a moz-do-not-send="true" href="mailto:sr-users@lists.sip-router.org" target="_blank" class="">sr-users@lists.sip-router.org</a>
<a moz-do-not-send="true" href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" target="_blank" class="">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><span class="HOEnZb"><font class="" color="#888888">
</font></span></pre>
                            <span class="HOEnZb"><font class=""
                                color="#888888"> </font></span></blockquote>
                          <span class="HOEnZb"><font class=""
                              color="#888888"> <br class="">
                              <pre cols="72" class="">-- 
Daniel-Constantin Mierla
<a moz-do-not-send="true" href="http://twitter.com/#%21/miconda" target="_blank" class="">http://twitter.com/#!/miconda</a> - <a moz-do-not-send="true" href="http://www.linkedin.com/in/miconda" target="_blank" class="">http://www.linkedin.com/in/miconda</a>
Book: SIP Routing With Kamailio - <a moz-do-not-send="true" href="http://www.asipto.com/" target="_blank" class="">http://www.asipto.com</a></pre>
                            </font></span></div>
                        <br class="">
                        _______________________________________________<br
                          class="">
                        SIP Express Router (SER) and Kamailio (OpenSER)
                        - sr-users mailing list<br class="">
                        <a moz-do-not-send="true"
                          href="mailto:sr-users@lists.sip-router.org"
                          class="">sr-users@lists.sip-router.org</a><br
                          class="">
                        <a moz-do-not-send="true"
                          href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users"
                          target="_blank" class="">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br
                          class="">
                        <br class="">
                      </blockquote>
                    </div>
                    <br class="">
                  </div>
                </div>
              </blockquote>
              <br class="">
              <pre class="moz-signature" cols="72">-- 
Daniel-Constantin Mierla
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://twitter.com/#%21/miconda">http://twitter.com/#!/miconda</a> - <a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://www.linkedin.com/in/miconda">http://www.linkedin.com/in/miconda</a>
Book: SIP Routing With Kamailio - <a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://www.asipto.com/">http://www.asipto.com</a></pre>
            </div>
          </div>
        </blockquote>
      </div>
      <br class="">
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Daniel-Constantin Mierla
<a class="moz-txt-link-freetext" href="http://twitter.com/#!/miconda">http://twitter.com/#!/miconda</a> - <a class="moz-txt-link-freetext" href="http://www.linkedin.com/in/miconda">http://www.linkedin.com/in/miconda</a>
Book: SIP Routing With Kamailio - <a class="moz-txt-link-freetext" href="http://www.asipto.com">http://www.asipto.com</a></pre>
  </body>
</html>