Доступно при наличии лицензии RCM.
На шлюзе существует возможность изменения параметров проходящего вызова при помощи команд от RADIUS-сервера, посылаемых в ответ на запросы RADIUS-Authorization. Команды передаются в текстовом виде с использованием Vendor-Specific атрибута (см. раздел Таблицы соответствий ответов RADIUS и голосовых сообщений) с номером вендора, закреплённым за «ООО Предприятие «ЭЛТЕКС» и равным 35265, и именем атрибута "Eltex-AVPair", имеющим номер 1.
В общем виде формат атрибута Eltex-AVPair выглядит следующим образом:
Vendor-Specific(26): Eltex(35265): Eltex-AVPair(1):<$COMMAND-STRING>
Передавая различные команды в строке $COMMAND-STRING, возможно управлять следующими параметрами:
- Модификация номеров CgPN и CdPN:
Модификация номеров может осуществляться в двух местах при обслуживании вызова:
- по входящей связи, перед прохождением звонка через план нумерации, т.е. перед его маршрутизацией. Для этого используются значения CgPNin и CdPNin для номеров Calling и Called соответственно.
- по исходящей связи, после прохождения вызова через план нумерации и после его маршрутизации. Для этого используются значения CgPNout и CdPNout для номеров Calling и Called соответственно.
Для номеров CgPN, помимо значения самого номера, можно изменять такие параметры как:
- numtype – тип номера CgPN;
- plantype – тип плана нумерации CgPN;
- presentation – значение поля presentation CgPN.
Для номеров CdPN, помимо значения самого номера, можно менять такие параметры как:
- numtype – тип номера CdPN;
- plantype – тип плана нумерации CdPN.
Синтаксис запроса на модификацию номеров CgPN и CdPN
Команда состоит из обязательной и необязательной части. Обязательная часть состоит из начального текстового идентификатора команды, идентификатора изменяемого номера и маски модификации.
- «CallManagement:» – текстовый идентификатор, определяющий, что данный атрибут содержит команду для управления вызовом;
- «CgPNin=», «CdPNin=», «CgPNout=», «CdPNout=» – идентификаторы номеров, указывают к какому номеру применить модификацию;
- Параметр «маска модификации» – правило для модификации цифр номера (может быть пустой).
Необязательная часть может состоять как из одного параметра, так и из нескольких параметров, разделяемых символом «точка с запятой». Обязательная и необязательная части также разделяются символом «точка с запятой» при наличии необязательной части команды.
Возможные параметры для необязательной части:
- numtype.
- plantype.
- presentation
В общем виде формат команды выглядит следующим образом:
CallManagement:CgPNin=<$modifymask>;numtype=<$numtype>;plantype=<$plantype>;presentation=<$presentation>
Где:
«CallManagement:CgPNin=<$modify-mask>;» – обязательная часть,
«numtype=<$numtype>;plantype=<$plantype>;presentation=<$presentation>» – необязательная часть.
CallManagement:CdPNin=;numtype=<$numtype>;plantype=<$plantype>
Где:
«CallManagement:CgPNin=;» – обязательная часть с пустой маской модификации,
«numtype=<$numtype>;plantype=<$plantype>» – необязательная часть.
CallManagement:CgPNin=<$modify-mask>;
Где:
«CallManagement:CgPNin=<$modify-mask>;» – обязательная часть,
необязательная часть отсутствует.
Значения параметров, используемых в командах, представлены ниже:
- $modify-mask – правило модификации номера (синтаксис правила модификации описан в разделе Синтаксис правила модификации);
- $numtype – одно из значений: international, national, network-specific, subscriber, unknown;
- $plantype – одно из значений: isdn, national, private, unknown;
- $presentation – одно из значений: allowed, restricted, not-available, spare.
Шлюз позволяет передавать параметры команды модификации номера в нескольких атрибутах. Таким образом, набор команд
«CallManagement:CgPNin=<$modify-mask>» «CallManagement:CgPNin=;numtype=<$numtype>» «CallManagement:CgPNin=;presentation=<$presentation>»
эквивалентен одной команде:
«CallManagement:CgPNin=<$modify-mask>;numtype=<$numtype>;presentation=<$presentation>»
Если какой-либо необязательный параметр (numtype, plantype, presentation) не нуждается в модификации, то его не следует передавать в запросе, но указание типа номера (CgPNin, CdPNin, CgPNout, CdPNout), к которому относятся передаваемые поля, обязательно в начале запроса.
Пример:
По входящей связи к номеру CgPN добавить префикс +7383, поменять его тип номера на national и задать presentation restricted.
Для этого достаточно передать в ответе Access-Accept от RADIUS-сервера атрибут со следующим значением:
Vendor-Specific(26): Eltex(35265): Eltex-AVPair(1): CallManagement:CgPNin=+7383;numtype=national;presentation=restricted Что также это эквивалентно трем атрибутам со значениями: Vendor-Specific(26): Eltex(35265): Eltex-AVPair(1): CallManagement:CgPNin=+7383 Vendor-Specific(26): Eltex(35265): Eltex-AVPair(1): CallManagement:CgPNin=;numtype=national Vendor-Specific(26): Eltex(35265): Eltex-AVPair(1): CallManagement:CgPNin=;presentation=restricted
Управление маршрутизацией вызова
При помощи команд от RADIUS-сервера существует возможность управлять маршрутизацией звонка, а именно переводить его в другой план нумерации шлюза или отправлять безусловно на какой-либо созданный в конфигурации префикс (эквивалент параметра «прямой префикс», описанного в разделе Транковые группы).
Команда для управления маршрутизацией состоит только из обязательной части:
- «CallManagement:» – текстовый идентификатор, определяющий, что данный атрибут содержит команду для управления вызовом.
- «NumberingPlan» – идентификатор, указывающий на команду смены плана нумерации.
- «DirectRoutePrefix» – идентификатор, указывающий на команду выбора префикса прямой маршрутизации.
В общем виде формат команды выглядит следующим образом:
CallManagement:NumberingPlan=<$numplan_idx> CallManagement:DirectRoutePrefix=<$prefix_index>
Где:
$numplan_idx – порядковый номер плана нумерации
$prefix_index – ID-префикса, созданного в плане нумерации.
Пример
Сменить план нумерации вызова на 3-й.
Vendor-Specific(26): Eltex(35265): Eltex-AVPair(1): CallManagement:NumberingPlan=3
Управление категориями вызова
Используя команды от RADIUS-сервера, существует возможность осуществлять модификацию категории доступа и категории АОН абонента (аналог calling party category). Для этого используются следующие поля:
Команда для изменения одной из категорий состоит только из обязательной части:
- «CallManagement:» – текстовый идентификатор, определяющий, что данный атрибут содержит команду для управления вызовом;
- «AccessCategory» – идентификатор, указывающий на команду смены категории доступа;
- «AONCategory» – идентификатор, указывающий на команду смены категории абонента (calling party category).
В общем виде формат команды выглядит следующим образом:
CallManagement:AccessCategory=<$category_idx> CallManagement:AONCategory=<$category_value>
Где:
- $category_idx – индекс категории доступа;
- $category_value – индекс категории АОН.
Приоритет смены категории АОН зависит от типа абонента.
Динамический абонент:
- Модификация через RADIUS;
- Модификация через таблицы модификаций по входящему плечу;
- Модификация через таблицы модификаций по исходящему плечу.
Прочие абоненты:
- Модификация через таблицы модификаций по входящему плечу;
- Модификация через RADIUS;
- Модификация через таблицы модификаций по исходящему плечу.
Пример
Задать категорию абонента (calling party category) равную 7.
Vendor-Specific(26): Eltex(35265): Eltex-AVPair(1): CallManagement:AONCategory=7
Управление параметрами абонентов
Для динамического абонента существует возможность задать параметр «Количество линий» и режим работы линий на этапе регистрации абонента.
Команда для управления параметрами абонентов состоит только из обязательной части:
- «UserManagement:» – текстовый идентификатор, определяющий, что данный атрибут содержит команду для управления абонентской записью;
- «MaxActiveLines» – идентификатор, указывающий количество активных линий, доступных данному абоненту для работы в режиме common. Если указан этот параметр, то режим ограничения линий всегда устанавливается в common, даже если одновременно указаны раздельные ограничения для входящих/исходящих вызовов;
- «MaxEgressLines» – идентификатор, указывающий количество исходящих линий, доступных данному абоненту для работы в режиме separate. Может сочетаться с параметром MaxIngressLines;
- «MaxIngressLines» – идентификатор, указывающий количество входящих линий, доступных данному абоненту для работы в режиме separate. Может сочетаться с параметром MaxEgressLines.
В общем виде формат команды выглядит следующим образом:
"UserManagement:MaxActiveLines=<$line_count>" "UserManagement:MaxEgressLines=<$egress>;MaxIngressLines=<$ingress>;” "UserManagement:MaxEgressLines=<$egress>” "UserManagement:MaxIngressLines=<$ingress>”
Где:
$line_count – количество одновременно активных соединений, доступных абоненту.
$egress - количество исходящих соединений, доступных абоненту;
$ingress - количество входящих соединений, доступных абоненту.
Примеры:
Задать обычный режим работы линий и количество активных линий на абонента равным трем.
Vendor-Specific(26): Eltex(35265): Eltex-AVPair(1): UserManagement:MaxActiveLines=3
Задать раздельный режим работы линий, количество исходящих линий, равное трём и количество входящих линий, равное двум:
Vendor-Specific(26): Eltex(35265): Eltex-AVPair(1): UserManagement:MaxEgressLines=3;MaxIngressLines=2
Задать обычный режим работы линий и количество активных линий на абонента равное двум (обратите внимание на то, что параметр MaxActiveLines имеет безусловный приоритет над MaxEgressLines и MaxIngressLines):
Vendor-Specific(26): Eltex(35265): Eltex-AVPair(1): UserManagement:MaxEgressLines=6;MaxActiveLines=2;MaxIngressLines=5