[SR-Users] LCR with gateway capabilities

Vitaliy Aleksandrov vitalik.voip at gmail.com
Wed Apr 29 12:27:02 CEST 2015



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 at lists.sip-router.org] *On 
> Behalf Of *Vitaliy Aleksandrov
> *Sent:* Wednesday, April 29, 2015 10:36 AM
> *To:* sr-users at 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 at lists.sip-router.org  <mailto:sr-users at 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 at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20150429/532b4e97/attachment.html>


More information about the sr-users mailing list