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

FreeSWITCH - логика condition

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

Модератор: april22

FreeSWITCH - логика condition

Сообщение Samael28 » 14 июл 2014, 19:42

Волею судеб столкнулся с 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
Samael28
 
Сообщений: 1057
Зарегистрирован: 08 янв 2011, 19:32
Откуда: Киев

Re: FreeSWITCH - логика condition

Сообщение Vlad1983 » 15 июл 2014, 08:02

Это тема для самостоятельного изучения.
Мобильные РФ 1.2 руб./мин. + НДС с посекундной тарификацией, CLI
Telegram: @rostel
Vlad1983
 
Сообщений: 4184
Зарегистрирован: 09 авг 2011, 11:51


Вернуться в FreeSwitch, SER, Yate и другие

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

© 2008 — 2019 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH