<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hello,<br>
<br>
if you are using integer UID, I would suggest you use modulo
operation to select the destination address -- this will require
config operations only.<br>
<br>
Another option you can map an UID to a dispatcher set id (e.g., via
mtree or htable) and then you can do the alg 8.<br>
<br>
Cheers,<br>
Daniel<br>
<br>
<div class="moz-cite-prefix">On 6/7/12 1:37 PM, SamyGo wrote:<br>
</div>
<blockquote
cite="mid:CAJUJwtiRKfmsg=sOfAry8k3MxntbbEDjEf_JLpTu_g-iDp-FbQ@mail.gmail.com"
type="cite">Hi again,
<div>yes my scenario is quiet simple. I've lots of users and
groups of those users are defined by UIDs, one UID means 70
users of one client whereas other UID could've 3 users of
another client. </div>
<div>
So what I am trying to implement here is that calls from one
same UID are always routed to exactly one same destination
server. That'll help in issues like call-parking, call-pickup,
conference calls etc.</div>
<div><br>
</div>
<div>I hope I've explained the scenario in simpler terms here.</div>
<div><br>
</div>
<div>Regards,</div>
<div>Sammy Go.</div>
<div><br>
<br>
<div class="gmail_quote">On Thu, Jun 7, 2012 at 4:20 PM,
Daniel-Constantin Mierla <span dir="ltr"><<a
moz-do-not-send="true" href="mailto:miconda@gmail.com"
target="_blank">miconda@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div 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
<div>
<div class="h5"><br>
<br>
<div>On 6/6/12 6:09 PM, SamyGo wrote:<br>
</div>
<blockquote 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> <br>
<br>
<div class="gmail_quote">On Mon, Jun 4, 2012 at
3:33 PM, Daniel-Constantin Mierla <span
dir="ltr"><<a moz-do-not-send="true"
href="mailto:miconda@gmail.com"
target="_blank">miconda@gmail.com</a>></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>
<div><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>
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 <<a
moz-do-not-send="true"
href="mailto:govoiper@gmail.com"
target="_blank">govoiper@gmail.com</a>>:<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 <<a
moz-do-not-send="true"
href="mailto:carsten@ng-voice.com"
target="_blank">carsten@ng-voice.com</a>>
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 <<a
moz-do-not-send="true"
href="mailto:govoiper@gmail.com"
target="_blank">govoiper@gmail.com</a>>:<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>
<<a moz-do-not-send="true"
href="mailto:miconda@gmail.com"
target="_blank">miconda@gmail.com</a>>
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
moz-do-not-send="true">"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>
ds_load_update();<br>
if(!ds_select_dst("1","7")) {<br>
sl_send_reply("500", "No
destination<br>
available");<br>
xlog("route[MAIN] : $rm : No
destinations<br>
available for $rd");<br>
exit;<br>
}<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äftsfü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äftsfü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 cols="72">--
Daniel-Constantin Mierla - <a moz-do-not-send="true" href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
<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>
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>
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></pre>
<br>
<br>
</div>
</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>