Заключение
Проработав все разделы данной главы, вы должны получить пару сконфигурированных аналоговых интерфейсов, локальные каналы SIP и IAX2, подключенные к программному и/или аппаратному телефону, и иметь возможность передавать вызовы через серверы по протоколам SIP и IAX2. Эти настройки элементарны, но благодаря им мы имеем функциональные каналы, с которыми можно работать. Мы будем использовать их в следующих главах, пока не научимся создавать более функциональные диалпланы.5
Основы диаллана
Все должно быть сделано настолько просто, насколько это возможно, но не проще. - Альберт Эйнштейн (1879-1955)
Диалплан, поистине, - сердце любой системы Asterisk, поскольку он определяет, как Asterisk обрабатывает входящие и исходящие вызовы. По сути, он состоит из списка инструкций или шагов, которым будет следовать Asterisk. В отличие от традиционных систем телефонной связи, диалплан Asterisk является полностью настраиваемым. Чтобы добиться успеха в построении собственной системы Asterisk, необходимо понять концепцию диалплана.
Если вы пытались прочитать некоторые примеры диалпланов и сочли их невыполнимыми или пробовали написать диалплан Asterisk и не достигли успеха, не отчаивайтесь, помощь близка. Данная глава шаг за шагом объяснит, как работает диалплан. Прочитав ее, вы приобретете навыки, необходимые для создания собственного диалплана. Все примеры дополняют друг друга, поэтому можно свободно вернуться назад и перечитать раздел, если что-то непонятно. Однако, пожалуйста, обратите внимание, что данная глава ни в коем случае не является исчерпывающим обзором всех возможностей диалплана; наша цель - рассмотреть только основы. Более глубокие аспекты настройки диал- плана будут затронуты в последующих главах.
Синтаксис диалплана
Диалплан Asterisk определен в конфигурационном файле extensions. conf.
Файл extensions.conf обычно находится в папке /etc/asterisk/, но его местоположение может меняться в зависимости от того, как установлена Asterisk. Этот файл часто размещается в папках /usr/local/asterisk/etc/ и /opt/asterisk/etc/.
Диалплан состоит из четырех основных элементов: контекстов, добавочных номеров, приоритетов и приложений. В следующих нескольких разделах будут рассмотрены все эти части и то, как они работают вместе. После объяснения роли каждого из этих элементов в диалпла- не перейдем к процессу поэтапного создания базового функционального диалплана.
Образцы конфигурационных файлов
Если при установке Asterisk были установлены и образцы конфигурационных файлов, скорее всего, у вас имеется файл extensions.conf. Но мы предлагаем начинать не с файла-образца, а создать собственный файл extensions.conf с нуля. Это будет крайне полезно, поскольку обеспечит лучшее понимание основных элементов и принципов диалплана.
Но надо сказать, что образец файла extensions.conf остается фантастическим ресурсом, полным примеров и идей, которые можно использовать после изучения базовых элементов. Мы предлагаем переименовать его и назвать, например, extensions.conf. sample. Таким образом оригинальный файл будет сохранен, и к нему можно будет обратиться в будущем. Образцы конфигурационных файлов также можно найти в подпапке /configs/ папки исходного кода Asterisk.
Контексты
Диалпланы разбиты на разделы, называемые контекстами. Контексты - это именованные группы добавочных номеров, которые выполняют несколько функций.
Контексты изолируют разные части диалплана, предотвращая возможность их взаимодействия. Добавочный номер, определенный в одном контексте, полностью изолирован от добавочных номеров другого контекста, если только взаимодействие не разрешено специально. (То, как разрешить взаимодействие контекстов, будет рассмотрено ближе к концу данной главы.)
В качестве простого примера возьмем две компании, совместно использующие один сервер Asterisk. Если разместить голосовое меню каждой компании в собственном контексте, они будут эффективно отделены друг от друга. Это позволяет независимо определять действия, выполняемые, скажем, при наборе номера 0: при нажатии кнопки 0 в голосовом меню компании А вы попадете к секретарю компании А, а при нажатии кнопки 0 в голосовом меню компании В - к секретарю компании В. (Эти примеры предполагают, конечно же, что мы задали для Asterisk перенаправление вызовов на секретарей при нажатии кнопки 0 вызывающими абонентами.)
Читать дальше