<div dir="ltr">The Call-ID hash is used to send all requests of the same dialog to the same endpoint (proxy,application server,gateway,whatever...).&nbsp; The reason after this behaviour is not to have these SIP endpoints sharing the status of all the dialogs (not many applications out there share this status and therefore you are required to send all within-dialog messages to the same SIP instance).<br>
<br>simple: to send the BYE to the same gateway you sent the INVITE...<br><br>This does not guarantee fare load distribution....that&#39;s why depending on what you are dispatching you can hash on several headers (if you don&#39;t have to keep dialog state,...)<br>
<br>hope it helps,<br>Sam<br><br><div class="gmail_quote">2008/9/29 Alex Balashov <span dir="ltr">&lt;<a href="mailto:abalashov@evaristesys.com">abalashov@evaristesys.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I am curious, what exactly is the purpose and philosophy of the various<br>
hash algorithms in the dispatcher module? &nbsp;I am referring to the ones<br>
that allow the gateway in the route set to be determined through a hash<br>
of various SIP headers, such as the From URI, the To URI, the Call-ID<br>
GUID, etc.<br>
<br>
No guarantee of fair distribution - or in fact, any distribution that<br>
can be characterised by any describable pattern whatsoever - is implied<br>
by these algorithms.<br>
<br>
Additionally, it seems that without knowing<br>
<br>
(1) The exact hash algorithm in use;<br>
<br>
(2) The distribution that this hash algorithm would yield for a given<br>
set of possible values of these header fields, which in many cases are<br>
specifically intended to be pseudorandom (e.g. Call-ID),<br>
<br>
there is absolutely no way to determine, from any meaningfully<br>
deterministic perspective, which numerical entry in the route set these<br>
algorithms would computationally yield.<br>
<br>
So, I guess my question is: &nbsp;With no implied uniformity or weighting in<br>
the distribution whatsoever based on the incidental character of such<br>
values, what practical use does it serve to use any algorithms except<br>
round-robin or random? &nbsp;Is it expected that the user will plot the hash<br>
values against a log of given input strings to determine how the<br>
distribution will shape up? &nbsp;Is there some reason why the sort of<br>
profoundly lopsided distribution that may create might be desirable?<br>
<br>
Thanks,<br>
<br>
--<br>
Alex Balashov<br>
Evariste Systems<br>
Web &nbsp; &nbsp;: <a href="http://www.evaristesys.com/" target="_blank">http://www.evaristesys.com/</a><br>
Tel &nbsp; &nbsp;: (+1) (678) 954-0670<br>
Direct : (+1) (678) 954-0671<br>
Mobile : (+1) (706) 338-8599<br>
<br>
_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.kamailio.org">Users@lists.kamailio.org</a><br>
<a href="http://lists.kamailio.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.kamailio.org/cgi-bin/mailman/listinfo/users</a><br>
</blockquote></div><br></div>