From my understanding the break is used to handle what happens on the evaluation of the condition. I have break=never as I want it to try all rules for the extension even if the one above returns true or false.
----- Original Message ----- From: David Ponzone <david.ponzone@gmail.com> Date: Monday, June 28, 2010 6:36 am Subject: Re: [Freeswitch-users] Dialplan handling on call fails To: freeswitch-users@lists.freeswitch.org
If you use continue_on_fail, I don't think you need to set break="never".
David Ponzone Direction Technique email: david.ponzone@ipeva.fr tel: 01 74 03 18 97 gsm: 06 66 98 76 34
Service Client IPeva tel: 0811 46 26 26 www.ipeva.fr - www.ipeva-studio.com
Ce message et toutes les pièces jointes sont confidentiels et établis à l'intention exclusive de ses destinataires. Toute utilisation ou diffusion non autorisée est interdite. Tout message électronique est susceptible d'altération. IPeva décline toute responsabilité au titre de ce message s'il a été altéré, déformé ou falsifié. Si vous n'êtes pas destinataire de ce message, merci de le détruire immédiatement et d'avertir l'expéditeur.
Le 26/06/2010 à 16:53, Roger Salloum a écrit :
Hi,
I'm trying to setup a dialplan such that if one particular route fails it will try another. However, I do not want it to try another route once it had recieved a 180/183 in response from a gateway. I have not been able to determine how to accomplish this.
For Example:
<condition field="destination_number" expression="^(1000123.*)$" break="never"> <action application="set" data="hangup_after_bridge=true"/> <action application="set" data="continue_on_fail=RECOVER_ON_TIMER_EXPIRE"/> <action application="bridge" data="sofia/gateway/carrier1/$1"/> </condition>
<condition field="destination_number" expression="^(1000.*)$" break="never"> <action application="set" data="hangup_after_bridge=RECOVER_ON_TIMER_EXPIRE"/> <action application="bridge" data="sofia/gateway/carrier2/$1"/> </condition>
<condition field="destination_number" expression="^(1.*)$" break="never"> <action application="set" data="hangup_after_bridge=true"/> <action application="set" data="continue_on_fail=RECOVER_ON_TIMER_EXPIRE"/> <action application="bridge" data="sofia/gateway/carrier3/$1"/>> </condition>
So when 10001234567 is dialled i will match all 3. I'd like to be able to try 1, if failed, try 2, if failed try 3. All calls go out via an outbound proxy.
Using the above examples if the gateway does not respond in time, the proxy generates a 408 REQUEST TIMEOUT error message. It will then fail out and try the next route. However, when the gateway responds with a 180/183 but there is no answer after 2 minutes the proxy, will generate a 480 NO ANSWER (also tried a 408 REQUEST TIMEOUT ). When Freeswitch receives this message it fails, and then attempts the third failure route. How do i prevent the dialplan from continuing once it has received a 180/183 when no one answers the phone?
Thanks,
_______________________________________________ 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