<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hello,<br>
<br>
The latest dynamic routing improvements allow to distribute the load
on multiple gw's within a carrier, based on weights.<br>
So for example you can define a new carrier, c1, that has two
gateways, g1 and g2, like this<br>
c1 = g1=50,g2=50<tt><br>
</tt>and then, for a specific prefix rule, set c1 in the gw list and
the load will be distributed evenly between the two gateways.<br>
<br>
You might want to read again Bogdan's initial email, in order to get
a better grasp of the newly available features.<br>
<br>
<br>
Regards,<tt><br>
</tt>
<pre class="moz-signature" cols="72">Vlad Paiu
OpenSIPS Developer
<a class="moz-txt-link-freetext" href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a> </pre>
<br>
On 03/29/2012 10:26 AM, [Digital^Dude] ® wrote:
<blockquote
cite="mid:CAArAGKnnN2ciuOyfxmFbHtszdgen2NsEqWZxmaBSjiEJTSzZnQ@mail.gmail.com"
type="cite"><font face="trebuchet ms,sans-serif">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?<br>
</font><br>
<div class="gmail_quote">On Wed, Mar 28, 2012 at 2:31 PM,
Bogdan-Andrei Iancu <span dir="ltr"><<a
moz-do-not-send="true" href="mailto:bogdan@opensips.org">bogdan@opensips.org</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<div bgcolor="#ffffff" text="#000000"> Hi Ali,<br>
<br>
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).<br>
<br>
Regards,<br>
<font color="#888888"> Bogdan</font>
<div>
<div class="h5"><br>
<br>
On 03/27/2012 07:36 PM, Ali Pey wrote:
<blockquote type="cite">
<div><br>
</div>
What are the differences between the Dynamic Routing
and Load-Balancer Modules?
<div><br>
</div>
<div>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?</div>
<div><br>
</div>
<div><br>
</div>
<div>Regards,</div>
<div>Ali<br>
<div><br>
</div>
<div><br>
<br>
<div class="gmail_quote">On Fri, Mar 23, 2012 at
9:11 AM, Bogdan-Andrei Iancu <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:bogdan@opensips.org"
target="_blank">bogdan@opensips.org</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:
0pt 0pt 0pt 0.8ex; border-left: 1px solid
rgb(204, 204, 204); padding-left: 1ex;">
<div bgcolor="#ffffff" text="#000000"> <tt>Hi
all<br>
<br>
In OpenSIPS 1.8.0, the Dynamic Module
comes with some major changes and
enhancements :<br>
<br>
Carrier concept added<br>
----------------------<br>
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.<br>
<br>
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.<br>
<br>
Ex:<br>
gateways : g1, g2, g3, g4, g5<br>
carriers : c1 = g1=75,g2=25 (a
premium carrier), ordering based on weight<br>
c2 = </tt><tt>g3,g4 (a
standard carrier), ordering based on given
order<br>
rules: prefix= 004021 ; list =
#c1,#c2,g5 - first we will try do
distribute 75/25 the traffic <br>
between the gws from
carrier c1 and if all fail, we will try
gws from carrier c2<br>
(according the ordering
defined for c2), and so on<br>
<br>
</tt><tt> prefix= 004072 ; list
= #c2=50,g5=50 - all traffic will be
weight balanced between carrier<br>
c2 and gw g5; of course,
if carrier c2 is to be used, the
corresponding traffic will<br>
routed over the c2
gateways according to its definition<br>
</tt><br>
<tt><br>
do_routing() enhancements</tt><tt><br>
--------------------------<br>
The do_routing() function takes several
flags (as second optional parameter) to
control the matching and ordering in the
rules:<br>
</tt>
<div>
<ul type="circle">
<li><tt><span><i>W</i></span> - Instead
of using the destination (from the
rule definition) in the given order,
sort them based on their weight. </tt></li>
<li><tt><span><i>F</i></span> - 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. </tt></li>
<li><tt><span><i>L</i></span> - Do
strict length matching over the
prefix - actually DR engine will do
full number matching and not prefix
matching anymore. </tt></li>
</ul>
</div>
<tt>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)<br>
</tt><tt><br>
<br>
Rule fallback<br>
--------------<br>
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.<br>
The fallback is transparent done, via the
use_next_gw() function.<br>
<br>
Ex:<br>
prefix 004072, prio 10 => g1,g2<br>
</tt><tt> </tt><tt> prefix 004072, prio 1
=> g3<br>
</tt><tt> prefix 0040, prio 1 =>
g4,g5<br>
<br>
when dialing 00407221234567 and using
fallback, the gws g1, g2 (first rule), g3
(second rule) and g4 , g5 (third rule)
will be used.<br>
<br>
</tt><br>
<tt>New routing functions<br>
----------------------<br>
route_to_gw(gw_id) - function to trigger
the direct routing to a given gateway.
Attributes and per-gw preocessing will be
available.<br>
<br>
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)<br>
</tt><tt><br>
<br>
<br>
For more, please see the online
documentation for the DR module:<br>
<a moz-do-not-send="true"
href="http://www.opensips.org/html/docs/modules/1.8.x/drouting.html"
target="_blank">www.opensips.org/html/docs/modules/1.8.x/drouting.html</a><br>
<br>
<br>
Regards,<br>
Bogdan<span><font color="#888888"><br>
</font></span></tt><span><font
color="#888888">
<pre cols="72">--
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a moz-do-not-send="true" href="http://www.opensips-solutions.com" target="_blank">http://www.opensips-solutions.com</a></pre>
</font></span></div>
<br>
_______________________________________________<br>
Users mailing list<br>
<a moz-do-not-send="true"
href="mailto:Users@lists.opensips.org"
target="_blank">Users@lists.opensips.org</a><br>
<a moz-do-not-send="true"
href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users"
target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
<pre><fieldset></fieldset>
_______________________________________________
Users mailing list
<a moz-do-not-send="true" href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a>
<a moz-do-not-send="true" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
</pre>
</blockquote>
<br>
<br>
<pre cols="72">--
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a moz-do-not-send="true" href="http://www.opensips-solutions.com" target="_blank">http://www.opensips-solutions.com</a></pre>
</div>
</div>
</div>
<br>
_______________________________________________<br>
Users mailing list<br>
<a moz-do-not-send="true"
href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>
<a moz-do-not-send="true"
href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users"
target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
<br>
</blockquote>
</div>
<br>
<pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>
<a class="moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
</pre>
</blockquote>
</body>
</html>