Asterisk dialplan — скриптовый язык конфигурации телефонной платформы Asterisk, реализующий маршрутизацию вызовов и логику обработки звонков. Dialplan описывается в конфигурационных файлах (обычно extensions.conf) и структурирован в виде контекстов, расширений и приоритетов, где каждое правило связывает событие вызова с последовательностью приложений. Язык предназначен для построения интерактивных голосовых меню (IVR), очередей, переадресации, конференций и интеграции с внешними системами через AGI, AMI и другие интерфейсы.
Концептуально dialplan оперирует понятиями контекста (namespace для набора правил), расширения (целевые адреса вызовов) и приоритетов (порядок выполнения шагов). Приложения — это встроенные или подключаемые команды (Playback, Dial, Answer, Hangup и т.п.), выполняемые при совпадении расширения и приоритета. Dialplan поддерживает переменные, функции, условную логику и возможность включения внешних скриптов, что обеспечивает гибкость при реализации сценариев обработки звонков и взаимодействия с базами данных и веб-сервисами.
- Контексты: логические области, изолирующие правила маршрутизации; позволяют разделять права и маршруты для разных групп абонентов.
 - Расширения: идентификаторы набора правил для конкретного набранного числа или события; могут содержать шаблоны и маски.
 - Приоритеты: упорядоченные шаги выполнения для каждого расширения, позволяющие строить последовательные сценарии.
 - Приложения: команды, выполняющие действия с вызовом (воспроизведение, запись, соединение, перевод, ожидание и др.).
 - Переменные и функции: хранение состояния вызова и получение динамических значений (например, CallerID, время, результаты запросов).
 - Управление IVR и очередями: реализация голосовых меню, маршрутизации по нажатию клавиш, обработка списков ожидания и распределение вызовов.
 - Интеграция: вызов внешних скриптов через AGI, взаимодействие с AMI, базы данных и веб-сервисами для расширения логики.
 - Безопасность и контроль доступа: изоляция контекстов и использование правил для предотвращения несанкционированных исходящих вызовов.
 - Отладка и логирование: встроенные средства логирования и тестирования сценариев для диагностики и оптимизации работы.
 - Расширяемость: возможность добавлять модули и пользовательские приложения для специализированных голосовых сервисов.