<actions>
В элементе <actions> описывается набор действий, выполняемых при срабатывании правила.
Формат описания элемента <actions> имеет следующий вид:
<actions>
<set_options/>
<cgpn/>
<cdpn/>
<rgn/>
<restore_cgpn/>
<restore_rgn/>
<empty_rgn/>
<restore_cdpn/>
<calling/>
<called/>
<final/>
<alarm/>
<log/>
<cause/>
<external_routing/>
<ocdpn/>
<restore_ocdpn>
</actions>
где
- set_options — установка различных параметров вызова;
- cgpn — модификация параметров номера вызывающего абонента;
- cdpn — модификация параметров номера вызываемого абонента;
- rgn — модификация параметров номера, который выполнил переадресацию
- restore_cgpn — восстановление параметров номера вызывающего абонента до значений, которые были при входе в текущий контекст (отмена изменений в рамках контекста);
- restore_cdpn — восстановление параметров номера вызываемого абонента до значений, которые были при входе в текущий контекст (отмена изменений в рамках контекста);
- restore_rgn — восстановление исходных значений параметров номера, который выполнил переадресацию
- empty_rgn — восстановление исходных значений параметров номера вызываемого абонента;
- calling — модификация параметров доступа вызывающего абонента (структура аналогична параметру "calling" из элемента <conditions>);
- called — модификация параметров доступа вызываемого абонента для СОРМ (структура аналогична параметру "called" из элемента <conditions>);
- final — установка признака окончания набора;
- alarm — посылка аварии;
- log — запись сообщения в лог;
- cause — установка cause-ов, по которым необходимо выполнять маршрутизацию по козам;
- external_routing — вызов внешнего сервиса маршрутизации (в данный момент поддерживается только внешняя маршрутизация по Radius);
- ocdpn — операция модификации параметров оригинального номера, на который был совершен вызов;
restore_ocdpn — восстановление исходных значений параметров оригинального номера, на который был совершен вызов, которые были при входе в контекст маршрутизации;
empty_ocdpn — удалить из сигнализации параметр OriginalCalledNumber.
Действия указываются в порядке их выполнения. Все действия являются опциональными.
<set_options>
Низкоуровневая операция, может использоваться для модификации специальных свойств вызова.
Используется для передачи опциональных параметров из маршрутизации в ядро, в переменные IVR скрипта.
Для того чтобы определить переменную IVR скрипта, поле key должно начинаться с ivr_variable:
.
Например, чтобы выставить IVR переменную с именем CARD_PLATFORM_TO_NUMBER поле key должно быть равно ivr_variable:CARD_PLATFORM_TO_NUMBER
.
Пример задания переменной IVR скрипта CARD_PLATFORM_TO_NUMBER. Переменная выставляется в символы, введенные после номера выхода на IVR скрипт:
<actions>
<set_options>
<option key="ivr_variable:card_platform_to_number" value="{def}"/>
</set_options>
</actions>
<cgpn>
Операция модификации параметров номера вызывающего абонента.
<cgpn digits="Digits"
nai="Nai"
incomplete="boolean"
npi="Npi"
apri="Apri"
screening="Screening"
ni="Ni"/>
где
- digits — маска модификации цифр номера или новые цифры номера.
Подробное описание приведено в разделе Модификация цифр номера,
Описание параметров "nai", "incomplete", "npi", "apri", "screening", "ni" аналогично описанию параметров элемента "cgpn" секции "conditions".
<cdpn>
Операция модификации параметров номера абонента Б.
<cdpn digits="Digits"
nai="Nai"
incomplete="boolean"
inni="Inni"
npi="Npi"
ni="Ni"/>
где
- digits — маска модификации цифр номера или новые цифры номера, подробное описание приведено в разделе Модификация цифр номера,остальные параметры аналогичны параметрам элемента "cdpn" секции "conditions".
<rgn>
Операция модификации параметров номера, который выполнил переадресацию
<rgn digits="Digits"
nai="Nai"
incomplete="boolean"
npi="Npi"
apri="Apri"
ni="Ni"/>
где
- digits — маска модификации цифр номера или новые цифры номера, подробное описание приведено в разделе Модификация цифр номера,остальные параметры аналогичны параметрам элемента "rgn" секции "conditions".
<restore_cgpn>
Восстановление исходных значений параметров номера вызывающего абонента, которые были при входе в контекст маршрутизации.
Этот элемент атрибутов не имеет.
<restore_rgn>
Восстановление исходных значений параметров номера, который выполнил переадресацию, которые были при входе в контекст маршрутизации.
Этот элемент атрибутов не имеет.
<empty_rgn>
Удалить из сигнализации параметр RedirectingNumber.
Этот элемент атрибутов не имеет.
<restore_cdpn>
Восстановление исходных значений параметров номера вызываемого абонента, которые были при входе в контекст маршрутизации.
Этот элемент атрибутов не имеет.
<calling>
Модификация параметров доступа вызывающего абонента.
<calling category="atomType"
caller_id="stringType"
display_name="stringType"
sorm_digits="stringType"
sorm_ni="atomType"/>
Синтаксис атрибута "caller_id" аналогичен полю "digits" в "cgpn".
Описание параметров аналогично описанию параметров "calling" раздела "conditions".
Установка номера АОН. Синтаксис атрибута "digits" аналогичен полю "digits" в "cgpn".
Пример установки "caller_id", добавление "8" к номеру из "cgpn":
<conditions>
<cgpn digits="%"/>
</conditions>
<actions>
<calling caller_id="8{%}"/>
</actions>
Параметр display_name позволяет при маршрутизации вызова подменить отображаемое имя абонента А. Данное поле имеет тестовый тип, поддерживает следующие макро-переменные:
%CITY% — город абонента А, на основе Реестра российского плана нумерации;
- %REGION% — регион абонента А, на основе Реестра российского плана нумерации;
- %OPERATOR% — оператор абонента А, на основе Реестра российского плана нумерации
<called>
Модификация параметров доступа вызываемого абонента.
<called sorm_digits="stringType"
sorm_ni="atomType"/>
Описание параметров аналогично элементу "called" раздела "conditions".
<final value="true">
Установка признака финальной маршрутизации. Набор номера Б завершен (срабатывает таймера окончания набора) либо номер полный (пришел в режиме "enblock").
<alarm>
Добавление аварийного события на ECSS-10.
<alarm severity="alarmSeverity"
value="string"/>
- severity — уровень важности аварийного события, возможные значения: warning, minor, major, critical, indeterminate, cleared;
- value — строковое описание данного аварийного события. Строка описания поддерживает следующий набор макросов:
- %TAG% — значения поля tag;
- %CDPN.NAI% — значение nai для вызываемого абонента;
- %CDPN.NI% — значение ni для вызываемого абонента;
- %CDPN.INCOMPLETE% — значение incpomlete для вызываемого абонента;
- %CDPN.INNI% — значение inni для вызываемого абонента;
- %CDPN.NPI% — значение npi для вызываемого абонента;
- %CDPN.DIGITS% — номер для вызываемого абонента;
- %CGPN.NAI% — значение nai для вызывающего абонента;
- %CGPN.NI% — значение ni для вызывающего абонента;
- %CGPN.INCOMPLETE% — значение incpomlete для вызывающего абонента;
- %CGPN.NPI% — значение npi для вызывающего абонента;
- %CGPN.APRI% — значение apri для вызывающего абонента;
- %CGPN.SCREENING% — значение screening для вызывающего абонента;
- %CGPN.DIGITS% — номер вызывающего абонента;
- %DOMAIN% — домен, в рамках которого маршрутизировался данный вызов;
- %ISFINAL% — значение параметра isFinal;
- %CONTEXTNAME% — имя контекста маршрутизации;
- %IFACEA% — интерфейс абонента А;
- %DATETIME% — время, в которое была выполнена маршрутизация.
<log>
Создать запись в системный журнал.
<log severity="logSeverity"
value="string"/>
- severity — показатель критичности записи в системный журнал, возможные значения: error, warning, info;
- value — текст записи в системный журнал. Строка описания поддерживает следующий набор макросов:
- %TAG% — значения поля tag;
- %CDPN.NAI% — значение nai для вызываемого абонента;
- %CDPN.NI% — значение ni для вызываемого абонента;
- %CDPN.INCOMPLETE% — значение incpomlete для вызываемого абонента;
- %CDPN.INNI% — значение inni для вызываемого абонента;
- %CDPN.NPI% — значение npi для вызываемого абонента;
- %CDPN.DIGITS% — номер для вызываемого абонента;
- %CGPN.NAI% — значение nai для вызывающего абонента;
- %CGPN.NI% — значение ni для вызывающего абонента;
- %CGPN.INCOMPLETE% — значение incpomlete для вызывающего абонента;
- %CGPN.NPI% — значение npi для вызывающего абонента;
- %CGPN.APRI% — значение apri для вызывающего абонента;
- %CGPN.SCREENING% — значение screening для вызывающего абонента;
- %CGPN.DIGITS% — номер вызывающего абонента;
- %DOMAIN% — домен, в рамках которого маршрутизировался данный вызов;
- %ISFINAL% — значение параметра isFinal;
- %CONTEXTNAME% — имя контекста маршрутизации;
- %IFACEA% — интерфейс абонента А;
- %DATETIME% — время, в которое была выполнена маршрутизация.
<cause>
Для того чтобы можно было выставить cause-ы, по которым необходимо выполнять маршрутизацию по козам, в блоке "Действие" необходимо добавить раздел "Причины для повторной маршрутизации". В данном разделе добавить три поля для ввода:
- причины ACP (ACP causes) — список ACP козов;
- причины ISUP (ISUP causes) — список ISUP козов;
- причины SIP (SIP causes) — список SIP козов.
На уровне контекста маршрутизации, блока actions добавляется блок cause:
<rule name="rule1">
<actions>
<cause acp="normal, bPtyBusy" isup="16,17,18" sip="401, 400"/>
</actions>
</rule>
<external_routing>
Вызов внешнего сервиса маршрутизации (в настоящий момент поддерживается только внешняя маршрутизации по RADIUS).
<external_routing id="stringType"
service="stringType"
timeout="positiveIntegerType"/>
- id — список имен RADIUS-серверов, на которые будут направляться запросы внешней маршрутизации. Список задается через точку с запятой. В случае указания нескольких серверов, на последующий сервер запрос пойдет только в том случае, если ранее стоящий сервер недоступен. Список серверов можно посмотреть командой @/domain/<DOMAIN>/radius/info@;
- service - radius_route_service — внешняя маршрутизация по RADIUS;
- timeout — время ожидания результата от сервиса внешней маршрутизации, в миллисекундах. По умолчанию установлено 500 мс. Если за данное время внешняя маршрутизация не завершится, система воспримет, что маршрутизация не внесла никаких изменений.
Пример вызова внешней маршрутизации с использованием RADIUS-серверов с именами master и backup, тайм-аутом на запрос в 1 секунду:
<actions>
<external_routing id="master;backup" service="radius_route_service" timeout="1000"/>
</actions>
<ocdpn>
Операция модификации параметров оригинального номера, на который был совершен вызов.
<ocdpn digits="Digits"
nai="Nai"
incomplete="boolean"
npi="Npi"
apri="Apri"
ni="Ni"
category="Category"/>
- digits — маска модификации цифр номера или новые цифры номера, подробное описание приведено в разделе Маска цифр номера;
- nai — тип номера (NatureOfAddressInformation), принимает значения: subscriberNumber, unknown, nationalNumber, internationNumber;
- incomplete — признак полного номера, принимает значения:
- false — номер полный,
- true — номер не полный;
- npi — код плана нумерации (NumberingPlanIndicator), принимает значения: isdnTelephony, dataNumberingPlan, telexNumberingPlan, reserved1 (код 5), reserved2 (код 6), reserved3 (код 7);
- apri — индикатор ограничения предоставления номера вызывающего абонента (AddressPresentationRestrictionIndicator):
- presentationRestricted — запрет,
- presentationAllowed — разрешение,
- addressNotAvailable — недоступность номера;
- ni — индикатор номера (NumberIndicator), принимает значения:
- private — частная сеть;
- local — местная сеть;
- zone — зоновая сеть;
- intercity — междугородная сеть;
- international — международная сеть;
- emergency — спецслужбы$
- empty — присутствует ли в сигнализации вызова параметр OriginalCalledNumber (В случае, если данный параметр выставлен — все остальные параметры (digits, nai, incompele, npi, apri, ni) не должны выставляться
- false — OriginalCalledNumber не присутствует в сигнализации;
- true — OriginalCalledNumber присутствует;
- category — категория абонента, может принимать строковое либо цифровое значение согласно таблице 1.
<restore_ocdpn>
Восстановление исходных значений параметров оригинального номера, на который был совершен вызов, которые были при входе в контекст маршрутизации.
Этот элемент атрибутов не имеет.
<empty_ocdpn>
Удалить из сигнализации параметр OriginalCalledNumber.
Этот элемент атрибутов не имеет.