[SR-Users] Dispatcher alg:7 not working accordingly

SamyGo govoiper at gmail.com
Wed Jun 6 18:09:48 CEST 2012


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. !


On Mon, Jun 4, 2012 at 3:33 PM, Daniel-Constantin Mierla
<miconda at gmail.com>wrote:

> 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:
>
> http://git.sip-router.org/cgi-**bin/gitweb.cgi/sip-router/?a=**commit;h=**
> 83a558fbad700198a8667ef01f7562**69d7e2c310<http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=83a558fbad700198a8667ef01f756269d7e2c310>
>
> Should be easy to backport if other version is used.
>
> Cheers,
> Daniel
>
>
> On 6/4/12 12:23 PM, Carsten Bock wrote:
>
>> 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)
>> http://git.sip-router.org/cgi-**bin/gitweb.cgi?p=sip-router;a=**
>> blob;f=modules_k/dispatcher/**dispatch.c;h=**
>> ae0c51b122d34e29b3474957a64b24**ff492cfcd5;hb=HEAD<http://git.sip-router.org/cgi-bin/gitweb.cgi?p=sip-router;a=blob;f=modules_k/dispatcher/dispatch.c;h=ae0c51b122d34e29b3474957a64b24ff492cfcd5;hb=HEAD>
>>
>> It was originally implemented to distribute usernames to servers,
>> which worked fine.
>>
>> Carsten
>>
>> 2012/6/4 SamyGo <govoiper at gmail.com>:
>>
>>> 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 at 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 at gmail.com>:
>>>>
>>>>> 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 at 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 at 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 at 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 at 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 at lists.sip-router.org
>>>>>> http://lists.sip-router.org/**cgi-bin/mailman/listinfo/sr-**users<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<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 at lists.sip-router.org
>>>>> http://lists.sip-router.org/**cgi-bin/mailman/listinfo/sr-**users<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 at ng-voice.com
>>>>
>>>> Mobile +49 179 2021244
>>>> Office +49 40 34927219
>>>> Fax +49 40 34927220
>>>>
>>>> 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/ <http://www.ng-voice.com/imprint/>
>>>>
>>>> ______________________________**_________________
>>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>>> sr-users at lists.sip-router.org
>>>> http://lists.sip-router.org/**cgi-bin/mailman/listinfo/sr-**users<http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users>
>>>>
>>>
>>>
>>> ______________________________**_________________
>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>> sr-users at lists.sip-router.org
>>> http://lists.sip-router.org/**cgi-bin/mailman/listinfo/sr-**users<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<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 at lists.sip-router.org
> http://lists.sip-router.org/**cgi-bin/mailman/listinfo/sr-**users<http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20120606/a8475ef2/attachment-0001.htm>


More information about the sr-users mailing list