On Thu, April 30, 2009 5:21 pm, Stagg Shelton wrote:
I'm using the lcr module in the 1.4.4 source
tar.gz. I have just
gotten kamailio to successfully start by increasing the shared memory
using the command parameter -m 1024.
Hi Stagg,
good that its work for you now.
I had initially thought about
using carrierroute instead of LCR just because we currently use use
carrierroute to send specific customers out to specific upstream
carriers. I was concerned that carrierroute wasn't designed to handle
such a large number of routes, and had found other posts in this
mailling list where people had stated using LCR with 300,000+ routes
with no issues.
Hm, not sure why you got this impression. There are people that use cr
with a million of routing rules, it was designed for huge setups.
I also am following the changes in the 1.5 branch and
notice that LCR
now uses fetch_rows like carrierroute does. I have considered
upgrading directly from 1.3.3 to 1.5.1, but am cautious as I do not
want to bring anything disruptive into a very stable production
environment, so I fell back to 1.4.4 thinking that the code has had
more time to mature, and have many issues resolved.
I understand your concerns. But as Juha said, i also suggest to update to
1.5. In 1.3 and 1.4 lcr the routes are organised in a list, so lookup time
is O(route number) (Juha, please correct me when i'm wrong here). The
version in 1.5 uses better datastructures (like a hash table) and you
should see a much better performance. The cr module uses a digit trie,
with lookup time of O(searched prefix length).
Cheers,
Henning