Контексты

Диалплан разбит на разделы, называемые контекстами. Контексты - это именованные группы добавочных номеров, которые выполняют несколько функций.

Контексты изолируют разные части диалплана, предотвращая возможность их взаимодействия. Добавочный номер, определённый в одном контексте, полностью изолирован от добавочных номеров другого контекста, если только взаимодействие не разрешено специально.

[context1] ... [context2] ...

В качестве простого примера возьмём две компании, совместно использующие один сервер Asterisk. Если разместить голосовое меню каждой компании в собственном контексте, они будут эффективно отделены друг от друга. Это позволяет независимо определять действия, выполняемые, скажем, при наборе номера 0: при нажатии кнопки 0 в голосовом меню компании А вы попадаете к секретарю компании А, а при нажатии кнопки 0 в голосовом меню компании Б - к секретарю компании Б.

Контексты различаются по именам. Имена контекстов заключаются в квадратные скобки. Допустимыми символами для образования имени являются буквы от A до Z (верхнего и нижнего регистра), цифры от 0 до 9, дефис и символ подчёркивания.

Максимальная длина имени контекста - 79 символов (80 символов - 1 завершающий нуль).

Обратите внимание, что пробел НЕ входит в список допустимых символов. Не используйте пробелы в именах контекстов, потому что результат вам не понравится.

Все инструкции, размещаемые после описания контекста и до описания следующего контекста, являются частью данного контекста. В начале диалплана находятся два специальных контекста, [general] и [globals].

[general] ; содержит список общих настроек диалплана [globals] ; содержит глобальные переменные [context1] ... [context2] ...

Раздел [general] содержит список общих настроек диалплана, а контекст [globals] мы будем обсуждать в разделе "Глобальные переменные". Пока что достаточно знать, что эти два контекста являются специальными. Созданные вами контексты можно назвать как угодно, только не используйте имена [general] и [globals].

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

Другое важное применение контекстов (возможно, самое важное) - обеспечение безопасности. Правильно применяя контексты, определённым абонентам можно предоставить доступ к функциям (таким как международная связь), которые недоступны для других. Если диалплан разработан неаккуратно, пользователи по вашей оплошности могут получить возможность мошенничать в вашей системе. Пожалуйста, помните об этом при построении системы Asterisk.

В подпапке doc папки исходного кода Asterisk находится очень важный файл, security.txt, в котором определено нескольно шагов для обеспечения безопасности системы Asterisk. Вам чрезвычайно важно прочитать и понять этот файл. Если проигнорировать меры предосторожности, описанные там, всё может закончиться тем, что кто угодно сможет делать междугородные звонки за ваш счёт.

Далее рассмотрим добавочный номер

Поддержите проект, если он помог вам

Проект продвигается за счёт личных средств и времени авторского коллектива. Если вы нашли здесь то, что искали, то вы можете выразить свою благодарность финансово. Даже небольшой платёж помогает авторам в их труде, сохраняя их вовлечённость и высокую мотивацию чтобы строить открытый мир равных возможностей для всех неравнодушных людей вокруг.