Asterisk Extension Language - язык, по своей структуре близкий к языкам программирования, используемый для написания диалплана. Описание производится в файле extensions.ael.
- Если в extensions.ael и extensions.conf описывают одну и ту же операцию в рамках одного и того же контекста, то extensions.conf будет иметь приоритет над extensions.ael.
- Перечитывание конфигурации extensions.ael выполняется отдельной командой -
ael reload
- В AEL нет необходимости использовать номера приоритетов.
- В AEL каждая строка, описывающая операцию, должна заканчиваться точкой с запятой
;
- При вызове приложений, не требующих ввода аргументов, не нужно использовать круглые скобки
( )
после имени приложения.- Если в рамках экстеншна выполняется вызов только одного приложения - не требуется использование фигурных скобок
{ }
.- Для комментария используется символ
//
.- Именование некоторых функций отличается. Пример -
GotoIfTime
в ael вызывается какifTime
.- AEL поддерживает циклы
for
иwhile
.- AEL поддерживает условия
if
иelse
.
context phones {
_1XX => {
Wait(2);
Playback(tt-weasels);
Dial(SIP/${EXTEN});
}
222 => Playback(tt-monkeysintro);
}
Asterisk поддерживает включение контекстов между extensions.conf и extensions.ael, несмотря на наличие ошибки типа WARNING при перечитывании конфига.
context incoming {
includes {
ivr;
}
}