<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">&lt;<a href="mailto:bogdan@opensips.org">bogdan@opensips.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<u></u>

  
    
  
  <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></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&#39;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">&lt;<a href="mailto:bogdan@opensips.org" target="_blank">bogdan@opensips.org</a>&gt;</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 -&gt; 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  =&gt; g1,g2<br>
                </tt><tt> </tt><tt>  prefix 004072, prio  1  =&gt; g3<br>
                </tt><tt>   prefix 0040,   prio  1  =&gt; 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 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 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 href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a><br>
              <a 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 href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a>
<a 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 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 href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>
<a 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>