ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

conf to ael

Проблемы и их решения Asterisk как такового

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

conf to ael

Сообщение yakushkin kirill » 08 ноя 2022, 14:18

День добрый, подскажите как кашернее переписать кусок диал плана c conf на ael:
same => n,GotoIf($["${DIAL_STATUS}"="ANSWER"||"${DIAL_STATUS}"="BUSY"||"${ERR_SIP_CAUSE}"="SIP 486 Busy"||"${ERR_SIP_CAUSE}"="SIP 486 Busy Here"]?hangup:defaultCaller)
same => n(defaultCaller),Set(CALLERID(all)="XXXXXXXXXX"<XXXXXXXXXX>)
same => n,wait(1)
same => n,Dial(SIP/MTT/7${EXTEN:1},120,TRr)
same => n(hangup),HangUp

if ("" ="" ||""="") {
}; //Логическое или в ифе вроде как не работает

switch (${prm}){
case "SIP 486 Busy": //Выдаст ошибку пробелов, pattern не понял можно ли как то исхитриться применить
};

Решил задачу через несколько if(){} и в каждом if goto label, но может как то оптимальнее можно?
yakushkin kirill
 
Сообщений: 5
Зарегистрирован: 08 ноя 2022, 14:05

Re: conf to ael

Сообщение ded » 09 ноя 2022, 00:45

Базу данных номеров для обзвона автоматизируете?
Попробуйте использовать ExecIf вместо GotoIf, без goto label, возможно будет проще упорядочить.
Код: выделить все
same => n,ExecIf($["${DIAL_STATUS}"="ANSWER")]?Hangup(31))
same => n,ExecIf($["${ERR_SIP_CAUSE}"="SIP 486 Busy")]?Hangup(17))
same => n,ExecIf($["${DIAL_STATUS}"="BUSY")]?Hangup(17))
same => n,ExecIf($["${ERR_SIP_CAUSE}"="SIP 486 Busy Here"]?Hangup(17))
same => n,Set(CALLERID(all)="XXXXXXXXXX"<XXXXXXXXXX>)
same => n,wait(1)
same => n,Dial(SIP/MTT/7${EXTEN:1},120,TRr)
same => n,HangUp

https://pbxbook.com/meridian/maint/ccodes.html
ded
 
Сообщений: 15867
Зарегистрирован: 26 авг 2010, 19:00

Re: conf to ael

Сообщение yakushkin kirill » 09 ноя 2022, 08:48

Нет, не совсем. На asterisk переписываю extensions.conf на extensions.ael. Точнее даже сперва пришлось изучить и переписать extensions.conf убрать костыли и всякие deprecated функции, теперь занялся переводом на ael. До этого с астериском не работал. Такой кусок диалплана, так как много филиалов и городских номеров 300-400, архитектура исходящих это подстановка номера и если не звонится то через другого провайдера та же подстановка и если не звонится то звонок без подстановки...
Вопрос снят, так как нашел тут в другой теме как люди используют if в ael: ( ("a"="3") ||("a"="4") ){...... Скобки упустил, а в доках не нашел такой подход, если есть где то хорошая книга с примерами или сайт посвященный ael буду рад.
yakushkin kirill
 
Сообщений: 5
Зарегистрирован: 08 ноя 2022, 14:05


Вернуться в Конфигурация и настройка Asterisk

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

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

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