[OpenSIPS-Users] [OpenSIPS-Devel] LCR-like modules

Bogdan-Andrei Iancu bogdan at voice-system.ro
Fri Aug 29 18:08:53 CEST 2008


Hi Angel,

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

Regards,
Bogdan



More information about the Users mailing list