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

Ali Pey alipey at gmail.com
Thu Mar 29 22:53:00 CEST 2012


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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20120329/565f3eb7/attachment.htm>


More information about the Users mailing list