дро, в переменные 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>
CODE

где

  • 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>
CODE

<cgpn>

Операция модификации параметров номера вызывающего абонента.

<cgpn digits="Digits"
      nai="Nai"
      incomplete="boolean"
      npi="Npi"
      apri="Apri"
      screening="Screening"
      ni="Ni"/>
CODE

где

Описание параметров "nai", "incomplete", "npi", "apri", "screening", "ni" аналогично описанию параметров элемента "cgpn" секции "conditions".

<cdpn>

Операция модификации параметров номера абонента Б.

<cdpn digits="Digits"
      nai="Nai"
      incomplete="boolean"
      inni="Inni"
      npi="Npi"
      ni="Ni"/>
CODE

где

  • digits - маска модификации цифр номера или новые цифры номера, подробное описание приведено в разделе 3.14.3 Модификация цифр номера,остальные параметры аналогичны параметрам элемента "cdpn" секции "conditions".

<rgn>

Операция модификации параметров номера, который выполнил переадресацию

<rgn digits="Digits" 
     nai="Nai" 
     incomplete="boolean" 
     npi="Npi" 
     apri="Apri" 
     ni="Ni"/>
CODE

где

  • 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"/>
CODE

Синтаксис атрибута "caller_id" аналогичен полю "digits" в "cgpn".

Описание параметров аналогично описанию параметров "calling" раздела "conditions".

Установка номера АОН. Синтаксис атрибута "digits" аналогичен полю "digits" в "cgpn".

Пример установки "caller_id", добавление "8" к номеру из "cgpn":

<conditions>
   <cgpn digits="%"/>
</conditions>
<actions>
   <calling caller_id="8{%}"/>
</actions>
CODE

Параметр display_name позволяет при маршрутизации вызова подменить отображаемое имя абонента А. Данное поле имеет тестовый тип, поддерживает следующие макро-переменные:

<called>

Модификация параметров доступа вызываемого абонента.

<called sorm_digits="stringType"
 sorm_ni="atomType"/>
CODE

Описание параметров аналогично элементу "called" раздела "conditions".

<final value="true">

Установка признака финальной маршрутизации. Набор номера Б завершен (срабатывает таймера окончания набора) либо номер полный (пришел в режиме "enblock").

<alarm>

Добавление аварийного события на ECSS-10.

<alarm severity="alarmSeverity"
 value="string"/>
CODE
  • 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"/> 
CODE
  • 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>
CODE

<external_routing>

Вызов внешнего сервиса маршрутизации (в настоящий момент поддерживается только внешняя маршрутизации по RADIUS).

<external_routing id="stringType"
                             service="stringType"
                             timeout="positiveIntegerType"/>
CODE
  • 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>
CODE

<ocdpn>

Операция модификации параметров оригинального номера, на который был совершен вызов.

<ocdpn digits="Digits" 
       nai="Nai" 
       incomplete="boolean" 
       npi="Npi" 
       apri="Apri" 
       ni="Ni" 
       category="Category"/>
CODE
  • 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.
Этот элемент атрибутов не имеет.