I was about to answer and say <action> tags must be inside <condition> tags. I think you can in fact remove you break=”never” everywhere except: <condition field="${testvarA}" expression="^$" break="never" /> Your first “condition” can just be “<condition>” which is always true. And <condition field="${testvarB}" expression="^$" break="never"> doesn’t need a break=”never” as it has <action> and <anti-action>s. Hope that helps (and is correct!) Sean From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Alex Sent: Wednesday, June 13, 2012 7:00 AM To: FreeSWITCH Users Help Subject: Re: [Freeswitch-users] Conditions OK... I think there's a fundamental misunderstanding about what code actually gets executed. The setting never happened in my example. If I change it to: <condition field="${ani}" expression="^(\d+)$" break="never" > <action inline="true" application="set" data="testvarA=hello"/> <action inline="true" application="set" data="testvarB=hello"/> </condition> <condition field="${testvarA}" expression="^$" break="never" /> <condition field="${testvarB}" expression="^$" break="never"> <action application="log" data="WARNING TestVarsA and B are both empty"/> <anti-action application="log" data="WARNING TestVarsA and B are NOT both empty"/> </condition> Then it works. (Comparing ani to any number of digits). What I really want is something like <condition expression="true"> Mmm. Strangely enough, I stumbled on that just after posting, but it still doesn't work <action inline="true" application="set" data="testvarA=hello"/> <action inline="true" application="set" data="testvarB=hello"/> <condition field="${testvarA}" expression="^$" /> <condition field="${testvarB}" expression="^$" > <action application="log" data="WARNING TestVarsA and B are both empty"/> <anti-action application="log" data="WARNING TestVarsA and B are NOT both empty"/> </condition> Result: "TestVarsA and B are both empty" hello alex, you must set testvarA and testvarB as inline check this http://wiki.freeswitch.org/wiki/Dialplan_XML#Inline_Actions huseyin On Wed, Jun 13, 2012 at 1:14 PM, Alex Lake <alex@thewinelake.com> wrote: I've been struggling a bit with conditions. In particular the "break" attribute, which I couldn't really find any documentation on. <action application="set" data="testvarA=hello/> <action application="set" data="testvarB=hello/> <condition field="${testvarA}" expression="^$" /> <condition field="${testvarB}" expression="^$" > <action application="log" data="WARNING TestVarsA and B are both empty"/> <anti-action application="log" data="WARNING TestVarsA and B are NOT both empty"/> </condition> The above gives "TestVarsA and B are both empty" which I don't understand! I think it would be nice to put some examples in the wiki that translate from the usual way of doing things (perhaps using PHP or JavaScript notation) to the dialplan format. For example, I have a requirement that might be expressed like this: <context name="dp0095"> <extension name="Outbound_call"> if (${default_ani_prefix} == "" and sip_auth_username == "") { <action application="log" data="WARNING default_ani_prefix and sip_auth_username are not set (A)"/> <action application="set" data="default_ani_prefix=${tenant_id}${b_ext}1"/> } if (${default_ani_prefix} == "") { <action application="log" data="WARNING default_ani_prefix is not set (B)"/> <action application="set" data="ani_prefix=${sip_auth_username}0"/> } else { <action application="set" data="ani_prefix=${default_ani_prefix}"/> } if ($destination_number == "^(\d{8}.*)") { <action application="bridge" data="[tenant_id=${tenant_id},a_ext=${a_ext},b_ext=${b_ext},origination_callee_id_number=$1,origination_caller_id_number=${ani_prefix}${ani}]sofia/internal/8980000000002$1@193.105.54.10"/> } </extension> </context> What is the nefarious combination of conditions, breaks, actions and anti-actions required to implement this? I'm happy to try and put a newbie-perspective updates into some part of the wiki. Talking of which, maybe it would be good to have more example-based content in the wiki, but put it in a separate section so that it doesn't clutter up the more reference-orientated bits. Alex _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com Join Us At ClueCon - Aug 7-9, 2012 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 _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com Join Us At ClueCon - Aug 7-9, 2012 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 No virus found in this message. Checked by AVG - www.avg.com Version: 2012.0.2177 / Virus Database: 2433/5065 - Release Date: 06/12/12 _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com Join Us At ClueCon - Aug 7-9, 2012 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 No virus found in this message. Checked by AVG - www.avg.com Version: 2012.0.2177 / Virus Database: 2433/5065 - Release Date: 06/12/12