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 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 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 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 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 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 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 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 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>"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 href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a><br>
<a 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 href="http://www.asipto.com" target="_blank">http://www.asipto.com</a><br>
<a href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a>
- <a 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 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 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 href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a><br>
<a 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 href="http://www.ng-voice.com" target="_blank">http://www.ng-voice.com</a><br>
mailto:<a href="mailto:carsten@ng-voice.com" target="_blank">carsten@ng-voice.com</a><br>
<br>
Mobile <a href="tel:%2B49%20179%202021244" value="+491792021244" target="_blank">+49 179
2021244</a><br>
Office <a href="tel:%2B49%2040%2034927219" value="+494034927219" target="_blank">+49 40
34927219</a><br>
Fax <a 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 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 href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a><br>
<a 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 href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a><br>
<a 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 href="http://www.asipto.com" target="_blank">http://www.asipto.com</a><br>
<a href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a>
- <a 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 href="http://asipto.com/u/katu" target="_blank">http://asipto.com/u/katu</a><br>
Kamailio Practical Workshop, Netherlands, Sep 10-12,
2012 - <a 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 href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a><br>
<a 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 href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
<a href="http://twitter.com/#!/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a 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 href="http://asipto.com/u/katu" target="_blank">http://asipto.com/u/katu</a>
Kamailio Practical Workshop, Netherlands, Sep 10-12, 2012 - <a href="http://asipto.com/u/kpw" target="_blank">http://asipto.com/u/kpw</a></pre>
<br>
<br>
</div></div></div>
</blockquote></div><br></div>