AEL
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;
}
}