[SR-Users] Dispatcher alg:7 not working accordingly
Daniel-Constantin Mierla
miconda at gmail.com
Thu Jun 7 13:20:55 CEST 2012
Hello,
that hash function is intended for hashing alpha-numeric usernames and
has a fair distribution for such cases.
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.
Maybe if you explain what is your target to implement, we can provide
the right hints to do it.
Cheers,
Daniel
On 6/6/12 6:09 PM, SamyGo wrote:
> 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 <mailto: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=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=ae0c51b122d34e29b3474957a64b24ff492cfcd5;hb=HEAD
>
> It was originally implemented to distribute usernames to servers,
> which worked fine.
>
> Carsten
>
> 2012/6/4 SamyGo <govoiper at gmail.com <mailto: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 <mailto: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
> <mailto: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 <mailto: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
> <mailto:sr-users at 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://twitter.com/#%21/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
> <mailto:sr-users at 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 at ng-voice.com <mailto:carsten at ng-voice.com>
>
> Mobile +49 179 2021244 <tel:%2B49%20179%202021244>
> Office +49 40 34927219 <tel:%2B49%2040%2034927219>
> Fax +49 40 34927220 <tel:%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 at lists.sip-router.org
> <mailto:sr-users at 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 at lists.sip-router.org
> <mailto:sr-users at 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://twitter.com/#%21/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 <mailto:sr-users at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20120607/cc175b11/attachment-0001.htm>
More information about the sr-users
mailing list