mod_distributor / gwlist down
Hello, i'm currently working with mod_distributor, to load balance calls to gateways. The load balancing works well, and it's rather simple to configure, no problem. I'm trying to automatically exclude down gateways from the load balancing, which seems quite simple, too, when reading the mod_distributor doc... but i can't make it work. I'm using freeswitch 1.6.6. I configured a profile internal_trk_1, and 2 gateways (svc-isr-fr-301, and non_existent_gw), with ping option. One of the gateways, called (non_existent_gw) is down, and detected down by sofia When I check the status of the gateways, the result is ok : sofia profile internal_trk_1 gwlist down non_existent_gw When I check with distributor command in the cli, it's also ok : expand distributor I_MUT_SIPGTW ${sofia profile internal_trk_1 gwlist down} svc-isr-fr-301 But I can't make it work inside the dialplan. I tested using the 2 syntaxes listed in https://freeswitch.org/confluence/display/FREESWITCH/mod_distributor : <action application="bridge" data="sofia/gateway/${distributor I_MUT_SIPGTW ${sofia internal_trk_1 gwlist down}}/${destination_number}"/> <action application="bridge" data="sofia/gateway\${expand(distributor I_MUT_SIPGTW \${sofia(internal_trk_1 gwlist down)})}/${destination_number}"/> The dead gateway still gets used by the load balancer. What I am doing wrong ? Best regards Dominique Jeannerod
you missed the profile keywork in your dialplan: sofia PROFILE internal internal_trk_1 gwlist down On Wed, Feb 24, 2016 at 1:38 PM, Dominique Jeannerod < dominique.jeannerod@interact-iv.com> wrote:
Hello,
i'm currently working with mod_distributor, to load balance calls to gateways. The load balancing works well, and it's rather simple to configure, no problem.
I'm trying to automatically exclude down gateways from the load balancing, which seems quite simple, too, when reading the mod_distributor doc... but i can't make it work.
I'm using freeswitch 1.6.6. I configured a profile internal_trk_1, and 2 gateways (svc-isr-fr-301, and non_existent_gw), with ping option. One of the gateways, called (non_existent_gw) is down, and detected down by sofia
When I check the status of the gateways, the result is ok : sofia profile internal_trk_1 gwlist down non_existent_gw
When I check with distributor command in the cli, it's also ok : expand distributor I_MUT_SIPGTW ${sofia profile internal_trk_1 gwlist down} svc-isr-fr-301
But I can't make it work inside the dialplan. I tested using the 2 syntaxes listed in https://freeswitch.org/confluence/display/FREESWITCH/mod_distributor :
<action application="bridge" data="sofia/gateway/${distributor I_MUT_SIPGTW ${sofia internal_trk_1 gwlist down}}/${destination_number}"/>
<action application="bridge" data="sofia/gateway\${expand(distributor I_MUT_SIPGTW \${sofia(internal_trk_1 gwlist down)})}/${destination_number}"/>
The dead gateway still gets used by the load balancer.
What I am doing wrong ?
Best regards
Dominique Jeannerod
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Ítalo Rossi italo@freeswitch.org
Hello, I worked again on this, and there is no problem at all related with mod_distributor. What I found : there is a problem evaluating nested expressions. This code works as expected : <action application="set" data="gwlist_down=${sofia profile internal_trk_1 gwlist down}"/> <action application="set" data="gateway=${distributor I_MUT_SIPGTW ${gwlist_down}}"/> <action application="bridge" data="sofia/gateway/${gateway}/${destination_number}"/> This code is not OK : <action application="bridge" data="sofia/gateway/${distributor I_MUT_SIPGTW ${sofia internal_trk_1 gwlist down}}/${destination_number}"/> Any idea on the right syntax to make it work on one line as it should ? Best regards Dominique Jeannerod
participants (2)
-
Dominique Jeannerod
-
Ítalo Rossi