В элементе <conditions> описывается набор условий, выполнение которых приводит к выполнению правила.
Формат описания элемента <conditions> имеет следующий вид:
<conditions> <calling/> <cdpn/> <cgpn/> <time/> <date/> <weekday/> <tag/> <final/> <cause/> </conditions>
где
- calling - поле сравнения параметров доступа вызывающего абонента;
- cdpn - поле сравнения номера вызываемого абонента (номер Б и его параметры);
- cgpn - поле сравнения номера вызывающего абонента (номер А и его параметры);
- time - время суток;
- date - день в году;
- weekday - день недели;
- tag - вспомогательный параметр для организации многошаговой маршрутизации в рамках одного контекста, по умолчанию установлено значение "default";
- final - признак финальной маршрутизации: номер Б полный или возможен донабор по номеру Б;
- cause - причина окончания предыдущей попытки вызова.
Каждый из указанных выше элементов в рамках <conditions> является опциональным и может быть использован не более одного раза.
Пустой набор критериев говорит об отсутствии ограничений.
<calling>
Параметры доступа вызывающего абонента.
<calling access_private="booleanType" access_local="booleanType" access_zone="booleanType" access_intercity="booleanType" access_international="booleanType" access_emergency="booleanType" have_access_to="atomType" category="atomType" caller_id="stringType" display_name="stringType" sorm_digits="stringType" sorm_ni="atomType" interface_group="stringType" iface="binaryType"/>
где
- access_private - проверка значения типа доступа вызываемого абонента при выходе на УПАТС access_type/access_private.out;
- access_local - проверка значения типа доступа вызываемого абонента при выходе на местную сеть access_type/access_local.out;
- access_zone - проверка значения типа доступа вызываемого абонента при выходе на зоновую сеть access_type/access_zone.out;
- access_intercity - проверка значения типа доступа вызываемого абонента при выходе на междугородную сеть access_type/access_intercity.out;
- access_international - проверка значения типа доступа вызываемого абонента при выходе на международную сеть access_type/access_international.out;
- access_emergency - проверка значения типа доступа вызываемого абонента при выходе на спецслужбы access_type/access_emergency.out;
- have_access_to - проверка матрицы доступа вызывающего абонента на возможность выхода в указанную группу доступа (access_matrix);
- caller_id - текущее значение номера АОН;
- interface_group - группа вызывающего интерфейса;
- iface - имя вызывающего интерфейса;
- display_name - имя абонента для отображения на терминале;
- sorm_digits - номер абонента, который будет передан в ПУ СОРМ;
- sorm_ni - признак абонента, который будет передан в ПУ СОРМ, принимает значения:
- private - частная сеть;
- local - местная сеть;
- zone - зоновая сеть;
- intercity - междугородная сеть;
- international - международная сеть;
- emergency - спецслужбы.
- category - категория абонента А, может принимать строковое либо цифровое значение согласно таблице:
Таблица 1 – Категории абонента
Строковое значение | Цифровой код (ISUP) | Цифровой код (АОН) |
---|---|---|
unknownAtThisTime | 0 | |
operatorFrench | 1 | |
operatorEngish | 2 | |
operatorGerman | 3 | |
operatorRussian | 4 | |
operatorSpanish | 5 | |
reserved | 9 | |
ordinarySubscriber | 10 | 1 - ОАО "Ростелеком" |
subscriberWithPriority | 11 | 4 - ООО "Эквант" |
dataCall | 12 | 8 - ОАО "АРКТЕЛ" |
testCall | 13 | |
spare | 14 | |
payphone | 15 | 6 - ЗАО "Компания ТрансТелеКом" |
category0 | 224 | |
hotelsSubscriber | 225 | 2 - ОАО "КОМСТАР-ОТС" |
freeSubscriber | 226 | |
paidSubscriber | 227 | 7 - ЗАО "Синтерра" |
localSubscriber | 228 | 3 - ОАО "Вымпелком" (ранее ООО "СЦС Совинтел") |
localTaksofon | 229 | 9 - ОАО "Межрегиональный Транзит Телеком" |
autoCallI | 240 | |
semiautoCallI | 241 | |
autoCallII | 242 | |
semiautoCallII | 243 | |
autoCallIII | 244 | |
semiautoCallIII | 245 | |
autoCallIV | 246 | |
semiautoCallIV | 247 |
Атрибуты элемента <calling> являются опциональными, но должен быть указан хотя бы один атрибут.
Порядок указания атрибутов произвольный.
<called>
Параметры доступа вызываемого абонента.
<called sorm_digits="stringType" sorm_ni="atomType"/>
где
- sorm_digits - номер абонента, который будет передан в ПУ СОРМ;
- sorm_ni - признак абонента, который будет передан в ПУ СОРМ, принимает значения:
- private - частная сеть;
- local - местная сеть;
- zone - зоновая сеть;
- intercity - междугородная сеть;
- international - международная сеть;
- emergency - спецслужбы;
Атрибуты элемента <called> являются опциональными, но должен быть указан хотя бы один атрибут.
Порядок указания атрибутов произвольный.
<cdpn>
Параметры номера вызываемого абонента.
<cdpn digits="Digits" nai="Nai" incomplete="boolean" inni="Inni" npi="Npi" ni="Ni"/>
где
- digits - маска цифр номера вызываемого абонента, подробное описание приведено в разделе Маска цифр номера;
- nai - тип номера (NatureOfAddressInformation), принимает значения: subscriberNumber, unknown, nationalNumber, internationNumber;
- incomplete - признак полного номера, принимает значения:
- false - номер полный,
- true - номер не полный;
- inni - индикатор внутрисетевого номера (InternalNetworkNumberIndicator), принимает значения:
- routingToInternalNumberAllowed – маршрутизация на внутренний номер разрешена,
- routingToInternalNumberNotAllowed – маршрутизация на внутренний номер не разрешена;
- npi - код плана нумерации (NumberingPlanIndicator), принимает значения: isdnTelephony, dataNumberingPlan, telexNumberingPlan, reserved1 (код 5), reserved2 (код 6), reserved3 (код 7);
- ni - признак номера (NumberIndicator), принимает значения:
- private - частная сеть,
- local - местная сеть,
- zone - зоновая сеть,
- intercity - междугородная сеть,
- international - международная сеть,
- emergency - спецслужбы.
<cgpn>
Параметры номера вызывающего абонента.
<cgpn digits="Digits" nai="Nai" incomplete="boolean" npi="Npi" apri="Apri" screening="Screening" ni="Ni"/>
где
- 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 – недоступность номера;
- screening - индикатор контроля номера вызывающего абонента, принимает значения:
- userProvidedNotVerified – предоставлена пользователем, не проверена;
- userProvidedVerifiedAndPassed – предоставлена пользователем, проверка пройдена;
- userProvidedVerifiedAndFailed – предоставлена пользователем, проверка не пройдена;
- networkProvided – предоставлена сетью.
- ni - индикатор номера (NumberIndicator), принимает значения:
- private - частная сеть;
- local - местная сеть;
- zone - зоновая сеть;
- intercity - междугородная сеть;
- international - международная сеть;
- emergency – спецслужбы.
<time>
Время суток, задается в виде: ЧЧ:ММ - ЧЧ:ММ, где ЧЧ - часы, ММ - минуты.
<time value="TimeMask"/>
где
- value - маска времени суток. Подробное описание приведено в разделе Маска времени.
<date>
Дата, задается в виде: ДД1.ММ1.ГГГГ1 - ДД2.ММ2.ГГГГ2, где ДД - день, ММ - месяц, ГГГГ - год.
<date value="DateMask"/>
где
- value - маска даты. Подробное описание приведено в разделе Маска даты.
<weekday>
День недели, задается в виде ДН1,ДН2,...,ДНX, где ДН - номер дня недели (числа от 1 до 7). Может быть указано от 1 до 7 дней недели.
<weekday value="WeekdayMask"/>
где
- value - маска дня недели. Подробное описание приведено в разделе Маска дня недели.
<tag>
Специальный параметр, который можно установить для вызова при маршрутизации.
Параметр действует только на этапе маршрутизации, устанавливается в правиле маршрутизации и в последующем используется для изменения отработки логики маршрутизации.
<tag value="Tag"/>
где
- value - строка, значение поля "tag" для вызова, проверяется на полное совпадение. По умолчанию значение - "default".
<final>
Признак финальной маршрутизации. Набор номера Б завершен (срабатывает таймера окончания набора) либо номер полный (пришел в режиме "enblock").
<final value="boolean"/>
где
- value - признак финальной маршрутизации, принимает значение:
- true - номер Б полный;
- false - возможен донабор по номеру Б.
<cause>
Причина разъединения предыдущей попытки вызова.
Механизм позволяет использовать режим маршрутизации по "Cause". Когда вызов с абонента А на абонента Б был завершен с определенным кодом завершения без фазы разговора, то выполняется повторная маршрутизация, в качестве одного из параметров указывается причина разъединения.
Если в системе корректно настроены правила маршрутизации по "Cause", то возможно осуществить перевод таких вызовов на различного вида автоинформаторы (переадресация на автоинформаторы с сообщениями типа "абонент временно недоступен", "линия перегружена", "абонент не существует" и другие).
<cause value="Cause"/>
где
- cause - причина разъединения.
<ocdpn>
Параметры оригинального номера, на который был совершен вызов.
<ocdpn digits="Digits" nai="Nai" incomplete="boolean" npi="Npi" apri="Apri" ni="Ni" empty="Empty" category="Category"/
где
- igits - маска цифр номера вызываемого абонента, подробное описание приведено в разделе Маска цифр номера;
- 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.