[OpenSIPS-Users] [NEW] Dynamic Routing enhancements in OpenSIPS 1.8.0

Ali Pey alipey at gmail.com
Fri Mar 30 15:34:10 CEST 2012


Thank you Vlad.

In load balancer module you can use the lb_list command to see the current
load for each destination. That's very useful for monitoring/reporting
tools. Is there a similar command for the DR module?

How can I see the current load for a carrier or gateway in DR module?

Regards,
Ali


On Fri, Mar 30, 2012 at 4:46 AM, Vlad Paiu <vladpaiu at opensips.org> wrote:

> **
> 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 Developerhttp://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> 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 Developerhttp://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
>> > 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> 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
>>>>
>>>>
>>>> Regards,
>>>> Bogdan
>>>>
>>>> --
>>>> Bogdan-Andrei Iancu
>>>> OpenSIPS Founder and Developerhttp://www.opensips-solutions.com
>>>>
>>>>
>>>> _______________________________________________
>>>> Users mailing list
>>>> Users at lists.opensips.org
>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>
>>>
>>>
>>> --
>>> Bogdan-Andrei Iancu
>>> OpenSIPS Founder and Developerhttp://www.opensips-solutions.com
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>
>>>
>>
>> _______________________________________________
>> Users mailing listUsers at lists.opensips.orghttp://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
>>
>>
>
> _______________________________________________
> Users mailing listUsers at lists.opensips.orghttp://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/5c8fdbd6/attachment-0001.htm>


More information about the Users mailing list