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

Bogdan-Andrei Iancu bogdan at opensips.org
Wed Mar 28 11:31:08 CEST 2012


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
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users


-- 
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20120328/68c346fc/attachment.htm>


More information about the Users mailing list