[Freeswitch-users] Conditions
Alex
alex at thewinelake.com
Wed Jun 13 17:18:40 MSD 2012
Ah so
<condition>
</condition>
is essentially an "unconditional condition" ;-)
That is useful...
> 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 at gmail.com
> <mailto:hkalyoncu at 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 at thewinelake.com
> <mailto:alex at 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
>>>
>>> check this
>>> http://wiki.freeswitch.org/wiki/Dialplan_XML#Inline_Actions
>>>
>>> huseyin
>>>
>>>
>>>
>>> On Wed, Jun 13, 2012 at 1:14 PM, Alex Lake
>>> <alex at thewinelake.com <mailto:alex at 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 at 193.105.54.10
>>> <mailto:1 at 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 at freeswitch.org <mailto:consulting at freeswitch.org>
>>> http://www.freeswitchsolutions.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 at lists.freeswitch.org
>>> <mailto: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 <mailto:consulting at freeswitch.org>
>>> http://www.freeswitchsolutions.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 at lists.freeswitch.org <mailto: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
>>>
>>>
>>> No virus found in this message.
>>> Checked by AVG - www.avg.com <http://www.avg.com>
>>> Version: 2012.0.2177 / Virus Database: 2433/5065 - Release
>>> Date: 06/12/12
>>>
>>
>>
>>
>> _________________________________________________________________________
>> Professional FreeSWITCH Consulting Services:
>> consulting at freeswitch.org <mailto:consulting at freeswitch.org>
>> http://www.freeswitchsolutions.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 at lists.freeswitch.org <mailto: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
>>
>>
>> No virus found in this message.
>> Checked by AVG - www.avg.com <http://www.avg.com>
>> Version: 2012.0.2177 / Virus Database: 2433/5065 - Release
>> Date: 06/12/12
>>
>
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org <mailto:consulting at freeswitch.org>
> http://www.freeswitchsolutions.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 at lists.freeswitch.org
> <mailto: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://wiki.freeswitch.org
> http://www.cluecon.com
>
> Join Us At ClueCon - Aug 7-9, 2012
>
> 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
>
>
> No virus found in this message.
> Checked by AVG - www.avg.com <http://www.avg.com>
> Version: 2012.0.2177 / Virus Database: 2433/5065 - Release Date: 06/12/12
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20120613/3d836a98/attachment-0001.html
Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users
mailing list