[Freeswitch-users] piped failover doesn't work in dialplan, but works from console
Brian West
brian at freeswitch.org
Fri Feb 20 01:05:54 MSK 2015
The ^^: make it do
QUOTED_ESC_COMMA
vs
UNQUOTED_ESC_COMMA
Which will make it do this later in the code:
for (p = chan_type + 1; p && p < bend && *p; p++) {
if (*p == QUOTED_ESC_COMMA) {
*p = ',';
}
}
I've had both cases work for me in testing.
On Thu, Feb 19, 2015 at 3:58 PM, Bote Man <bote_radio at botecomm.com> wrote:
> 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
>
> *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
>
>
>
> _________________________________________________________________________
> 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
*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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20150219/77f48eec/attachment-0001.html
Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users
mailing list