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

Elastix AEL MySQL откуда зайти?

Обо всем касательно FreePBX, MetPBX, TrixBox, Elastix, AstPBX и всех других дистрибутивов

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

svd
Сообщения: 169
Зарегистрирован: 19 июл 2011, 08:13
Откуда: Красноярск
Контактная информация:

Elastix AEL MySQL откуда зайти?

Сообщение svd »

Дня доброго.

необходимо написать небольшой диал-план.
для читабельности кода решил писать на AEL
немного почитал про него, понял основную задумку, но столкнулся с тем что не знаю как загнать где описать код, как загнать туда звонок.

очень давно делал что-то подобное, если не ошибаюсь добавлял misc application, но упорно не могу вспомнить ничего... или я вообще отправлял звонок в AGI (на php) а там уже воспроизводил всякие файлы, ждал нажатия DTMP и т.п.

статьи про AEL нашел легко и непринуждённо
https://habrahabr.ru/post/122974/
http://asterisk.ru/knowledgebase/Asterisk+AEL
и ещё кучу всяких... попробовал создать свой файл с расширением ael
точнее... ну как свой, средствами вэб интерфейса создал новый файл extension_custom.ael
перенес в него кусок кода из extension_custom.conf (который написал ранее)

app-miscapps-custom {
0001 => {
Playback(digits/5);
}
}

код работал (когда был написан в файле extension_custom.conf
[app-miscapps-custom]
exten => 0001,1,Playback(digits/5)

когда удалил этот кусок из файла .conf и перенес а .ael
ну соответственно пробовал команды reload и ael reload

но больше при наборе 0001 мне англицкая тётя "5" не говорила

[app-miscapps]
include => app-miscapps-custom
exten => 0001,1,Noop(Running miscapp 2: FilterCaller)
exten => 0001,n,Macro(user-callerid,)
exten => 0001,n,Goto(ext-queues,200,1)

что-то я пропустил...

как проверить смотрятся ли вообще конфиги написанные на ael в файлах с расширением ael (транслируются ли в обычные конф файлы)?
как заставить это делать?
или мне надо было описывать что то типа
FilterCaller {
0001 => {
Playback(digits/5);
}
}

или файл с названием FilterCaller.ael делать

чёт я не понимаю, так скать, соли основопологающей
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Elastix AEL MySQL откуда зайти?

Сообщение ded »

Elastix может быть не очень удачная платформа для экспериментов с AEL. Так как надо учитывать готовую огромную структуру далплана: apps & func.
Все вызовы внутренних номеров исполняются из дефолтного контекста from-internal. Поэтому проверять - видит ваши конструкции диалплан или не видит надо командой
CLI> dialplan show 0001@from-internal
до места, куда попадает это по инклюдам нужно иногда долго добираться, поэтому лучший вариант был - начинать эксперименты в контексте from-internal-custom.
svd
Сообщения: 169
Зарегистрирован: 19 июл 2011, 08:13
Откуда: Красноярск
Контактная информация:

Re: Elastix AEL MySQL откуда зайти?

Сообщение svd »

согласен, возможно она не самая удачная, но она целевая...

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

CLI> dialplan show 0001@from-internal
[ Included context 'app-miscapps' created by 'pbx_config' ]
  '0001' =>         1. Noop(Running miscapp 2: FilterCaller)      [pbx_config]
                    2. Macro(user-callerid,)                      [pbx_config]
                    3. Goto(ext-queues,200,1)                     [pbx_config]

[ Included context 'bad-number' created by 'pbx_config' ]
  '_X.' =>          1. ResetCDR()                                 [pbx_config]
                    2. NoCDR()                                    [pbx_config]
                    3. Progress()                                 [pbx_config]
                    4. Wait(1)                                    [pbx_config]
                    5. Progress()                                 [pbx_config]
                    6. Playback(silence/1&cannot-complete-as-dialed&check-number-dial-again,noanswer) [pbx_config]
                    7. Wait(1)                                    [pbx_config]
                    8. Congestion(20)                             [pbx_config]
                    9. Hangup()                                   [pbx_config]

-= 2 extensions (12 priorities) in 2 contexts. =-
подредактировал заодно ошибку в файле ael

app-miscapps-custom
заменил на
context app-miscapps-custom

но судя по всему астериск не берет в расчёт мой рукопашный файл с расширением ael
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Elastix AEL MySQL откуда зайти?

Сообщение ded »

вообще конфиги написанные на ael в файлах с расширением ael не транслируются в обычные конф файлы.

C прошлого года активно внедряют вторую версию AEL - AEL2.
Enable AEL2 contexts debug

CLI> ael2 debug contexts

Enable AEL2 macros debug

CLI> ael2 debug macros

Enable AEL2 read debug

CLI> ael2 debug read

Enable AEL2 tokens debug

CLI> ael2 debug tokens

Disable AEL2 debug messages

CLI> ael2 no debug

AELPARSE

You should never place code in /etc/extensions.ael without first testing it with aelparse!!

The aelparse program is built in the utils/ directory of the asterisk source. It is a standalone executable, and accepts only the options -d, -w, -q, and -n.

-d: Using this option says, instead of reading the file "extensions.ael2" (in the trunk version, that would be "extensions.ael") from /etc/asterisk (or wherever the config files are normally kept) aelparse will instead look in the current directory. This is very useful for testing your dialplan somewhere other than your production directory.
-w: Convert the input dialplan file (extensions.ael2) to extensions.conf format, and dump the file in the current directory under the file name "extensions.conf.aeldump". Why on earth would you ever want to do this? Well, you could take that file and use it on 1.2 or earlier asterisk systems! You don't have to program dialplans in extensions.conf format any more!
-n: Don't display the function calls to build the extensions in asterisk.
-q: (implies -n). Pretty much, only show warnings and errors.
http://www.voip-info.org/wiki/view/Asterisk+AEL2
svd
Сообщения: 169
Зарегистрирован: 19 июл 2011, 08:13
Откуда: Красноярск
Контактная информация:

Re: Elastix AEL MySQL откуда зайти?

Сообщение svd »

спасибо про ael2... попробую
теперь обрисовался другой вопрос
есть файл extensions.ael в нем я описал свой контекст... не удобно править и тестить,там куча всего написано в начале файла.

как заставить астериска подхватывать какой нибудь мой файл с расширением .ael (допустим svd.ael) ?
gosha
Сообщения: 375
Зарегистрирован: 06 сен 2010, 17:41
Контактная информация:

Re: Elastix AEL MySQL откуда зайти?

Сообщение gosha »

include ни кто не отменял

#include "/opt/myapp/etc/extensions.ael"
svd
Сообщения: 169
Зарегистрирован: 19 июл 2011, 08:13
Откуда: Красноярск
Контактная информация:

Re: Elastix AEL MySQL откуда зайти?

Сообщение svd »

gosha писал(а):include ни кто не отменял

#include "/opt/myapp/etc/extensions.ael"
не подхватывает :(

пробовал дописать в файл extensions_custom.conf
#include "/etc/asterisk/green.ael"

пробовал дописать в extensions.conf
#include "/etc/asterisk/green.ael"
и так
#include green.ael

не получается

dialplan show 0002

There is no existence of '0002' context
Command 'dialplan show 0002' failed.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Elastix AEL MySQL откуда зайти?

Сообщение ded »

dialplan show 0002 - в каком контексте? Синтаксис не хотите подучить?
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Elastix AEL MySQL откуда зайти?

Сообщение virus_net »

ну как же в каком ?! в МОЕМ ! Вот астериск тупой, не понимает что такое МОЙ контекст. Ведь это очевидно !
:lol:

ded, судя по его вопросам ответом на твой вопрос будет "нет". Печаль одним словом. Человек взялся за AEL не зная элементарных основ диалплана... жесть...
"Иногда лучше читать чем говорить"
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

Re: Elastix AEL MySQL откуда зайти?

Сообщение zzuz »

100% автор заряжает свой смартфон шнуром от утюга.
Линия24 - Системы Массового Телефонного Обслуживания
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH