It's hard to say, most likely not. You find
the used hash-function here:
841 unsigned int ds_get_hash(str *x, str *y)
It was originally implemented to distribute usernames to servers,
which worked fine.
Carsten
2012/6/4 SamyGo <govoiper(a)gmail.com>om>:
Thanks Sir,
Thats what I expected. Do you think this will change if I use only two
values with huge difference in each other, lets say {26000,29000} ?
Regards,
Sammy
On Mon, Jun 4, 2012 at 3:05 PM, Carsten Bock <carsten(a)ng-voice.com>
wrote:
> Hi,
>
> this functionality uses a generic "hash" function to generate an
> Integer-Value of the PVAR and then reduces this to the number hosts in
> your destination set.
> If you have only using two different values of the PVAR and only two
> hosts in the dispatcher list, it can likely happen, that the same host
> is choosen. You should try a wider range of values for your PVAR...
> (e.g. try 1000 different values), then you should see a distribution.
>
> Carsten
>
> 2012/6/4 SamyGo <govoiper(a)gmail.com>om>:
>
>> Hi,
>>
>> No, nothing at all. I haven't went too deep into debug logs but no
>> internal
>> error was appearing. Everything was as calm as ever and I only get one
>> destination uri.
>>
>> So maybe what I'm getting from your email is that , for this to work
>> the
>> way
>> I expect is to have more unique and random values in my hash_pvar to
>> get
>> the
>> required functionality.
>>
>> Thanks once again,
>> BR
>> SG
>>
>> On Mon, Jun 4, 2012 at 11:52 AM, Daniel-Constantin Mierla
>> <miconda(a)gmail.com> wrote:
>>
>>> Hello,
>>>
>>> do you get any errors in the log?
>>>
>>> Be aware that hash functions may return same code for different input
>>> values. A hash function is guaranteed to return same code for same
>>> input
>>> value, but there can be collisions of codes for different values.
>>>
>>> Cheers,
>>> Daniel
>>>
>>>
>>> On 6/3/12 3:41 PM, SamyGo wrote:
>>>
>>> Hello,
>>>
>>> I'm having trouble using algorithm 7 in dispatcher module. Here is my
>>> kamailio version. The problem is that despite multiple dispatcher
>>> entries
>>> corresponding to one set all calls go only to only one destination.
>>>
>>>
>>> [root@control1 ~]# kamailio -V
>>> version: kamailio 3.2.3 (x86_64/linux) 59f87e
>>> 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
>>> ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
>>> MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 4MB
>>> poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
>>> id: 59f87e
>>> compiled on 18:04:08 Apr 19 2012 with gcc 4.1.2
>>> [root@control1 ~]#
>>>
>>> Here is the dipacther module params.
>>>
>>>
>>>
>>> # ------- Load-balancer params ------
>>> modparam("dispatcher", "db_url", DBURL)
>>> modparam("dispatcher", "table_name",
"dispatcher")
>>> modparam("dispatcher", "setid_col", "setid")
>>> modparam("dispatcher", "destination_col",
"destination")
>>> modparam("dispatcher", "force_dst", 1)
>>> modparam("dispatcher", "flags", 3)
>>> modparam("dispatcher", "dst_avp",
"$avp(i:271)")
>>> modparam("dispatcher", "cnt_avp",
"$avp(i:273)")
>>> modparam("dispatcher", "ds_ping_from",
"sip:proxy@109.XXX.2XX.XX")
>>> modparam("dispatcher", "ds_ping_interval",15)
>>> modparam("dispatcher", "ds_probing_mode", 1)
>>> modparam("dispatcher", "ds_ping_reply_codes",
>>> "class=2;code=403;code=404;code=484;class=3")
>>> modparam("dispatcher", "hash_pvar",
"$avp(i:274)")
>>> modparam("dispatcher", "ds_hash_size", 9)
>>> modparam("dispatcher", "ds_hash_initexpire", 60)
>>>
>>>
>>>
>>> Below is the function call based on avp(i:274)
>>>
>>>
>>>
>>> avp_db_query("select uid from uid_did_map where accountcode =
>>> '$fU'","$avp(i:274)");
>>> xlog("L_INFO","$rm from $fu (IP:$si:$sp) ---------
>>> UID:'$avp(i:274)-----------'\n");
>>> ds_load_update();
>>> if(!ds_select_dst("1","7")) {
>>> sl_send_reply("500", "No destination
>>> available");
>>> xlog("route[MAIN] : $rm : No destinations
>>> available for $rd");
>>> exit;
>>> }
>>>
>>>
>>> I'm getting two different values for avp(i:274) {26,29} but the
>>> destination are not hashed on its base.
>>>
>>> Please help.
>>>
>>> Regards,
>>> Sammy G.
>>>
>>>
>>>
>>> _______________________________________________
>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing
>>> list
>>> sr-users(a)lists.sip-router.org
>>>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>>
>>> --
>>> Daniel-Constantin Mierla -
http://www.asipto.com
>>>
http://twitter.com/#!/miconda -
http://www.linkedin.com/in/miconda
>>> Kamailio Advanced Training, Seattle, USA, Sep 23-26, 2012 -
>>>
http://asipto.com/u/katu
>>> Kamailio Practical Workshop, Netherlands, Sep 10-12, 2012 -
>>>
http://asipto.com/u/kpw
>>>
>>>
>>>
>>>
>> _______________________________________________
>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing
>> list
>> sr-users(a)lists.sip-router.org
>>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>
>>
>
> --
> Carsten Bock
> CEO (Geschäftsführer)
>
> ng-voice GmbH
> Schomburgstr. 80
> D-22767 Hamburg / Germany
>
>
http://www.ng-voice.com
> mailto:carsten@ng-voice.com
>
> Mobile +49 179 2021244 <%2B49%20179%202021244>
> Office +49 40 34927219 <%2B49%2040%2034927219>
> Fax +49 40 34927220 <%2B49%2040%2034927220>
>
> Sitz der Gesellschaft: Hamburg
> Registergericht: Amtsgericht Hamburg, HRB 120189
> Geschäftsführer: Carsten Bock
> Ust-ID: DE279344284
>
> Hier finden Sie unsere handelsrechtlichen Pflichtangaben:
>
http://www.ng-voice.com/imprint/
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users(a)lists.sip-router.org
>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users