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(a)gmail.com <mailto:miconda@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=83a558f…
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_…
It was originally implemented to distribute usernames to servers,
which worked fine.
Carsten
2012/6/4 SamyGo <govoiper(a)gmail.com <mailto:govoiper@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(a)ng-voice.com <mailto:carsten@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
<mailto:govoiper@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(a)gmail.com <mailto:miconda@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
<mailto:sr-users@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(a)lists.sip-router.org
<mailto:sr-users@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 <mailto:carsten@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(a)lists.sip-router.org
<mailto:sr-users@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
<mailto:sr-users@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(a)lists.sip-router.org <mailto:sr-users@lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users