[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