Работа с Custom contexts во FreePBX

В традиционных АТС обычно имеются средства разграничения доступа абонентов к различным направлениям, чем обычно пользуются для запрета доступа на дорогие направления (междугородную и международную связь). В IP-ATC TBE имеется мощное средство для аналогичных целей — Custom Contexts. Контексты являются основной программной единицей плана обработки вызова Asterisk, по-умолчанию все вызовы абонентов направляются в контекст from-internal, из которого доступны все исходящие направления и функции. Этот модуль позволяет создать для абонентов системы особенные исходящие контексты с заданными ограничениями, в том числе по времени действия.

Модуль Custom Contexts состоит из двух частей, в основной части Setup → Custom Contexts производится создание и настройка ограничений, в Setup → Custom Contexts Times определяются временные интервалы.

Временные интервалы

Custom context time groupsДля определения временных интервалов для охраны и обычных пользователей следует перейти в модуль Setup → Custom Contexts Times. Система сразу же предложит создать новый временной интервал (Add Time Group), для этого нужно ввести в поле Description название и нажать на кнопку Submit. Новый временной интервал появится в списке справа, для его изменения нужно нажать на соответствующую строку списка.

В секции New Time имеется несколько опций, которые задают временной интервал:

Time to start: Время начала временного отрезка, часы и минуты;

Time to finish: Время завершения временного отрезка, часы и минуты;

Week Day Start: День недели, с которого начинается отрезок времени;

Week Day finish: День недели, на котором завершается отрезок времени;

Month Day start: День месяца, с которого начинается отрезок времени;

Month Day finish: День месяца, на котором завершается отрезок времени

Month start: Месяц, на котором начинается отрезок времени;

Month finish: Месяц, на котором завершается отрезок времени;

После нажатия на кнопку Submit настройки сохранятся и появится возможность задать еще один отрезок времени в этом интервале, таким образом каждая временная группа может состоять из множества различных отрезков, объединенных логической операцией «ИЛИ».

Правила доступа

Правила доступа исходящих вызовов по сути являются контекстом, в который на основании настроек пользователя вкладываются другие контексты. Если контекст вложен, то в нем может быть произведен поиск номера для совершения звонка. Для создания контекста следует перейти в модуль Setup → Custom Contexts, ввести имя контекста (поле Context) название, под которым он будет отображаться в системе (поле Description). После сохранения все настройки нового контекста будут доступны по ссылке в списке слева.
Настройки контекста состоят из нескольких секций и опций:

Context: Эта секция содержит общие настройки созданного контекста:

Context: Внутреннее имя контекста;

Description: Имя, под которым он будет отображаться в системе;

Dial Rules: Правила набора, которыми можно ограничить применение некоторых правил исходящих звонков определенным шаблонам номеров.

Формат шаблона:
YY|XX./NN
где:

X – шаблон набираемого номера;

Y – отсекаемая часть набираемого номера, может быть
только в начале шаблона и использоваться один раз;

N – шаблон номера звонящего, позволяет задавать маршруты только для определенных пользователей. Эта часть должна быть отделена от первой наклонной чертой.

В шаблонах X и N могут использоваться следующие подстановочные символы:

X — любая цифра от 0 до 9,

Z — любая цифра от 1 до 9,

N — любая цифра от 2 до 9,

[123] — любая из цифр, перечисленных в квадратных скобках. В приведенном примере 1, 2 или 3,

  • —* одна или несколько произвольных цифр, этот символ не может использоваться перед ‘|’ и ‘+’,

| — символ, позволяющий шаблону удалять префикс набора из номера. Например, шаблон 9|NXXXXXXX будет соответствовать набираемому номеру 95551234, но соединение будет производиться с номером без префикса, 5551234.

Правила Dial Rules создают вложенный контекст с минимальным приоритетом (в конце списка), в этот контекст, в совою очередь, вкладываются те контексты, у которых определено право доступа как Allow Rules или просто Allow (см. далее). Следует помнить, что временные группы присутствуют и в обработке Dial Rules, и в основном контексте.

Set All: Секция имеет одну опцию Set All To, которая для установки всех значений в одно. Например, можно выключить все правила для создаваемого контекста. Эта опция, так как и все остальные может принимать следующие значения:

Allow: разрешает доступ к вложенному контексту через Dial Rules и в самом контексте;

Deny: запретить вложенный контекст как в правилах так и в создаваемом контексте;

Allow Rules: разрешить доступ только через Dial Rules;
Deny Rules: разрешить только в контексте;

timegroup: разрешить через контекст и Dial Rules, но с учетом временной группы, при этом названия значений будет совпадать с названиями временных групп.

Помимо настроек доступа можно установить приоритет в поле Priority, оно отвечает за последовательность просмотра записей при поиске номера. Чем меньше значение, тем выше приоритет. Это нужно для особенного для контекста порядка выбора исходящих маршрутов;

Default Internal Context: Секция определяет правила доступа к внутреннему плану набора системы и имеет несколько настроек

Call Parking: Доступ к припаркованным вызовам;

Custom Internal Dialplan: Доступ к пользовательским правилам набора, определенных в контексте from-internal-custom в файле extensions_custom.conf. Опция для продвинутых пользователей;

ENTIRE Basic Internal Dialplan: Разрешить доступ в контекст from-internal, из которого есть доступ ко всем другим направлениям. Если вы хотите ограничить доступ, например, к городским направлениям, следует отключить доступ к этому контексту;

Fax: Доступ к факс-серверу.

Internal Dialplan: Содержимое этой секции зависит от текущих настроек системы. Модуль сканирует созданные системные контексты и выводит их список. Название контекстов обычно соответствует названиям модулей системы, однако следует понимать, что эта функциональность для продвинутых пользователей. Перечислим контексты, которые обычно бывают в системе:

ALL OUTBOUND ROUTES: Доступ к контексту, который содержит все внешние направления, определенные в модуле Outbound Routes. Если необходимо разграничить доступ к внешним направлениям, не нужно включать этот контекст;

app-chanspy: Прослушивание текущих в системе разговоров;

app-daynight: Переключение на дневной или ночной режим работы;

app-pickup: Перехват вызова в группе;

ext-group: Этот контекст содержит внутренние номера групп вызова;

ext-queues: Этот контекст содержит внутренние номера очередей вызова;

ext-local: Этот контекст содержит внутренние номера абонентов и некоторые системные номера;

ext-meetme: Контекст доступа к конференциям типа MeetMe;

ext-paging: Доступ к группам интеркома и селекторной связи;

fmgrps: Доступ к группам переадресации Follow-me

В системе может быть намного больше различных приложений диалплана, это зависит от установленных модулей FreePBX.

Outbound Routes: эта секция служит для определения прав доступа к внешним линиям, к направлениям, которые определены в модуле Outbound Routes. В секции перечислены направления, имена которых частично совпадают с именами направлений на внешние вызовы, перед названием можно увидеть цифру, которая определяет приоритет выбора контекста в модуле Outbound Routes. Приоритет обработки в создаваемом контексте задается значением поля Priority для каждого из контекстов. Чем меньше значение — тем больше приоритет.

Failover Destination: В случае, если номер, который вызывал пользователь не найден ни в одном вложенном контексте (на которые даем права доступа), то имеется возможность направить вызов в какое либо приложение, например, голосовое меню. При этом имеется возможность задать пин-код для доступа в альтернативное направление. В качестве направления можно использовать в том числе и Custom Destination, которое может указывать, например, на другой Custom Context, что дает возможность каскадировать систему контекстов.

  • 03/08/12
  • 7
  • Оценка: 2.49/5, голосов: 779

Комментарии

Работа с Custom contexts во FreePBX 2012-11-13 14:18 / #

При создании контекста появляется ошибка

Warning: Invalid argument supplied for foreach() in /var/www/html/admin/modules/customcontexts/functions.inc.php on line 677

и после секции Set All сразу идет секция Failover Destination

в чем может быть проблема?

Работа с Custom contexts во FreePBX 2012-11-13 15:26 / #

В modules admin переустановите модуль custom contexts

Работа с Custom contexts во FreePBX 2012-12-13 10:46 / #

Спасибо за статью. Как раз думал о том где почитать о об этом модуле. В оригинале всё таки сложно воспринимать точно.

Работа с Custom contexts во FreePBX 2014-02-18 16:53 / #

Огромное спасибо за статью – давно искал эту информацию переведённую на русский язык

Работа с Custom contexts во FreePBX 2014-02-18 18:39 / #

Да не за что, пользуйтесь! Это, кстати, не перевод, а оригинал ;)

Работа с Custom contexts во FreePBX 2014-07-21 15:52 / #

Стоит задача ограничить звонки внутри станции. Например абоненты 2ХХ не должны звонить абонентам 3ХХ. Custom contexts может в этом помочь?

Работа с Custom contexts во FreePBX 2014-07-21 19:27 / #

Да, это можно реализовать с помощью Custom contexts

Оставить комментарий