Синтаксис диалплана
Диалплан 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 сначала будет пытаться найти соответствие набранному добавочному номеру в текущем контексте. В случае неудачи он будет рассматривать контекст, включенный первым (в том числе все включенные в него контексты), а затем будет переходить от одного контекста к другому в порядке их включения.