<div dir="ltr">But is this working yet? I see it is in the tree (1.3.2) but didn&#39;t compile, I haven&#39;t tried, but will it?<br><br>David<br><br><div class="gmail_quote">On Fri, Aug 29, 2008 at 6:08 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 Angel,<br>
<div class="Ih2E3d"><br>
Angel Carpintero wrote:<br>
&gt; El vie, 29-08-2008 a las 10:39 +0300, Bogdan-Andrei Iancu escribió:<br>
&gt;<br>
&gt;&gt; Hi,<br>
&gt;&gt;<br>
&gt;&gt; Following some discussions on the #opensips IRC channel about the LCR<br>
&gt;&gt; module, I will like to push the topic further.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; First, what is the status with the LCR module:<br>
&gt;&gt;<br>
&gt;&gt; 1) technical limitations<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; a) linear search through rules - quite slow<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; b) cannot handle large numbers of rules - limited number (in C<br>
&gt;&gt; code) of rules and gateways<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; c) no inbound processing (only outbound)<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; d) difficult to enhanced as it has a bit twisted design - the<br>
&gt;&gt; module was originally designed for DB-only search and later caching was<br>
&gt;&gt; added<br>
&gt;&gt;<br>
&gt;<br>
&gt; Bogdan , i&#39;m agree about LCR limitations ... so as i already told you i<br>
&gt; moved my setup to carrierroute , although failover with load balance is<br>
&gt; not good enough on carrierroute.<br>
&gt;<br>
&gt;<br>
</div>This is another topic that needs to be discussed - there are modules<br>
that share almost 70% of functionality - like lcr and carrierroute - the<br>
idea will be to merge all of them at the end.<br>
<div class="Ih2E3d">&gt;&gt; 2) management issues - there is no maintainer for the module, so<br>
&gt;&gt; development for this module may stale.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Solution:<br>
&gt;&gt;<br>
&gt;&gt; We have a similar module (named Dynamic Routing - drouting) that<br>
&gt;&gt; provides the same LCR functionality (based on rules and GW) and even more.<br>
&gt;&gt; Technical adds:<br>
&gt;&gt;<br>
&gt;<br>
&gt; droute module looks that was introduced ( maybe by error in<br>
&gt; openser-1.3.2 )<br>
&gt;<br>
&gt; <a href="http://www.kamailio.net/pub/kamailio/1.3.2/src/" target="_blank">http://www.kamailio.net/pub/kamailio/1.3.2/src/</a><br>
&gt;<br>
&gt; is the same drouting module are you talking about ?<br>
&gt;<br>
&gt;<br>
</div>yes, that was my bad!! :D - when i generated the package for openser<br>
1.3.2, I forgot to remove the module from my SVN tree :P.....<br>
<div class="Ih2E3d">&gt;&gt; &nbsp; &nbsp; - internal data organized as a search tree - very fast to search<br>
&gt;&gt; through ( O(log(n)) instead of O(n) )<br>
&gt;&gt; &nbsp; &nbsp; - unlimited number of rules and gateways (running on a production<br>
&gt;&gt; setup with 200K rules and with no search penalties)<br>
&gt;&gt; &nbsp; &nbsp; - rule matching may include time intervals and recurrence (when the<br>
&gt;&gt; rule is valid)<br>
&gt;&gt; &nbsp; &nbsp; - a rule may point to set of GWs to be used for (1) sequential<br>
&gt;&gt; selection, (2) random selection , (3) weight selection<br>
&gt;&gt; &nbsp; &nbsp; - inbound processing - prefix and strip for calls originated by the GWs<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt; Looks good !<br>
&gt;<br>
&gt; What about adding new rules in realtime ? ( carrierroute is pretty slow<br>
&gt; to reload routes &quot;cr reload&quot; ).<br>
&gt;<br>
</div>Drouting is taking ~3 seconds to reload 200K of rules.<br>
<div class="Ih2E3d">&gt;<br>
&gt;&gt; This module is almost 3 years old and stable - it is what we use in our<br>
&gt;&gt; production setups.<br>
&gt;&gt; Also, the module already has a nice web interface for provisioning (it<br>
&gt;&gt; will released in the next month, along with an OpenSIPs Control Panel<br>
&gt;&gt; Web interface)<br>
&gt;&gt; Of course, we (Voice System) will take care and maintain the module. We<br>
&gt;&gt; will also reduce our burn of maintaining the module privately ;)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; So, the idea is to replace the LCR module with the DRouting module to:<br>
&gt;&gt; &nbsp; &nbsp; 1) technical advantages<br>
&gt;&gt; &nbsp; &nbsp; 2) maintenance advantages<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; I &nbsp;will like to know the opinion of this (if you find it a good or bad<br>
&gt;&gt; idea), especially from the people using LCR module. Of course I will<br>
&gt;&gt; prepare a more details documentation of this module for a better<br>
&gt;&gt; understanding.<br>
&gt;&gt;<br>
&gt;<br>
&gt; I&#39;m excited with this &quot;new&quot; module , so you have my support to do some<br>
&gt; testing and give some ideas.<br>
&gt;<br>
</div>The module is really stable - the feedback is more about functionality,<br>
but first I need to post the detailed description.<br>
<div><div></div><div class="Wj3C7c"><br>
Regards,<br>
Bogdan<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>