[Freeswitch-users] piped failover doesn't work in dialplan, but works from console

Bote Man bote_radio at botecomm.com
Fri Feb 20 00:58:44 MSK 2015


It’s not only a colon that is used, it is two carats followed by a colon to tell FS what delimiter to use:

 

^^:

 

The example from the wiki page shows this:

 

<action application="set" data="fail_on_single_reject=^^:CALL_REJECTED:NORMAL_CLEARING:USER_BUSY"/>

 

But I defer to Brian since he knows the code much better than I.

 

Bote

 

 

From: Mi Ke
Sent: Thursday, 19 February, 2015 15:35
Subject: Re: [Freeswitch-users] piped failover doesn't work in dialplan, but works from console

 

Hello Brian,

 

Thank you for your response.

 

The idea was taken here: https://wiki.freeswitch.org/wiki/Variable_fail_on_single_reject

 

Commas in the list are not working either, even in console (where colons do):

 

freeswitch at internal> originate {fail_on_single_reject=CALL_REJECTED,NO_ANSWER}error/NO_ANSWER|error/USER_BUSY|error/CALL_REJECTED 999 <---- should be no_answer
-ERR CALL_REJECTED

2015-02-19 20:29:34.377089 [DEBUG] switch_ivr_originate.c:2100 Parsing global variables
2015-02-19 20:29:34.377089 [DEBUG] switch_event.c:1688 Parsing variable [fail_on_single_reject]=[CALL_REJECTED]
2015-02-19 20:29:34.377089 [NOTICE] switch_ivr_originate.c:2732 Cannot create outgoing channel of type [error] cause: [NO_ANSWER]
2015-02-19 20:29:34.377089 [DEBUG] switch_ivr_originate.c:3720 Originate Resulted in Error Cause: 19 [NO_ANSWER]
2015-02-19 20:29:34.377089 [NOTICE] switch_ivr_originate.c:2732 Cannot create outgoing channel of type [error] cause: [USER_BUSY]
2015-02-19 20:29:34.377089 [DEBUG] switch_ivr_originate.c:3720 Originate Resulted in Error Cause: 17 [USER_BUSY]
2015-02-19 20:29:34.377089 [NOTICE] switch_ivr_originate.c:2732 Cannot create outgoing channel of type [error] cause: [CALL_REJECTED]

  

Sent: Thursday, February 19, 2015 at 10:00 PM
From: "Brian West" <brian at freeswitch.org>
To: "FreeSWITCH Users Help" <freeswitch-users at lists.freeswitch.org>
Subject: Re: [Freeswitch-users] piped failover doesn't work in dialplan, but works from console

originate {fail_on_single_reject='CALL_REJECTED\,NO_ANSWER'}error/NO_ANSWER|error/USER_BUSY|error/CALL_REJECTED 999

 

Where are you getting the idea you can use a colon to separate the causes?

 

    /* When using the AND operator, the fail_on_single_reject flag may be set in order to indicate that a single                                                

       rejections should terminate the attempt rather than a timeout, answer, or rejection by all.                                                              

       If the value is set to 'true' any fail cause will end the attempt otherwise it can contain a comma (,) separated                                         

       list of cause names which should be considered fatal                                                                                                     

 

     */ 

 

 

  

On Thu, Feb 19, 2015 at 10:38 AM, Mi Ke <mi.ke at null.net> wrote: 

Dear All,

 

I'm experimenting with the piped failover on the latest master. I want a failover to stop gw hunting and return from bridge when B-leg receives a specific disconnect code e.g. USER_BUSY or NO_ANSWER, but while it works as expected with error channels in console i.e.:

 

freeswitch at internal> originate {fail_on_single_reject=CALL_REJECTED:USER_BUSY}error/NO_ANSWER|error/USER_BUSY|error/CALL_REJECTED 999
-ERR USER_BUSY

 

freeswitch at internal> originate {fail_on_single_reject=CALL_REJECTED:NO_ANSWER}error/NO_ANSWER|error/USER_BUSY|error/CALL_REJECTED 999
-ERR NO_ANSWER

 

it does not work in dialplan:

 

        <extension name="outbound">
            <condition field="destination_number" expression="^\d{7}$">
                <action application="set" data="bridge_answer_timeout=120"/>
                <action application="set" data="continue_on_fail=NORMAL_TEMPORARY_FAILURE:NO_ROUTE_DESTINATION:CALL_REJECTED"/>
                <action application="set" data="fail_on_single_reject=USER_BUSY:NO_ANSWER:NO_USER_RESPONSE:RECOVERY_ON_TIMER_EXPIRE:ORIGINATOR_CANCEL"/>
                <action application="set" data="bridge_early_media=true"/>
                <action application="set" data="hangup_after_bridge=true"/>
                <action application="odbc_query" inline="true" data="route_out"/>
                <action application="bridge" data="${bridge_to}"/>
                <action application="hangup" data="${last_bridge_hangup_cause}"/>
                <anti-action application="hangup" data="INVALID_NUMBER_FORMAT"/>
            </condition>
        </extension>

 

or when included in bridge dialstring:

 

<action application="bridge" data="{fail_on_single_reject=USER_BUSY:NO_ANSWER}${bridge_to}"/>

 

i.e. it tries *all* gateways in the dialstring and ignores returning codes completely.

 

I tried the same test when remote gateways were just hanging up with USER_BUSY code on receiving calls, but it did not affect the same negative result - all remote peers were tried in order and return code were ignored.

 

I had the same experience with ver 1.2, but that time set continue_on_single_reject=err1,err2,err3 in dialplan worked for me flawlessly. However the same approach does not work for 1.5 and 1.4. Has anyone succeded in getting it to work as expected?

 

Thanks / Mike


_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting at 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 at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org

  

 

-- 

Brian West
brian at freeswitch.org

  <http://billing.freeswitch.org/templates/default/img/whmcslogo.png> 

Twitter: @FreeSWITCH , @briankwest
http://www.freeswitchbook.com
http://www.freeswitchcookbook.com

T:+19184209001 | F:+19184209002 | M:+1918424WEST (9378)
iNUM:+883 5100 1420 9001 | ISN:410*543 | Skype:briankwest

_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting at 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 at lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20150219/d2306d7e/attachment-0001.html 


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list