AEL

Asterisk Extension Language - язык, по своей структуре близкий к языкам программирования, используемый для написания диалплана. Описание производится в файле extensions.ael.

  1. Если в extensions.ael и extensions.conf описывают одну и ту же операцию в рамках одного и того же контекста, то extensions.conf будет иметь приоритет над extensions.ael.
  2. Перечитывание конфигурации extensions.ael выполняется отдельной командой - ael reload
  3. В AEL нет необходимости использовать номера приоритетов.
  4. В AEL каждая строка, описывающая операцию, должна заканчиваться точкой с запятой ;
  5. При вызове приложений, не требующих ввода аргументов, не нужно использовать круглые скобки ( ) после имени приложения.
  6. Если в рамках экстеншна выполняется вызов только одного приложения - не требуется использование фигурных скобок { }.
  7. Для комментария используется символ //.
  8. Именование некоторых функций отличается. Пример - GotoIfTime в ael вызывается как ifTime.
  9. AEL поддерживает циклы for и while.
  10. 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;
        }
}