<div dir="ltr">Thanks for the response.<br><br>I think i got the required action.<br><br>following is the DBG messages<br><br>Aug 18 14:53:10 [23018] DBG:dispatcher:ds_select_dst: set [2]<br>Aug 18 14:53:10 [23018] DBG:dispatcher:ds_select_dst: alg hash [0]<br>
Aug 18 14:53:10 [23018] DBG:dispatcher:ds_select_dst: selected [4-2/0] &lt;sip:*.*.*.137:5080&gt;<br>.<br>.<br>.<br>Aug 18 14:53:11 [23018] DBG:dispatcher:ds_select_dst: set [2]<br>Aug 18 14:53:11 [23018] DBG:dispatcher:ds_select_dst: alg hash [1]<br>
Aug 18 14:53:11 [23018] DBG:dispatcher:ds_select_dst: selected [4-2/1] &lt;sip:*.*.*.59:5080&gt;<br>.<br>.<br>.<br>.<br>Aug 18 14:53:12 [23018] DBG:dispatcher:ds_select_dst: set [2]<br>Aug 18 14:53:12 [23018] DBG:dispatcher:ds_select_dst: alg hash [0]<br>
Aug 18 14:53:12 [23018] DBG:dispatcher:ds_select_dst: selected [4-2/0] &lt;sip:*.*.*.137:5080&gt;<br>..<br>.<br>.<br>.<br>.<br>.<br>Aug 18 14:53:14 [23018] DBG:dispatcher:ds_select_dst: set [2]<br>Aug 18 14:53:14 [23018] DBG:dispatcher:ds_select_dst: alg hash [1]<br>
Aug 18 14:53:14 [23018] DBG:dispatcher:ds_select_dst: selected [4-2/1] &lt;sip:*.*.*.59:5080&gt;<br>.<br>.<br>.<br>.<br>.<br>.<br>Aug 18 14:53:18 [23018] DBG:dispatcher:ds_select_dst: set [2]<br>Aug 18 14:53:18 [23018] DBG:dispatcher:ds_select_dst: alg hash [0]<br>
Aug 18 14:53:18 [23018] DBG:dispatcher:ds_select_dst: selected [4-2/0] &lt;sip:*.*.*.137:5080&gt;<br>.<br>.<br>.<br>.<br>Aug 18 14:53:26 [23018] DBG:dispatcher:ds_select_dst: set [2]<br>Aug 18 14:53:26 [23018] DBG:dispatcher:ds_select_dst: alg hash [1]<br>
Aug 18 14:53:26 [23018] DBG:dispatcher:ds_select_dst: selected [4-2/1] &lt;sip:*.*.*.59:5080&gt;<br>.<br>.<br>.<br><br><br>Few concerns / doubts are.<br><br>1) If i use&nbsp; the &quot;0&quot; (hash on callid) instead of &quot;4&quot; (round robin) , does this mean that there is no gaurenty that all the messages of one UA will be going to same server.<br>
<br>2) If i use the &quot;0&quot; does this also take care of load balancing. In round robin i observed it is like 1:1 forwarding to the servers , what would be in the &quot;0&quot; case ?<br><br>3) In general what would be the best option to use with the dispatcher in load balancing for the half a million users.<br>
<br><br>thanks ..<br><div class="gmail_quote">On Mon, Aug 18, 2008 at 1:56 PM, Bogdan-Andrei Iancu <span dir="ltr">&lt;<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi David,<br>
<br>
This should not be an issue - normally you should do dispatching only on<br>
the original requests and use record_route/loose_route for the<br>
sequential requests (with no dispatching). CANCEL are automatically<br>
routed to the same destination as INVITE by TM, so again, you do not<br>
need to do dispatching on them.<br>
<br>
Regards<br>
<font color="#888888">Bogdan<br>
</font><div><div></div><div class="Wj3C7c"><br>
David Villasmil wrote:<br>
&gt; Hello,<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp;You can&#39;t simply do a round-robin on all messages, you must do it<br>
&gt; with hash on call id. At least in my experience. That&#39;s because if you<br>
&gt; send an invite to server 1 and receive a CANCEL and your simply doing<br>
&gt; rr it is not guarateed to go to the same server you sent the original<br>
&gt; INVITE to.... But if you use hash over call-id you can be sure all<br>
&gt; subsequent messages are delivered to the correct server.<br>
&gt;<br>
&gt;<br>
&gt; David<br>
&gt;<br>
&gt; On Sun, Aug 17, 2008 at 8:12 PM, Bogdan-Andrei Iancu<br>
&gt; &lt;<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; Hi there,<br>
&gt;&gt;<br>
&gt;&gt; do you get any error into the logs?<br>
&gt;&gt;<br>
&gt;&gt; have you tried to use a different algorithm like 0 (hash over the<br>
&gt;&gt; callid) - second param, to see if there is any difference?<br>
&gt;&gt;<br>
&gt;&gt; Regards,<br>
&gt;&gt; Bogdan<br>
&gt;&gt;<br>
&gt;&gt; technocrat voip wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; I am have openser installed and my expectation with the below<br>
&gt;&gt;&gt; configuration is open ser will forward the request it gets to the<br>
&gt;&gt;&gt; other servers ( dispatch.cfg ) in round robin fashion .<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I mean first will goto the first serer and second to the second server<br>
&gt;&gt;&gt; and third again to first server like that..<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; My configs are like below<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; openser.cfg<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; children=4<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; /* uncomment the following lines to enable debugging */<br>
&gt;&gt;&gt; debug=9<br>
&gt;&gt;&gt; fork=no<br>
&gt;&gt;&gt; log_stderror=yes<br>
&gt;&gt;&gt; port=5060<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; /* uncomment and configure the following line if you want openser to<br>
&gt;&gt;&gt; &nbsp; &nbsp;bind on a specific interface/port/proto (default bind on all<br>
&gt;&gt;&gt; available) */<br>
&gt;&gt;&gt; listen=udp:xxx.xxx.xxx.204:5060<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; ####### Modules Section ########<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; #set module path<br>
&gt;&gt;&gt; mpath=&quot;/usr/local/lib/openser/modules/&quot;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; /* uncomment next line for MySQL DB support */<br>
&gt;&gt;&gt; #loadmodule &quot;mysql.so&quot;<br>
&gt;&gt;&gt; loadmodule &quot;sl.so&quot;<br>
&gt;&gt;&gt; loadmodule &quot;tm.so&quot;<br>
&gt;&gt;&gt; loadmodule &quot;rr.so&quot;<br>
&gt;&gt;&gt; loadmodule &quot;maxfwd.so&quot;<br>
&gt;&gt;&gt; loadmodule &quot;usrloc.so&quot;<br>
&gt;&gt;&gt; loadmodule &quot;registrar.so&quot;<br>
&gt;&gt;&gt; loadmodule &quot;textops.so&quot;<br>
&gt;&gt;&gt; loadmodule &quot;mi_fifo.so&quot;<br>
&gt;&gt;&gt; loadmodule &quot;uri_db.so&quot;<br>
&gt;&gt;&gt; loadmodule &quot;uri.so&quot;<br>
&gt;&gt;&gt; loadmodule &quot;xlog.so&quot;<br>
&gt;&gt;&gt; loadmodule &quot;acc.so&quot;<br>
&gt;&gt;&gt; loadmodule &quot;dispatcher.so&quot;<br>
&gt;&gt;&gt; # ----------------- setting module-specific parameters ---------------<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; # ----- mi_fifo params -----<br>
&gt;&gt;&gt; modparam(&quot;mi_fifo&quot;, &quot;fifo_name&quot;, &quot;/tmp/openser_fifo&quot;)<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; # ----- rr params -----<br>
&gt;&gt;&gt; # add value to ;lr param to cope with most of the UAs<br>
&gt;&gt;&gt; modparam(&quot;rr&quot;, &quot;enable_full_lr&quot;, 1)<br>
&gt;&gt;&gt; # do not append from tag to the RR (no need for this script)<br>
&gt;&gt;&gt; modparam(&quot;rr&quot;, &quot;append_fromtag&quot;, 0)<br>
&gt;&gt;&gt; # ----- rr params -----<br>
&gt;&gt;&gt; modparam(&quot;registrar&quot;, &quot;method_filtering&quot;, 1)<br>
&gt;&gt;&gt; # ----- uri_db params -----<br>
&gt;&gt;&gt; /* by default we disable the DB support in the module as we do not need it<br>
&gt;&gt;&gt; &nbsp; &nbsp;in this configuration */<br>
&gt;&gt;&gt; modparam(&quot;uri_db&quot;, &quot;use_uri_table&quot;, 0)<br>
&gt;&gt;&gt; modparam(&quot;uri_db&quot;, &quot;db_url&quot;, &quot;&quot;)<br>
&gt;&gt;&gt; # ----- usrloc params -----<br>
&gt;&gt;&gt; modparam(&quot;usrloc&quot;, &quot;db_mode&quot;, &nbsp; 0)<br>
&gt;&gt;&gt; /* uncomment the following lines if you want to enable DB persistency<br>
&gt;&gt;&gt; &nbsp; &nbsp;for location entries */<br>
&gt;&gt;&gt; #modparam(&quot;usrloc&quot;, &quot;db_mode&quot;, &nbsp; 2)<br>
&gt;&gt;&gt; #modparam(&quot;usrloc&quot;, &quot;db_url&quot;,<br>
&gt;&gt;&gt; # &nbsp; &nbsp;&quot;mysql://openser:openserrw@localhost/openser&quot;)<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; # ----- auth_db params -----<br>
&gt;&gt;&gt; /* uncomment the following lines if you want to enable the DB based<br>
&gt;&gt;&gt; &nbsp; &nbsp;authentication */<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; #------ dispatcher params -----<br>
&gt;&gt;&gt; modparam(&quot;dispatcher&quot;,&quot;list_file&quot;,&quot;/usr/local/etc/openser/dispatcher.cfg&quot;)<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; ####### Routing Logic ########<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; # main request routing logic<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; route{<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp; log(1,&quot;This is the another log message \n&quot;);<br>
&gt;&gt;&gt; &nbsp; &nbsp; xlog(&quot;L_INFO&quot;, &quot;SIP Request: method [$rm] from [$fu] to [$tu]\n&quot;);<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp; if (!mf_process_maxfwd_header(&quot;10&quot;)) {<br>
&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; sl_send_reply(&quot;483&quot;,&quot;Too Many Hops&quot;);<br>
&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; exit;<br>
&gt;&gt;&gt; &nbsp; &nbsp; }<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp; ds_select_dst(&quot;2&quot;,&quot;4&quot;);<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp; forward();<br>
&gt;&gt;&gt; }<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; dispatcher.cfg<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; # $Id: dispatcher.list 3662 2008-02-07 13:06:00Z miconda $<br>
&gt;&gt;&gt; # dispatcher destination sets<br>
&gt;&gt;&gt; #<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; # line format<br>
&gt;&gt;&gt; # setit(integer) destination(sip uri) flags (integer, optional)<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; # proxies<br>
&gt;&gt;&gt; 2 sip:xx.xx.xxx.137:5080<br>
&gt;&gt;&gt; 2 sip:xxx.xxx.xx.59:5080<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; continously it goes to 59 only it never goes to 137 ..<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Any help in this would be appreciated.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Please<br>
&gt;&gt;&gt; ------------------------------------------------------------------------<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; Users mailing list<br>
&gt;&gt;&gt; <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>
&gt;&gt;&gt; <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Users mailing list<br>
&gt;&gt; <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>
&gt;&gt; <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Users mailing list<br>
&gt; <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>
&gt; <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
&gt;<br>
&gt;<br>
<br>
<br>
_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
</div></div></blockquote></div><br></div>