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

conf to ael

Проблемы Asterisk без вэб-оболочек и их решения

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

Ответить
yakushkin kirill
Сообщения: 5
Зарегистрирован: 08 ноя 2022, 13:05

conf to ael

Сообщение yakushkin kirill »

День добрый, подскажите как кашернее переписать кусок диал плана 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, но может как то оптимальнее можно?
ded
Сообщения: 15620
Зарегистрирован: 26 авг 2010, 19:00

Re: conf to ael

Сообщение ded »

Базу данных номеров для обзвона автоматизируете?
Попробуйте использовать 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
yakushkin kirill
Сообщения: 5
Зарегистрирован: 08 ноя 2022, 13:05

Re: conf to ael

Сообщение yakushkin kirill »

Нет, не совсем. На asterisk переписываю extensions.conf на extensions.ael. Точнее даже сперва пришлось изучить и переписать extensions.conf убрать костыли и всякие deprecated функции, теперь занялся переводом на ael. До этого с астериском не работал. Такой кусок диалплана, так как много филиалов и городских номеров 300-400, архитектура исходящих это подстановка номера и если не звонится то через другого провайдера та же подстановка и если не звонится то звонок без подстановки...
Вопрос снят, так как нашел тут в другой теме как люди используют if в ael: ( ("a"="3") ||("a"="4") ){...... Скобки упустил, а в доках не нашел такой подход, если есть где то хорошая книга с примерами или сайт посвященный ael буду рад.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH