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