VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

FreeSWITCH - логика condition

Использование и настройка других открытых VoIP PBX

Модераторы: april22, Zavr2008

Ответить
Samael28
Сообщения: 1057
Зарегистрирован: 08 янв 2011, 18:32
Откуда: Киев
Контактная информация:

FreeSWITCH - логика condition

Сообщение Samael28 »

Волею судеб столкнулся с FS. Прошу прояснить для факт, показавшийся мне крайне неочевидным.
Необходимо построить логику вида

Код: Выделить всё

If (expr1) {
   if (expr2) {
       action1;
    } else {
       action2;
} else {
  action1;
}
Как в рамках одного экстена это построить на condition?
Сейчас получается конструкция вида (может не совсем верно с точки зрения синтаксиса):

Код: Выделить всё

<condition field="field1" expression="expr1"/>
<condition field="field2" expression="expr2" break="never">
 <application="action1"/>
</condition>
<condition field="field1" expression="expr1"/>
<condition field="field2" expression="~expr2">
 <application="action2"/>
 <anti-application="action1"/>
</condition>
Читать ее может и просто, но вот такой момент. Тут оба раза проверяется expr2. А по факту необходимо, чтобы оно проверялось только в том случае, если истинно expr1. Дабы не плодить сущности.
Читал про nested conditions, особо не понял, но осознал, что тут диалплан не то, чтобы линейный, как в астериске.
Объясните, плиз, человеческим языком :)
Мой профайл на Upwork
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: FreeSWITCH - логика condition

Сообщение Vlad1983 »

Это тема для самостоятельного изучения.
ЛС: @rostel
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH