3.14.3 <actions>
дро, в переменные IVR скрипты
В элементе <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 - маска модификации цифр номера или новые цифры номера.
Подробное описание приведено в разделе 3.14.3 Модификация цифр номера,
Описание параметров "nai", "incomplete", "npi", "apri", "screening", "ni" аналогично описанию параметров элемента "cgpn" секции "conditions".
<cdpn>
Операция модификации параметров номера абонента Б.
<cdpn digits="Digits"
nai="Nai"
incomplete="boolean"
inni="Inni"
npi="Npi"
ni="Ni"/>
где
- digits - маска модификации цифр номера или новые цифры номера, подробное описание приведено в разделе 3.14.3 Модификация цифр номера,остальные параметры аналогичны параметрам элемента "cdpn" секции "conditions".
<rgn>
Операция модификации параметров номера, который выполнил переадресацию
<rgn digits="Digits"
nai="Nai"
incomplete="boolean"
npi="Npi"
apri="Apri"
ni="Ni"/>
где
- digits - маска модификации цифр номера или новые цифры номера, подробное описание приведено в разделе 3.14.3 Модификация цифр номера,остальные параметры аналогичны параметрам элемента "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 - маска модификации цифр номера или новые цифры номера, подробное описание приведено в разделе 3.14.3 Маска цифр номера;
- 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.
Этот элемент атрибутов не имеет.