<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hello,<br>
    <br>
    that hash function is intended for hashing alpha-numeric usernames
    and has a fair distribution for such cases.<br>
    <br>
    I don't think is good for hashing numbers, at the end of a day, a
    number is already like a hash code. You can use in the config file
    modulo operation to select a particular destination based on a
    number.<br>
    <br>
    Maybe if you explain what is your target to implement, we can
    provide the right hints to do it.<br>
    <br>
    Cheers,<br>
    Daniel<br>
    <br>
    <div class="moz-cite-prefix">On 6/6/12 6:09 PM, SamyGo wrote:<br>
    </div>
    <blockquote
cite="mid:CAJUJwtgwc5K=c3fG4xszcT+KQtnjRO099w+A=Kj7xX7rZw47_w@mail.gmail.com"
      type="cite">Sorry for late reply: this wasn't very helpful. I
      think Hashing algo code needs to get bit smarter. If there is any
      possibility can you please let me know. !
      <div>&nbsp;<br>
        <br>
        <div class="gmail_quote">On Mon, Jun 4, 2012 at 3:33 PM,
          Daniel-Constantin Mierla <span dir="ltr">&lt;<a
              moz-do-not-send="true" href="mailto:miconda@gmail.com"
              target="_blank">miconda@gmail.com</a>&gt;</span> wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">To make
            the life easier to spot the hash code in such case, I just
            committed a small patch to print it for alg 7:<br>
            <br>
            <a moz-do-not-send="true"
href="http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=83a558fbad700198a8667ef01f756269d7e2c310"
              target="_blank">http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=83a558fbad700198a8667ef01f756269d7e2c310</a><br>
            <br>
            Should be easy to backport if other version is used.<br>
            <br>
            Cheers,<br>
            Daniel
            <div class="HOEnZb">
              <div class="h5"><br>
                <br>
                On 6/4/12 12:23 PM, Carsten Bock wrote:<br>
                <blockquote class="gmail_quote" style="margin:0 0 0
                  .8ex;border-left:1px #ccc solid;padding-left:1ex">
                  It's hard to say, most likely not. You find the used
                  hash-function here:<br>
                  <br>
                  &nbsp;841 unsigned int ds_get_hash(str *x, str *y)<br>
                  <a moz-do-not-send="true"
href="http://git.sip-router.org/cgi-bin/gitweb.cgi?p=sip-router;a=blob;f=modules_k/dispatcher/dispatch.c;h=ae0c51b122d34e29b3474957a64b24ff492cfcd5;hb=HEAD"
                    target="_blank">http://git.sip-router.org/cgi-bin/gitweb.cgi?p=sip-router;a=blob;f=modules_k/dispatcher/dispatch.c;h=ae0c51b122d34e29b3474957a64b24ff492cfcd5;hb=HEAD</a><br>
                  <br>
                  It was originally implemented to distribute usernames
                  to servers,<br>
                  which worked fine.<br>
                  <br>
                  Carsten<br>
                  <br>
                  2012/6/4 SamyGo &lt;<a moz-do-not-send="true"
                    href="mailto:govoiper@gmail.com" target="_blank">govoiper@gmail.com</a>&gt;:<br>
                  <blockquote class="gmail_quote" style="margin:0 0 0
                    .8ex;border-left:1px #ccc solid;padding-left:1ex">
                    Thanks Sir,<br>
                    <br>
                    Thats what I expected. Do you think this will change
                    if I use only two<br>
                    values with huge difference in each other, lets say
                    {26000,29000} ?<br>
                    <br>
                    Regards,<br>
                    Sammy<br>
                    <br>
                    On Mon, Jun 4, 2012 at 3:05 PM, Carsten Bock &lt;<a
                      moz-do-not-send="true"
                      href="mailto:carsten@ng-voice.com" target="_blank">carsten@ng-voice.com</a>&gt;
                    wrote:<br>
                    <blockquote class="gmail_quote" style="margin:0 0 0
                      .8ex;border-left:1px #ccc solid;padding-left:1ex">
                      Hi,<br>
                      <br>
                      this functionality uses a generic "hash" function
                      to generate an<br>
                      Integer-Value of the PVAR and then reduces this to
                      the number hosts in<br>
                      your destination set.<br>
                      If you have only using two different values of the
                      PVAR and only two<br>
                      hosts in the dispatcher list, it can likely
                      happen, that the same host<br>
                      is choosen. You should try a wider range of values
                      for your PVAR...<br>
                      (e.g. try 1000 different values), then you should
                      see a distribution.<br>
                      <br>
                      Carsten<br>
                      <br>
                      2012/6/4 SamyGo &lt;<a moz-do-not-send="true"
                        href="mailto:govoiper@gmail.com" target="_blank">govoiper@gmail.com</a>&gt;:<br>
                      <blockquote class="gmail_quote" style="margin:0 0
                        0 .8ex;border-left:1px #ccc
                        solid;padding-left:1ex">
                        Hi,<br>
                        <br>
                        No, nothing at all. I haven't went too deep into
                        debug logs but no<br>
                        internal<br>
                        error was appearing. Everything was as calm as
                        ever and I only get one<br>
                        destination uri.<br>
                        <br>
                        So maybe what I'm getting from your email is
                        that , for this to work the<br>
                        way<br>
                        I expect is to have more unique and random
                        values in my hash_pvar to get<br>
                        the<br>
                        required functionality.<br>
                        <br>
                        Thanks once again,<br>
                        BR<br>
                        SG<br>
                        <br>
                        On Mon, Jun 4, 2012 at 11:52 AM,
                        Daniel-Constantin Mierla<br>
                        &lt;<a moz-do-not-send="true"
                          href="mailto:miconda@gmail.com"
                          target="_blank">miconda@gmail.com</a>&gt;
                        wrote:<br>
                        <blockquote class="gmail_quote" style="margin:0
                          0 0 .8ex;border-left:1px #ccc
                          solid;padding-left:1ex">
                          Hello,<br>
                          <br>
                          do you get any errors in the log?<br>
                          <br>
                          Be aware that hash functions may return same
                          code for different input<br>
                          values. A hash function is guaranteed to
                          return same code for same<br>
                          input<br>
                          value, but there can be collisions of codes
                          for different values.<br>
                          <br>
                          Cheers,<br>
                          Daniel<br>
                          <br>
                          <br>
                          On 6/3/12 3:41 PM, SamyGo wrote:<br>
                          <br>
                          Hello,<br>
                          <br>
                          I'm having trouble using algorithm 7 in
                          dispatcher module. Here is my<br>
                          kamailio version. The problem is that despite
                          multiple dispatcher<br>
                          entries<br>
                          corresponding to one set all calls go only to
                          only one destination.<br>
                          <br>
                          <br>
                          [root@control1 ~]# kamailio -V<br>
                          version: kamailio 3.2.3 (x86_64/linux) 59f87e<br>
                          flags: STATS: Off, USE_IPV6, USE_TCP, USE_TLS,
                          TLS_HOOKS,<br>
                          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: 59f87e<br>
                          compiled on 18:04:08 Apr 19 2012 with gcc
                          4.1.2<br>
                          [root@control1 ~]#<br>
                          <br>
                          Here is the dipacther module params.<br>
                          <br>
                          <br>
                          <br>
                          # ------- Load-balancer params ------<br>
                          modparam("dispatcher", "db_url", DBURL)<br>
                          modparam("dispatcher", "table_name",
                          "dispatcher")<br>
                          modparam("dispatcher", "setid_col", "setid")<br>
                          modparam("dispatcher", "destination_col",
                          "destination")<br>
                          modparam("dispatcher", "force_dst", 1)<br>
                          modparam("dispatcher", "flags", 3)<br>
                          modparam("dispatcher", "dst_avp",
                          "$avp(i:271)")<br>
                          modparam("dispatcher", "cnt_avp",
                          "$avp(i:273)")<br>
                          modparam("dispatcher", "ds_ping_from",
                          <a class="moz-txt-link-rfc2396E" href="sip:proxy@109.XXX.2XX.XX">"sip:proxy@109.XXX.2XX.XX"</a>)<br>
                          modparam("dispatcher", "ds_ping_interval",15)<br>
                          modparam("dispatcher", "ds_probing_mode", 1)<br>
                          modparam("dispatcher", "ds_ping_reply_codes",<br>
                          "class=2;code=403;code=404;code=484;class=3")<br>
                          modparam("dispatcher", "hash_pvar",
                          "$avp(i:274)")<br>
                          modparam("dispatcher", "ds_hash_size", 9)<br>
                          modparam("dispatcher", "ds_hash_initexpire",
                          60)<br>
                          <br>
                          <br>
                          <br>
                          Below is the function call based on avp(i:274)<br>
                          <br>
                          <br>
                          <br>
                          avp_db_query("select uid from uid_did_map
                          where accountcode =<br>
                          '$fU'","$avp(i:274)");<br>
                          xlog("L_INFO","$rm from $fu (IP:$si:$sp)
                          ---------<br>
                          UID:'$avp(i:274)-----------'\n");<br>
                          &nbsp; &nbsp; &nbsp; &nbsp; ds_load_update();<br>
                          &nbsp; &nbsp; &nbsp; &nbsp; if(!ds_select_dst("1","7")) {<br>
                          &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sl_send_reply("500",
                          "No destination<br>
                          available");<br>
                          &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xlog("route[MAIN] :
                          $rm : No destinations<br>
                          available for $rd");<br>
                          &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; exit;<br>
                          &nbsp; &nbsp; &nbsp; &nbsp; }<br>
                          <br>
                          <br>
                          I'm getting two different values for
                          avp(i:274) {26,29} but the<br>
                          destination are not hashed on its base.<br>
                          <br>
                          Please help.<br>
                          <br>
                          Regards,<br>
                          Sammy G.<br>
                          <br>
                          <br>
                          <br>
                          _______________________________________________<br>
                          SIP Express Router (SER) and Kamailio
                          (OpenSER) - sr-users mailing list<br>
                          <a moz-do-not-send="true"
                            href="mailto:sr-users@lists.sip-router.org"
                            target="_blank">sr-users@lists.sip-router.org</a><br>
                          <a moz-do-not-send="true"
                            href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users"
                            target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br>
                          <br>
                          <br>
                          --<br>
                          Daniel-Constantin Mierla - <a
                            moz-do-not-send="true"
                            href="http://www.asipto.com" target="_blank">http://www.asipto.com</a><br>
                          <a moz-do-not-send="true"
                            href="http://twitter.com/#%21/miconda"
                            target="_blank">http://twitter.com/#!/miconda</a>
                          - <a moz-do-not-send="true"
                            href="http://www.linkedin.com/in/miconda"
                            target="_blank">http://www.linkedin.com/in/miconda</a><br>
                          Kamailio Advanced Training, Seattle, USA, Sep
                          23-26, 2012 -<br>
                          <a moz-do-not-send="true"
                            href="http://asipto.com/u/katu"
                            target="_blank">http://asipto.com/u/katu</a><br>
                          Kamailio Practical Workshop, Netherlands, Sep
                          10-12, 2012 -<br>
                          <a moz-do-not-send="true"
                            href="http://asipto.com/u/kpw"
                            target="_blank">http://asipto.com/u/kpw</a><br>
                          <br>
                          <br>
                          <br>
                        </blockquote>
                        <br>
                        _______________________________________________<br>
                        SIP Express Router (SER) and Kamailio (OpenSER)
                        - sr-users mailing list<br>
                        <a moz-do-not-send="true"
                          href="mailto:sr-users@lists.sip-router.org"
                          target="_blank">sr-users@lists.sip-router.org</a><br>
                        <a moz-do-not-send="true"
                          href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users"
                          target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br>
                        <br>
                      </blockquote>
                      <br>
                      <br>
                      --<br>
                      Carsten Bock<br>
                      CEO (Gesch&auml;ftsf&uuml;hrer)<br>
                      <br>
                      ng-voice GmbH<br>
                      Schomburgstr. 80<br>
                      D-22767 Hamburg / Germany<br>
                      <br>
                      <a moz-do-not-send="true"
                        href="http://www.ng-voice.com" target="_blank">http://www.ng-voice.com</a><br>
                      mailto:<a moz-do-not-send="true"
                        href="mailto:carsten@ng-voice.com"
                        target="_blank">carsten@ng-voice.com</a><br>
                      <br>
                      Mobile <a moz-do-not-send="true"
                        href="tel:%2B49%20179%202021244"
                        value="+491792021244" target="_blank">+49 179
                        2021244</a><br>
                      Office <a moz-do-not-send="true"
                        href="tel:%2B49%2040%2034927219"
                        value="+494034927219" target="_blank">+49 40
                        34927219</a><br>
                      Fax <a moz-do-not-send="true"
                        href="tel:%2B49%2040%2034927220"
                        value="+494034927220" target="_blank">+49 40
                        34927220</a><br>
                      <br>
                      Sitz der Gesellschaft: Hamburg<br>
                      Registergericht: Amtsgericht Hamburg, HRB 120189<br>
                      Gesch&auml;ftsf&uuml;hrer: Carsten Bock<br>
                      Ust-ID: DE279344284<br>
                      <br>
                      Hier finden Sie unsere handelsrechtlichen
                      Pflichtangaben:<br>
                      <a moz-do-not-send="true"
                        href="http://www.ng-voice.com/imprint/"
                        target="_blank">http://www.ng-voice.com/imprint/</a><br>
                      <br>
                      _______________________________________________<br>
                      SIP Express Router (SER) and Kamailio (OpenSER) -
                      sr-users mailing list<br>
                      <a moz-do-not-send="true"
                        href="mailto:sr-users@lists.sip-router.org"
                        target="_blank">sr-users@lists.sip-router.org</a><br>
                      <a moz-do-not-send="true"
                        href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users"
                        target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br>
                    </blockquote>
                    <br>
                    <br>
                    _______________________________________________<br>
                    SIP Express Router (SER) and Kamailio (OpenSER) -
                    sr-users mailing list<br>
                    <a moz-do-not-send="true"
                      href="mailto:sr-users@lists.sip-router.org"
                      target="_blank">sr-users@lists.sip-router.org</a><br>
                    <a moz-do-not-send="true"
                      href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users"
                      target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br>
                    <br>
                  </blockquote>
                  <br>
                  <br>
                </blockquote>
                <br>
                -- <br>
                Daniel-Constantin Mierla - <a moz-do-not-send="true"
                  href="http://www.asipto.com" target="_blank">http://www.asipto.com</a><br>
                <a moz-do-not-send="true"
                  href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a>
                - <a moz-do-not-send="true"
                  href="http://www.linkedin.com/in/miconda"
                  target="_blank">http://www.linkedin.com/in/miconda</a><br>
                Kamailio Advanced Training, Seattle, USA, Sep 23-26,
                2012 - <a moz-do-not-send="true"
                  href="http://asipto.com/u/katu" target="_blank">http://asipto.com/u/katu</a><br>
                Kamailio Practical Workshop, Netherlands, Sep 10-12,
                2012 - <a moz-do-not-send="true"
                  href="http://asipto.com/u/kpw" target="_blank">http://asipto.com/u/kpw</a><br>
                <br>
                <br>
                <br>
                <br>
                _______________________________________________<br>
                SIP Express Router (SER) and Kamailio (OpenSER) -
                sr-users mailing list<br>
                <a moz-do-not-send="true"
                  href="mailto:sr-users@lists.sip-router.org"
                  target="_blank">sr-users@lists.sip-router.org</a><br>
                <a moz-do-not-send="true"
                  href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users"
                  target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Daniel-Constantin Mierla - <a class="moz-txt-link-freetext" href="http://www.asipto.com">http://www.asipto.com</a>
<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>
Kamailio Advanced Training, Seattle, USA, Sep 23-26, 2012 - <a class="moz-txt-link-freetext" href="http://asipto.com/u/katu">http://asipto.com/u/katu</a>
Kamailio Practical Workshop, Netherlands, Sep 10-12, 2012 - <a class="moz-txt-link-freetext" href="http://asipto.com/u/kpw">http://asipto.com/u/kpw</a></pre>
    <br>
    <br>
  </body>
</html>