On 29/04/15 12:34, Grant Bagdasarian wrote:
That sounds possible! Thanks.
That does this description mean: “Execution time of load_gws()
function is O(N) * O(M), where N is number of different prefix lengths
and M is number of collisions for matching prefix(es) in lcr rules
hash table of the LCR instance.”?
Does this mean it loads the data from its internal memory or does it
load the data from the database again?
load_gws() prepares an ordered list of gateways for current destination.
It loads data only from internal in-memory gateways db (hash table).
How fast does it select a gateway after load_gws using next_gw()? Is
it O(N) again?
O(1) since load_gws already prepared ordered (by price) list and
next_gw() only takes next gw in a list.
What about multiple combinations of capabilities? For example caller
id spoofing and g729 codec, or caller id spoofing and g711ulaw codec? Etc.
Wouldn’t this cause the data to grow exponentially?
It would.
Another idea:
You can also have only one lcr instance and keep gateways capabilities
in the tag field (serialized somehow). Then you can just iterate through
a list generated by load_gws() skipping gateways which don't match your
criteria and in the end a call will be routed to the cheapest gateway
with proper capabilities.
*From:*sr-users [mailto:sr-users-bounces@lists.sip-router.org] *On
Behalf Of *Vitaliy Aleksandrov
*Sent:* Wednesday, April 29, 2015 10:36 AM
*To:* sr-users(a)lists.sip-router.org
*Subject:* Re: [SR-Users] LCR with gateway capabilities
What about configuring two LCR instances with different "lcr_id".
The first one can use only gateways with requested capabilities and
the second one all gateways.
Then you can make a decision about which instance to use during call
routing process providing this lcr_id to load_gws() function.
Hello,
From what I understand about the LCR module is that the rules have
to be prioritized by the admin, be it manually or automatically by
an application.
Let’s say the LCR database has 10 gateways, each with their own
rules etc.
4 of these gateways support caller id spoofing and the others don’t.
But the other 6 are cheaper and Kamailio has to route a call using
a gateway which support caller id spoofing and is the cheapest of
the 4.
Would it be possible to tell the LCR module to select a gateway
based on certain capabilities and is the cheapest of the ones
which support a certain capability?
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org <mailto:sr-users@lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users