i checked it myself again and i find the following example in the wiki...

 <extension name="9191">
   <condition field="destination_number" expression="^9191$"/>
   <condition field="${sip_authorized}" expression="true">
     <anti-action application="reject" data="407"/>
   </condition>

   <condition>
     <action application="playback" data="/tmp/itworked.wav"/>
   </condition>
 </extension>
i hope this helps..

On Wed, Jun 13, 2012 at 2:31 PM, huseyin kalyoncu <hkalyoncu@gmail.com> wrote:
yes action statements must be inside condition tags. i thought you wrote them in condition in your first mail..

for the expression=true ; i not sure you can do that but there is an example usage together with regex in the wiki. 
again check the link i sent before..

huseyin
 
 

On Wed, Jun 13, 2012 at 2:00 PM, Alex <alex@thewinelake.com> wrote:
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


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



_________________________________________________________________________
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