ECSS-10 существует возможность изменения параметров проходящего вызова при помощи команд от RADIUS-сервера, посылаемых в ответ на запросы RADIUS-Authorization. Команды передаются в текстовом виде с использованием Vendor-Specific атрибута с номером вендора, закреплённым за «ООО Предприятие «ЭЛТЕКС» и равным 35265, и именем атрибута "Eltex-AVPair", имеющим номер 1. В общем виде формат атрибута Eltex-AVPair выглядит следующим образом:
Vendor-Specific(26): Eltex(35265): Eltex-AVPair(1):<$COMMAND-STRING> |
Передавая различные команды в строке $COMMAND-STRING, возможно управлять следующими параметрами: модификация номеров CgPN, CdPN а так же параметром маршрутизации tag.
Для номеров CgPN, помимо значения самого номера, можно изменять такие параметры как:
Для номеров CdPN, помимо значения самого номера, можно менять такие параметры как:
Для того чтобы вызвать внешнюю маршрутизации на ECSS-10 в контексте маршутизации необходимо написать правило вида:
<rule name="to_RADIUS_routing">
<conditions>
...
</conditions>
<actions>
<external_routing id="master;backup" service="radius_route_service" timeout="5000"/>
</actions>
<result>
<continue context="ctx_after_radius"/>
</result>
</rule> |
В этом правиле говорится, что в случае совпадения условий, выполнить внешнюю RADIUS маршрутизацию на серверах с идентификаторами master (а если он недоступен, backup). Команды для настройки RADIUS серверов можно посмотреть тут. При этом на внешнюю маршрутизацию потратить не более 5000ms. По результатам выполнения RADIUS запроса, продолжится ECSS маршрутизация в контексте ctx_after_radius. Но с измененными CgPN, CdPN, tag (если эти поля были изменены в результате RADIUS запроса).
Команда состоит из следующих частей.
Значения для параметра Tag может выступать любая строка, которая затем может быть использована на маршрутизации в рамках софтсвича.
В общем виде формат команды выглядит следующим образом:
CallManagement:Tag=<$tag>
где:
Пример:
Выставить значение параметра tag в to_nsk. Для этого достаточно передать в ответе Access-Accept от RADIUS-сервера атрибут со следующим значением:
Vendor-Specific(26): Eltex(35265): Eltex-AVPair(1):CallManagement:Tag=to_nsk |
Команда состоит из обязательной и необязательной части. Обязательная часть состоит из начального текстового идентификатора команды, идентификатора изменяемого номера и маски модификации.
Необязательная часть может состоять как из одного параметра, так и из нескольких параметров, разделяемых символом «точка с запятой». Обязательная и необязательная части также разделяются символом «точка с запятой» при наличии необязательной части команды.
Возможные параметры для необязательной части:
В общем виде формат команды выглядит следующим образом (для CGPN):
CallManagement:CgPN=<$modifymask>;numtype=<$numtype>;plantype=<$plantype>;presentation=<$presentation>;displayName=<$displayName>
где:
В общем виде формат команды выглядит следующим образом (для CDPN):
CallManagement:CdPN=<$modifymask>;numtype=<$numtype>;plantype=<$plantype>
где:
Параметры могут быть заданы в двух вариантах "общепринятое обозначение" или в соответствии с внутренними наименованиями SSW. Значения параметров, используемых в командах, представлены ниже:
ECSS-10 позволяет передавать параметры команды модификации номера в нескольких атрибутах. Таким образом, набор команд:
«CallManagement:CgPN=<$modify-mask>»
«CallManagement:CgPN=;numtype=<$numtype>»
«CallManagement:CgPN=;presentation=<$presentation>»
«CallManagement:CgPN=;displayName=<$displayName>»
эквивалентен одной команде:
«CallManagement:CgPN=<$modify-mask>;numtype=<$numtype>;presentation=<$presentation>»
| Если какой-либо необязательный параметр (numtype, plantype, presentation) не нуждается в модификации, то его не следует передавать в запросе, но указание типа номера (CgPN, CdPN), к которому относятся передаваемые поля, обязательно в начале запроса. |
Пример:
К номеру CgPN добавить префикс +7383, поменять его тип номера на national и задать presentation restricted. Для этого достаточно передать в ответе Access-Accept от RADIUS-сервера атрибут со следующим значением:
Vendor-Specific(26): Eltex(35265): Eltex-AVPair(1):CallManagement:CgPN=+7383;numtype=national;presentation=restricted;displayName=UserName |
Что также это эквивалентно трем атрибутам со значениями:
Vendor-Specific(26): Eltex(35265): Eltex-AVPair(1): CallManagement:CgPN=+7383 Vendor-Specific(26): Eltex(35265): Eltex-AVPair(1): CallManagement:CgPN=;numtype=national Vendor-Specific(26): Eltex(35265): Eltex-AVPair(1): CallManagement:CgPN=;presentation=restricted |
Правило модификации представляет собой набор спецсимволов, определяющих изменения номера: