failover in freeswitch dialplan using | or lcr
Hi, If I send an invite for a call and don't receive a response to the initial invite message how can I force FS to try the next route right away? Here is one of my lcr dialplan chunks. <condition field="destination_number" expression="^(.*)$"> <action application="set" data="continue_on_fail=true"/> <action application="set" data="hangup_after_bridge=true"/> <action application="set" data="domain_name=$${domain}"/> <action application="set" data="instant_ringback=true"/> <action application="ring_ready" /> <action application="set" data="ringback=${us-ring}"/> <action application="set" data="transfer-ringback=${us-ring}"/> <action application="lcr" data="$1 inbound"/> <action application="set" data="bypass_media=true"/> <action application="bridge" data="${lcr_auto_route}"/> </condition> </extension> All advise is welcome, thanks.
It would be a lot easier to do it from a script (lua, python) running in FS or via ESL. Idea is to extract all bridge strings returned by lcr command and pass them to bridge command with | symbol for automatic fail over. <action application="bridge" data="bridgestring1|bridgestring2"/> On Thu, Mar 12, 2015 at 10:23 PM, Jason Holden <jason.holden@start.ca> wrote:
Hi,
If I send an invite for a call and don’t receive a response to the initial invite message how can I force FS to try the next route right away?
Here is one of my lcr dialplan chunks.
<condition field="destination_number" expression="^(.*)$">
<action application="set" data="continue_on_fail=true"/>
<action application="set" data="hangup_after_bridge=true"/>
<action application="set" data="domain_name=$${domain}"/>
<action application="set" data="instant_ringback=true"/>
<action application="ring_ready" />
<action application="set" data="ringback=${us-ring}"/>
<action application="set" data="transfer-ringback=${us-ring}"/>
<action application="lcr" data="$1 inbound"/>
<action application="set" data="bypass_media=true"/>
<action application="bridge" data="${lcr_auto_route}"/>
</condition>
</extension>
All advise is welcome, thanks.
_________________________________________________________________________ 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
-- Thanks & Regards, Godson Gera VoIP consultant <http://godson.in>
It does fail over with my setup but it takes about 30 seconds to try the next route. So back to the question would using call time out, or progress time out as an action application before the lcr bridge resolve the issue, if so any recommendations on timers? Thanks. _____ From: Godson Gera [mailto:godson.g@gmail.com] Sent: Thursday, March 12, 2015 6:28 PM To: FreeSWITCH Users Help Subject: Re: [Freeswitch-users] failover in freeswitch dialplan using | or lcr It would be a lot easier to do it from a script (lua, python) running in FS or via ESL. Idea is to extract all bridge strings returned by lcr command and pass them to bridge command with | symbol for automatic fail over. <action application="bridge" data="bridgestring1|bridgestring2"/> On Thu, Mar 12, 2015 at 10:23 PM, Jason Holden <jason.holden@start.ca> wrote: Hi, If I send an invite for a call and don't receive a response to the initial invite message how can I force FS to try the next route right away? Here is one of my lcr dialplan chunks. <condition field="destination_number" expression="^(.*)$"> <action application="set" data="continue_on_fail=true"/> <action application="set" data="hangup_after_bridge=true"/> <action application="set" data="domain_name=$${domain}"/> <action application="set" data="instant_ringback=true"/> <action application="ring_ready" /> <action application="set" data="ringback=${us-ring}"/> <action application="set" data="transfer-ringback=${us-ring}"/> <action application="lcr" data="$1 inbound"/> <action application="set" data="bypass_media=true"/> <action application="bridge" data="${lcr_auto_route}"/> </condition> </extension> All advise is welcome, thanks. _________________________________________________________________________ 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 -- Thanks & Regards, Godson Gera VoIP consultant <http://godson.in>
There are many timeout variables available to control the call behavior like call_timeout,leg_timeout,bridge_answer_timeout etc. Check out this page https://freeswitch.org/confluence/display/FREESWITCH/Variables . Try them out and pick the one suits your needs On Fri, Mar 13, 2015 at 6:44 AM, Jason Holden <jason.holden@start.ca> wrote:
It does fail over with my setup but it takes about 30 seconds to try the next route.
So back to the question would using call time out, or progress time out as an action application before the lcr bridge resolve the issue, if so any recommendations on timers?
Thanks. ------------------------------
*From:* Godson Gera [mailto:godson.g@gmail.com] *Sent:* Thursday, March 12, 2015 6:28 PM *To:* FreeSWITCH Users Help *Subject:* Re: [Freeswitch-users] failover in freeswitch dialplan using | or lcr
It would be a lot easier to do it from a script (lua, python) running in FS or via ESL. Idea is to extract all bridge strings returned by lcr command and pass them to bridge command with | symbol for automatic fail over.
<action application="bridge" data="bridgestring1|bridgestring2"/>
On Thu, Mar 12, 2015 at 10:23 PM, Jason Holden <jason.holden@start.ca> wrote:
Hi,
If I send an invite for a call and don’t receive a response to the initial invite message how can I force FS to try the next route right away?
Here is one of my lcr dialplan chunks.
<condition field="destination_number" expression="^(.*)$">
<action application="set" data="continue_on_fail=true"/>
<action application="set" data="hangup_after_bridge=true"/>
<action application="set" data="domain_name=$${domain}"/>
<action application="set" data="instant_ringback=true"/>
<action application="ring_ready" />
<action application="set" data="ringback=${us-ring}"/>
<action application="set" data="transfer-ringback=${us-ring}"/>
<action application="lcr" data="$1 inbound"/>
<action application="set" data="bypass_media=true"/>
<action application="bridge" data="${lcr_auto_route}"/>
</condition>
</extension>
All advise is welcome, thanks.
_________________________________________________________________________ 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
--
Thanks & Regards,
Godson Gera VoIP consultant <http://godson.in>
_________________________________________________________________________ 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
-- Thanks & Regards, Godson Gera FreeSWITCH Consultant <http://godson.in>
participants (2)
-
Godson Gera
-
Jason Holden