В последнее время на хабре появилось довольно много статей, посвященных астериску и во всех статьях авторы для описания dial plan'а используют стандартный extensions.conf. Я не буду описывать здесь формат записи в extensions.conf, а лишь постараюсь кратко описать его различия с конфигурационными файлами в формате AEL(extensions.ael), которых на самом деле совсем немного, а вот удобств ael добавляет значительно. В дальнейшем, для удобства, dial plan, описанный в extensions.conf буду называть «обычным» форматом, ну а ael — соответственно ael. Давайте рассмотрим пример простейшего dial plan'a в обычном формате:
;
А вот так этот же контекст будет выглядеть в синтаксисе ael:
;
[internal] exten => s,1,Answer exten => s,n,Background(someivr) exten => s,n,Read(intgroup,,3) exten => s,n,Goto(${intgroup},1) exten => XXX,1,Dial(SIP/${EXTEN}) exten => XXX,n,HangUp
А вот так этот же контекст будет выглядеть в синтаксисе ael:
context internal { s=> { Answer; Background(someivr); Read(intgroup,,3); Goto(${intgroup},1); } XXX => { Dial(SIP/${EXTEN}); HangUp; } }