[OpenSIPS-Users] [NEW] Dynamic Routing enhancements in OpenSIPS 1.8.0
Ali Pey
alipey at gmail.com
Tue Mar 27 18:36:10 CEST 2012
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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20120327/060c3aae/attachment-0001.htm>
More information about the Users
mailing list