Синтаксис диалплана

Диалплан Asterisk определён в конфигурационном файле extensions.conf.

Диалплан состоит из четырёх основных элементов:

- контекстов
- добавочных номеров
- приоритетов
- приложений.

Вложенные контексты (выражение include)

Asterisk предоставляет возможность использовать добавочные номера из одного контекста в другом контексте с помощью директивы include (включить). Так можно управлять доступом к различным разделам диалплана.

Выражение include имеет следующий вид:

include => контекст[|часы|дни_недели|дни_месяца|месяцы]
контекст - включаемый контекст
опционально (значение или диапазон значений):
часы - часы в которые действителен контекст (например рабочее время 9:00-17:00)
дни_недели -дни недели (mon-fri)
дни_месяца - дни месяца (1, 15, 1-31)
месяцы - месяцы (jan-dec)
пример
include => open|09:00-17:00|mon-fri|*|* include => open|09:00-14:00|sat|*|* include => closed [open] exten => 2000,1,Dial(SIP/2000) [closed] exten => 2000,1,VoiceMail(2000,u)


При включении контекстов друг в друга необходимо внимательно продумать порядок их подключения. Asterisk сначала будет пытаться найти соответствие набранному добавочному номеру в текущем контексте. В случае неудачи он будет рассматривать контекст, включенный первым (в том числе все включенные в него контексты), а затем будет переходить от одного контекста к другому в порядке их включения.