I am configuring a Kamailio node that will interface with 3 carriers and will
implement Least Cost Routing for around 900 destinations.
I have already implemented a quick prototype with the LCR module and I have
been reading the CarrierRoute doc and the CGrates site.
I don't really need advanced functionality, just:
- Re-routing to a backup carrier when the main one is not available.
- Ping with OPTIONS to all carriers so I can detect if any of them is
not available (à la Dispatcher)
- Translate prices from a central DB to routing priorities.
- Get some accounting post-call info about the routing decision (acc
So far, while testing the LCR module I have had some issues with the rule IDs
being integers that auto-increment, so the LCR rules need to be referenced from
the rule_target table using this numeric ID. I can see some issues when scaling
this to 900 lcr_rules and 2700 lcr_rule_targets with 3 priorities.
In addition to that, I think the OPTIONS mechanism is just used by the lcr
module when a gateway is marked as defunct, but the gateways are not actively
monitored in the normal status. Is this correct?
I have been considering CarrierRoute, which has a slightly simpler table
structure, but I can't find any other advantage for my use case. Regarding
CGrates, it looks great but it looks like it exceeds my current needs.
For those who have implemented LCR in your kamailios, am I missing something
regarding performance, scalability, etc?
Are there any newer modules that can implement this, or maybe just a
dispatcher-on-steroids setup will do the trick?
Kamailio (SER) - Users Mailing List