[NEW] Dynamic Routing enhancements in OpenSIPS 1.8.0

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

[NEW] Dynamic Routing enhancements in OpenSIPS 1.8.0

Bogdan-Andrei Iancu-2
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 Developer
http://www.opensips-solutions.com

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: [NEW] Dynamic Routing enhancements in OpenSIPS 1.8.0

Ali Pey

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 <[hidden email]> 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 Developer
http://www.opensips-solutions.com

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: [NEW] Dynamic Routing enhancements in OpenSIPS 1.8.0

Bogdan-Andrei Iancu-2
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 <[hidden email]> 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 Developer
http://www.opensips-solutions.com

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users


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

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: [NEW] Dynamic Routing enhancements in OpenSIPS 1.8.0

Owais Ahmad
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?

On Wed, Mar 28, 2012 at 2:31 PM, Bogdan-Andrei Iancu <[hidden email]> wrote:
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 <[hidden email]> 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 Developer
http://www.opensips-solutions.com

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users


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

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: [NEW] Dynamic Routing enhancements in OpenSIPS 1.8.0

Vlad Paiu
Hello,

The latest dynamic routing improvements allow to distribute the load on multiple gw's within a carrier, based on weights.
So for example you can define a new carrier, c1, that has two gateways, g1 and g2, like this
    c1 = g1=50,g2=50
and then, for a specific prefix rule, set c1 in the gw list and the load will be distributed evenly between the two gateways.

You might want to read again Bogdan's initial email, in order to get a better grasp of the newly available features.


Regards,
Vlad Paiu
OpenSIPS Developer
http://www.opensips-solutions.com 

On 03/29/2012 10:26 AM, [Digital^Dude] ® wrote:
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?

On Wed, Mar 28, 2012 at 2:31 PM, Bogdan-Andrei Iancu <[hidden email]> wrote:
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 <[hidden email]> 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 Developer
http://www.opensips-solutions.com

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users


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

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: [NEW] Dynamic Routing enhancements in OpenSIPS 1.8.0

Ali Pey
Is it possible to use the load balancer module on one direction- from carriers to media gateways and the DR module on the other direction- from media gateways to carriers.

Regards,
Ali


On Thu, Mar 29, 2012 at 4:28 AM, Vlad Paiu <[hidden email]> wrote:
Hello,

The latest dynamic routing improvements allow to distribute the load on multiple gw's within a carrier, based on weights.
So for example you can define a new carrier, c1, that has two gateways, g1 and g2, like this
    c1 = g1=50,g2=50
and then, for a specific prefix rule, set c1 in the gw list and the load will be distributed evenly between the two gateways.

You might want to read again Bogdan's initial email, in order to get a better grasp of the newly available features.


Regards,
Vlad Paiu
OpenSIPS Developer
http://www.opensips-solutions.com 

On 03/29/2012 10:26 AM, [Digital^Dude] ® wrote:
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?

On Wed, Mar 28, 2012 at 2:31 PM, Bogdan-Andrei Iancu <[hidden email]> wrote:
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 <[hidden email]> 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 Developer
http://www.opensips-solutions.com

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users


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

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: [NEW] Dynamic Routing enhancements in OpenSIPS 1.8.0

Vlad Paiu
Hello,

Yes, you could do that. Just use the drouting's is_from_gw() function ( docs at [1] ) to detect direction. If is_from_gw() returns true, apply your load-balancer logic, otherwise apply the DR logic.

[1] http://www.opensips.org/html/docs/modules/1.8.x/drouting.html#id293884

Regards,
Vlad Paiu
OpenSIPS Developer
http://www.opensips-solutions.com 

On 03/29/2012 11:53 PM, Ali Pey wrote:
Is it possible to use the load balancer module on one direction- from carriers to media gateways and the DR module on the other direction- from media gateways to carriers.

Regards,
Ali


On Thu, Mar 29, 2012 at 4:28 AM, Vlad Paiu <[hidden email]> wrote:
Hello,

The latest dynamic routing improvements allow to distribute the load on multiple gw's within a carrier, based on weights.
So for example you can define a new carrier, c1, that has two gateways, g1 and g2, like this
    c1 = g1=50,g2=50
and then, for a specific prefix rule, set c1 in the gw list and the load will be distributed evenly between the two gateways.

You might want to read again Bogdan's initial email, in order to get a better grasp of the newly available features.


Regards,
Vlad Paiu
OpenSIPS Developer
http://www.opensips-solutions.com 

On 03/29/2012 10:26 AM, [Digital^Dude] ® wrote:
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?

On Wed, Mar 28, 2012 at 2:31 PM, Bogdan-Andrei Iancu <[hidden email]> wrote:
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 <[hidden email]> 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 Developer
http://www.opensips-solutions.com

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users


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

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: [NEW] Dynamic Routing enhancements in OpenSIPS 1.8.0

Ali Pey
Thank you Vlad.

In load balancer module you can use the lb_list command to see the current load for each destination. That's very useful for monitoring/reporting tools. Is there a similar command for the DR module?

How can I see the current load for a carrier or gateway in DR module?

Regards,
Ali


On Fri, Mar 30, 2012 at 4:46 AM, Vlad Paiu <[hidden email]> wrote:
Hello,

Yes, you could do that. Just use the drouting's is_from_gw() function ( docs at [1] ) to detect direction. If is_from_gw() returns true, apply your load-balancer logic, otherwise apply the DR logic.

[1] http://www.opensips.org/html/docs/modules/1.8.x/drouting.html#id293884


Regards,
Vlad Paiu
OpenSIPS Developer
http://www.opensips-solutions.com 

On 03/29/2012 11:53 PM, Ali Pey wrote:
Is it possible to use the load balancer module on one direction- from carriers to media gateways and the DR module on the other direction- from media gateways to carriers.

Regards,
Ali


On Thu, Mar 29, 2012 at 4:28 AM, Vlad Paiu <[hidden email]> wrote:
Hello,

The latest dynamic routing improvements allow to distribute the load on multiple gw's within a carrier, based on weights.
So for example you can define a new carrier, c1, that has two gateways, g1 and g2, like this
    c1 = g1=50,g2=50
and then, for a specific prefix rule, set c1 in the gw list and the load will be distributed evenly between the two gateways.

You might want to read again Bogdan's initial email, in order to get a better grasp of the newly available features.


Regards,
Vlad Paiu
OpenSIPS Developer
http://www.opensips-solutions.com 

On 03/29/2012 10:26 AM, [Digital^Dude] ® wrote:
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?

On Wed, Mar 28, 2012 at 2:31 PM, Bogdan-Andrei Iancu <[hidden email]> wrote:
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 <[hidden email]> 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 Developer
http://www.opensips-solutions.com

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users


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

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: [NEW] Dynamic Routing enhancements in OpenSIPS 1.8.0

Vlad Paiu
Hello,

The DR module does not support such a feature, but you can implement it manually, from your script.
Just create different dialog profiles for each of your carrier, and each time you route to a specific carrier, set the dialog as belonging to the coresponding profile with the set_dlg_profile() function ( see [1] ).
After that you can use the profile_get_size MI command ( see [2] ) in order to fetch the actual number of ongoing calls per carrier.

[1] http://www.opensips.org/html/docs/modules/devel/dialog#id294472
[2] http://www.opensips.org/html/docs/modules/devel/dialog#id295442

Regards,
Vlad Paiu
OpenSIPS Developer
http://www.opensips-solutions.com 

On 03/30/2012 04:34 PM, Ali Pey wrote:
Thank you Vlad.

In load balancer module you can use the lb_list command to see the current load for each destination. That's very useful for monitoring/reporting tools. Is there a similar command for the DR module?

How can I see the current load for a carrier or gateway in DR module?

Regards,
Ali


On Fri, Mar 30, 2012 at 4:46 AM, Vlad Paiu <[hidden email]> wrote:
Hello,

Yes, you could do that. Just use the drouting's is_from_gw() function ( docs at [1] ) to detect direction. If is_from_gw() returns true, apply your load-balancer logic, otherwise apply the DR logic.

[1] http://www.opensips.org/html/docs/modules/1.8.x/drouting.html#id293884


Regards,
Vlad Paiu
OpenSIPS Developer
http://www.opensips-solutions.com 

On 03/29/2012 11:53 PM, Ali Pey wrote:
Is it possible to use the load balancer module on one direction- from carriers to media gateways and the DR module on the other direction- from media gateways to carriers.

Regards,
Ali



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: [NEW] Dynamic Routing enhancements in OpenSIPS 1.8.0

Ali Pey
Hi Vlad,

So when I call the do_routing() function, how would I know where it eventually routed the call?

Regards,
Ali


On Fri, Mar 30, 2012 at 12:28 PM, Vlad Paiu <[hidden email]> wrote:
Hello,

The DR module does not support such a feature, but you can implement it manually, from your script.
Just create different dialog profiles for each of your carrier, and each time you route to a specific carrier, set the dialog as belonging to the coresponding profile with the set_dlg_profile() function ( see [1] ).
After that you can use the profile_get_size MI command ( see [2] ) in order to fetch the actual number of ongoing calls per carrier.

[1] http://www.opensips.org/html/docs/modules/devel/dialog#id294472
[2] http://www.opensips.org/html/docs/modules/devel/dialog#id295442


Regards,
Vlad Paiu
OpenSIPS Developer
http://www.opensips-solutions.com 

On 03/30/2012 04:34 PM, Ali Pey wrote:
Thank you Vlad.

In load balancer module you can use the lb_list command to see the current load for each destination. That's very useful for monitoring/reporting tools. Is there a similar command for the DR module?

How can I see the current load for a carrier or gateway in DR module?

Regards,
Ali


On Fri, Mar 30, 2012 at 4:46 AM, Vlad Paiu <[hidden email]> wrote:
Hello,

Yes, you could do that. Just use the drouting's is_from_gw() function ( docs at [1] ) to detect direction. If is_from_gw() returns true, apply your load-balancer logic, otherwise apply the DR logic.

[1] http://www.opensips.org/html/docs/modules/1.8.x/drouting.html#id293884


Regards,
Vlad Paiu
OpenSIPS Developer
http://www.opensips-solutions.com 

On 03/29/2012 11:53 PM, Ali Pey wrote:
Is it possible to use the load balancer module on one direction- from carriers to media gateways and the DR module on the other direction- from media gateways to carriers.

Regards,
Ali



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: [NEW] Dynamic Routing enhancements in OpenSIPS 1.8.0

Arkay
In reply to this post by Bogdan-Andrei Iancu-2
Hello,

I'm trying to use the new route_to_gw() function from this release. I get
the below error and it looks like it is expecting a pvar instead of a
gateway id?

>> route_to_gw("6")

ERROR:core:pv_parse_spec: bad parameters
ERROR:core:fixup_pvar: parsing of pseudo variable 6 failed!
ERROR:core:fix_actions: fixing failed (code=-1) at cfg line 385
CRITICAL:core:fix_expr: fix_actions error
ERROR:core:main: failed to fix configuration with err code -1

Pls help. Thanks..

--
View this message in context: http://opensips-open-sip-server.1449251.n2.nabble.com/NEW-Dynamic-Routing-enhancements-in-OpenSIPS-1-8-0-tp7398521p7426375.html
Sent from the OpenSIPS - Users mailing list archive at Nabble.com.

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: [NEW] Dynamic Routing enhancements in OpenSIPS 1.8.0

Vlad Paiu
In reply to this post by Ali Pey
Hi,

For example you could store some meaning-full information in the dr_gateways attrs field, which will get populated in the gw_attrs_avp ( see [1] ) when you do do_routing() or use_next_gw() . You could use the info in that AVP to store the profiles, like
    set_dlg_profile("gateways","$avp(gw_attrs)");
and then call the profile_get_size MI command with the attr of the specific GW you are interested on.

[1] http://www.opensips.org/html/docs/modules/1.8.x/drouting.html#id292866

Regards,
Vlad Paiu
OpenSIPS Developer
http://www.opensips-solutions.com 

On 03/30/2012 09:26 PM, Ali Pey wrote:
Hi Vlad,

So when I call the do_routing() function, how would I know where it eventually routed the call?

Regards,
Ali


On Fri, Mar 30, 2012 at 12:28 PM, Vlad Paiu <[hidden email]> wrote:
Hello,

The DR module does not support such a feature, but you can implement it manually, from your script.
Just create different dialog profiles for each of your carrier, and each time you route to a specific carrier, set the dialog as belonging to the coresponding profile with the set_dlg_profile() function ( see [1] ).
After that you can use the profile_get_size MI command ( see [2] ) in order to fetch the actual number of ongoing calls per carrier.

[1] http://www.opensips.org/html/docs/modules/devel/dialog#id294472
[2] http://www.opensips.org/html/docs/modules/devel/dialog#id295442


Regards,
Vlad Paiu
OpenSIPS Developer
http://www.opensips-solutions.com 

On 03/30/2012 04:34 PM, Ali Pey wrote:
Thank you Vlad.

In load balancer module you can use the lb_list command to see the current load for each destination. That's very useful for monitoring/reporting tools. Is there a similar command for the DR module?

How can I see the current load for a carrier or gateway in DR module?

Regards,
Ali


On Fri, Mar 30, 2012 at 4:46 AM, Vlad Paiu <[hidden email]> wrote:
Hello,

Yes, you could do that. Just use the drouting's is_from_gw() function ( docs at [1] ) to detect direction. If is_from_gw() returns true, apply your load-balancer logic, otherwise apply the DR logic.

[1] http://www.opensips.org/html/docs/modules/1.8.x/drouting.html#id293884


Regards,
Vlad Paiu
OpenSIPS Developer
http://www.opensips-solutions.com 

On 03/29/2012 11:53 PM, Ali Pey wrote:
Is it possible to use the load balancer module on one direction- from carriers to media gateways and the DR module on the other direction- from media gateways to carriers.

Regards,
Ali



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: [NEW] Dynamic Routing enhancements in OpenSIPS 1.8.0

JoeAkiki
In reply to this post by Bogdan-Andrei Iancu-2
Hello,

I just want to ask about the flags in do_routing: If I want to use a combination on two flags i.e. F and W, can I do that? The purpose is to allow Fallback in the same time as weight base sorting.

do_routing("2","FW");

Or their is another way to do this?

Thank you for your cooperation.

Joe Akiki
Reply | Threaded
Open this post in threaded view
|

Re: [NEW] Dynamic Routing enhancements in OpenSIPS 1.8.0

Vlad Paiu
Hello,

Yes, if you want to use multiple flags you can just pass them
concatenated in the second do_routing() param.

Regards,

Vlad Paiu
OpenSIPS Developer
http://www.opensips-solutions.com

On 10/09/2012 11:33 AM, JoeAkiki wrote:

> Hello,
>
> I just want to ask about the flags in do_routing: If I want to use a
> combination on two flags i.e. F and W, can I do that? The purpose is to
> allow Fallback in the same time as weight base sorting.
>
> do_routing("2","FW");
>
> Or their is another way to do this?
>
> Thank you for your cooperation.
>
> Joe Akiki
>
>
>
> --
> View this message in context: http://opensips-open-sip-server.1449251.n2.nabble.com/NEW-Dynamic-Routing-enhancements-in-OpenSIPS-1-8-0-tp7398521p7582150.html
> Sent from the OpenSIPS - Users mailing list archive at Nabble.com.
>
> _______________________________________________
> Users mailing list
> [hidden email]
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users