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
<[email protected] <mailto:[email protected]>> 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
[email protected] <mailto:[email protected]>
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected] <mailto:[email protected]>
http://lists.opensips.org/cgi-bin/mailman/listinfo/users