[Freeswitch-users] Understanding break="never" in condition-tag
Dmitry Bely
dmitry.bely at gmail.com
Mon Mar 21 15:53:19 MSK 2011
On Mon, Mar 21, 2011 at 3:08 PM, Avi Marcus <avi at avimarcus.net> wrote:
> Hmm, looking at your log and mine from the past, you appear to be correct.
> It looks like break=never means to ignore the condition. So then.. I'm left
> with the original question - what's the point?
I can only replicate my answer to the original poster:
It makes sense if you use the form
<condition wday="1" break="never">
(some actions)
</condition>
> And another - how can you do groups of conditions, like I intended to show
> in the example? I tried setting it to break on-false, or break on-true, but
> I can never get to the second condition set. Am I supposed to create it as
> separate extensions?
Probably so.
> On Mon, Mar 21, 2011 at 12:44 PM, Dmitry Bely <dmitry.bely at gmail.com> wrote:
>>
>> On Mon, Mar 21, 2011 at 1:01 PM, Avi Marcus <avi at avimarcus.net> wrote:
>> >
>> >> > You need ALL the conditions to match for freeswitch to do the action,
>> >> > and you can't
>> >> > change that!
>> >>
>> >> I don't think so. If some condition evaluates to true, its nested
>> >> actions are always executed no matter what preceded it. But of course
>> >> the condition should be evaluated first, that's where various break
>> >> values come into play.
>> >
>> > No way - the dialplan is always run on a "match all conditions" to do
>> > the
>> > actions! How else would multiple conditions EVER work?
>>
>> Completely wrong. And I don't see relevant logs in your message. Here
>> is mine. A dialplan fragment:
>>
>> <extension name="condition-test">
>> <condition wday="6" break="never"/>
>> <condition hour="9-18" break="on-true">
>> <action application="info"/>
>> </condition>
>> </extension>
>>
>> log:
>>
>> Dialplan: sofia/internal/1000 at 192.168.121.66 parsing
>> [default->condition-test] continue=false
>> Dialplan: sofia/internal/1000 at 192.168.121.66 Date/Time Match (FAIL)
>> [condition-test] break=never
>> Dialplan: sofia/internal/1000 at 192.168.121.66 Date/Time Match (PASS)
>> [condition-test] break=on-true
>> Dialplan: sofia/internal/1000 at 192.168.121.66 Action info()
>>
>> Guess what? The first condition fails but the action is still
>> scheduled for execution (and indeed executed later)
- Dmitry Bely
More information about the FreeSWITCH-users
mailing list