[OpenSIPS-Users] [NEW] Dynamic Routing enhancements in OpenSIPS 1.8.0
Vlad Paiu
vladpaiu at opensips.org
Fri Mar 30 10:46:05 CEST 2012
Hello,
Yes, you could do that. Just use the drouting's is_from_gw() function (
docs at [1] ) to detect direction. If is_from_gw() returns true, apply
your load-balancer logic, otherwise apply the DR logic.
[1] http://www.opensips.org/html/docs/modules/1.8.x/drouting.html#id293884
Regards,
Vlad Paiu
OpenSIPS Developer
http://www.opensips-solutions.com
On 03/29/2012 11:53 PM, Ali Pey wrote:
> Is it possible to use the load balancer module on one direction- from
> carriers to media gateways and the DR module on the other direction-
> from media gateways to carriers.
>
> Regards,
> Ali
>
>
> On Thu, Mar 29, 2012 at 4:28 AM, Vlad Paiu <vladpaiu at opensips.org
> <mailto:vladpaiu at opensips.org>> wrote:
>
> Hello,
>
> The latest dynamic routing improvements allow to distribute the
> load on multiple gw's within a carrier, based on weights.
> So for example you can define a new carrier, c1, that has two
> gateways, g1 and g2, like this
> c1 = g1=50,g2=50
> and then, for a specific prefix rule, set c1 in the gw list and
> the load will be distributed evenly between the two gateways.
>
> You might want to read again Bogdan's initial email, in order to
> get a better grasp of the newly available features.
>
>
> Regards,
>
> Vlad Paiu
> OpenSIPS Developer
> http://www.opensips-solutions.com
>
>
> On 03/29/2012 10:26 AM, [Digital^Dude] ® wrote:
>> If I set DR to route based on all dialed prefixes, can I achieve
>> load balanced setup with failover? If yes, how do I configure
>> them? I have been able to configure them individually, but how to
>> made these two modules work together?
>>
>> On Wed, Mar 28, 2012 at 2:31 PM, Bogdan-Andrei Iancu
>> <bogdan at opensips.org <mailto:bogdan at opensips.org>> wrote:
>>
>> Hi Ali,
>>
>> Both modules are routing engines - the DR module routes based
>> on dialled prefix, while the LB routes based on the load of
>> the destinations (active calls).
>>
>> Regards,
>> Bogdan
>>
>>
>> On 03/27/2012 07:36 PM, Ali Pey wrote:
>>>
>>> What are the differences between the Dynamic Routing and
>>> Load-Balancer Modules?
>>>
>>> They seem very similar except that we don't have rules in
>>> Load-Balancer Module. Can DR module be used as a
>>> load-balancer? Is it possible to have the features of both
>>> modules together? A load-balancer with rules?
>>>
>>>
>>> Regards,
>>> Ali
>>>
>>>
>>>
>>> On Fri, Mar 23, 2012 at 9:11 AM, Bogdan-Andrei Iancu
>>> <bogdan at opensips.org <mailto:bogdan at opensips.org>> wrote:
>>>
>>> Hi all
>>>
>>> In OpenSIPS 1.8.0, the Dynamic Module comes with some
>>> major changes and enhancements :
>>>
>>> Carrier concept added
>>> ----------------------
>>> Now you can group the GWs in carrier, so you can achieve
>>> a better control over the destinations. A carrier is a
>>> list of gws - for each carrier, you can define how the
>>> gws should be sort - based on the definition order, or
>>> based on weigths . Once again, this setting is per
>>> carrier. Also you can enabled / disable carriers (via
>>> MI) during runtime. The carrier has attached an
>>> attribute string that will be pushed to script when a
>>> gws from the carrier will be used.
>>>
>>> When defining a routing rule, you can define a list of
>>> gws and carriers to be used (a mixed list). How the list
>>> from the rule is interpreted (order or weight), depends
>>> on a flag in do_routing() function.
>>>
>>> Ex:
>>> gateways : g1, g2, g3, g4, g5
>>> carriers : c1 = g1=75,g2=25 (a premium carrier),
>>> ordering based on weight
>>> c2 = g3,g4 (a standard carrier),
>>> ordering based on given order
>>> rules: prefix= 004021 ; list = #c1,#c2,g5 - first
>>> we will try do distribute 75/25 the traffic
>>> between the gws from carrier c1 and if
>>> all fail, we will try gws from carrier c2
>>> (according the ordering defined for
>>> c2), and so on
>>>
>>> prefix= 004072 ; list = #c2=50,g5=50 - all
>>> traffic will be weight balanced between carrier
>>> c2 and gw g5; of course, if carrier c2
>>> is to be used, the corresponding traffic will
>>> routed over the c2 gateways according
>>> to its definition
>>>
>>>
>>> do_routing() enhancements
>>> --------------------------
>>> The do_routing() function takes several flags (as second
>>> optional parameter) to control the matching and ordering
>>> in the rules:
>>>
>>> * /W/ - Instead of using the destination (from the
>>> rule definition) in the given order, sort them
>>> based on their weight.
>>> * /F/ - Enable rule fallback; normally the engine is
>>> using a single rule for routing a call; by setting
>>> this flag, the engine will fallback and use rules
>>> with less priority or shorter prefix when all the
>>> destination from the current rules failed.
>>> * /L/ - Do strict length matching over the prefix -
>>> actually DR engine will do full number matching
>>> and not prefix matching anymore.
>>>
>>> Also, the function takes a new third optional parameter
>>> - a white list of gateways -> during the routing, only
>>> the gateways from this list will be considered valid
>>> (from the gws specified by the routing rules)
>>>
>>>
>>> Rule fallback
>>> --------------
>>> Before, the dr module was matching and using a single
>>> rule. Now, via the F flag, you can instruct the DR
>>> engine to fallback and use additional rules that match
>>> (with looser matching) the dialed prefix - like rules
>>> with same prefix but lower priority, rules with shorter
>>> prefix.
>>> The fallback is transparent done, via the use_next_gw()
>>> function.
>>>
>>> Ex:
>>> prefix 004072, prio 10 => g1,g2
>>> prefix 004072, prio 1 => g3
>>> prefix 0040, prio 1 => g4,g5
>>>
>>> when dialing 00407221234567 and using fallback, the
>>> gws g1, g2 (first rule), g3 (second rule) and g4 , g5
>>> (third rule) will be used.
>>>
>>>
>>> New routing functions
>>> ----------------------
>>> route_to_gw(gw_id) - function to trigger the direct
>>> routing to a given gateway. Attributes and per-gw
>>> preocessing will be available.
>>>
>>> route_to_carrier(carrier_id) -f unction to trigger the
>>> direct routing to a given carrier. In this case the
>>> routing is not done prefix based, but carrier based
>>> (call will be sent to the GWs of that carrier, based on
>>> carrier policy)
>>>
>>>
>>>
>>> For more, please see the online documentation for the DR
>>> module:
>>> www.opensips.org/html/docs/modules/1.8.x/drouting.html
>>> <http://www.opensips.org/html/docs/modules/1.8.x/drouting.html>
>>>
>>>
>>> Regards,
>>> Bogdan
>>>
>>> --
>>> Bogdan-Andrei Iancu
>>> OpenSIPS Founder and Developer
>>> http://www.opensips-solutions.com
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>> --
>> Bogdan-Andrei Iancu
>> OpenSIPS Founder and Developer
>> http://www.opensips-solutions.com
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20120330/fe99da02/attachment-0001.htm>
More information about the Users
mailing list