Hello,

some comments inline...

On 8/18/11 12:59 PM, Henning Westerholt wrote:
On Wednesday 17 August 2011, Spencer Thomason wrote:
Can anyone shed some light into the differences between the available LCR
modules?  We have migrated our config from OpenSIPS where we used the
drouting module to Kamailio where we are using the lcr module.  Our
ruleset is not crazy huge, about 100k entries.  Are there compelling
reasons to choose one module over the other?  Is there one that has the
most active development behind it and is a "standard" for the platform or
is there one that will be deprecated in the foreseeable future?
Hi Spencer,

the carrierroute module is also actively maintained, mtree as well. The
drouting is available but probably the one with the least usage here. Its
initial import has been done from Raul Alexis and I guess they use it in
production, but don't know details. There were also some patches from other
people in the last year, but recently it has seen not that much activity.

The modules differ mostly in their provided configuration interface, their
capabilities and the internal used datastructures IMHO.

lcr
* introduced in 0.9.x times, reworked several times
* provided initially support for a limited number of routes, today it supports
large route sets as well
* provides easy failover functionaly to try sequentially several gateways
* uses internally a hash table

cr
* introduced in 1.3, reworked for 1.5
* support larger route sets
* provides flexible failure routing capabilities with a dedicated table, but
is more complicated to setup and use
* uses a trie (tree) internally

mtree
* introduced in 3.1
* support larger route sets
* provides generic tree matching functionality, but without that much
additional functionality
* uses a tree internally
mtree is indeed more like a generic tool to store some data in memory, indexed in a tree, based on prefix-like keys. The you have to do your logic in config file. For example, this module together with dispatcher are used extensively by us to build all kinds of least cost routing systems.

drouting
* ported from opensips for 3.0
* support larger route sets
* provides failover capabilities and some special matching as time or date
* uses a trie (tree) internally
This modules was actually around since 2005 (see history remarks in modules_k/drouting/drouting.c) and I am very familiar with its code. I'm not using it lately, but if someone reports issues they are going to be fixed. I know many people using it, therefore I guess it just works fine.
Cheers,
Daniel

--
Daniel-Constantin Mierla -- http://www.asipto.com
Kamailio Advanced Training, Oct 10-13, Berlin: http://asipto.com/u/kat
http://linkedin.com/in/miconda -- http://twitter.com/miconda


_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to