Каждое Правило сигналов имеет стадию и приоритет. Стадия указывает, когда должно применяться Правило:
- немедленно при получении Сигнала
- некоторое время спустя после начала обработки Сигнала
- когда Сигнал заканчивается неуспешно с условиями ошибки Не отвечает, Занято или в случае некоторых других условий ошибок.
Внутри каждой стадии Правила применяются согласно их приоритетам.
Когда Правила Пользователя, Сервера, Кластера, Домена "объединяются", то они группируются согласно стадии. Внутри каждой стадии Правила применяются в следующем порядке:
- Правила Сервера и Кластера с приоритетом, большим чем 5
- Правила Домена с приоритетом большем чем 5
- все Правила Пользователя
- Правила Домена с приоритетом <= 5
- Правила Сервера и Кластера с приоритетом <= 5
Обратите внимание: при начале обработки Сигнала сначала применяются все Правила Сервера и Кластера для "немедленной" стадии, а затем обработка продолжается. Сигнал может быть направлен местному Пользователю; тогда Правила Пользователя и Домена "объединяются" с Правилами Сервера и Кластера. Но в этот момент все Правила Сервера и Кластера для "немедленной" стадии уже были применены и удалены из "объединённого" набора.
Администраторы системы могут задавать Общесерверные и Общекластерные Сигнальные Правила. Через Веб Интерфейс Администратора откройте в области Установки страницу Real-Time, затем откройте страницу Правила.
Администраторы системы и Домена могут задавать Правила Пользователя через Веб Интерфейс Администратора, используя ссылки, находящиеся на странице с Установками Пользователя.
Пользователи могут задавать свои Правила самостоятельно, используя Веб Интерфейс Пользователя. Администраторы системы или Домена могут ограничивать используемые в Правилах действия, которые может выполнять пользователь.
Администраторы системы или Домена могут задавать Общие для Домена Правила, используя ссылки, находящиеся на страницах с Установками Домена.
Более подробно о задании Правил вы можете узнать в общем разделе Автоматические Правила.
Каждое Правило может использовать набор универсальных условий, описанных в разделе Правил. В дополнении к этому, в Общесерверных Сигнальных Правилах могут использоваться следующие условия:
- Операция [равно | не равно | среди | не среди] строка
- Это условие проверяет совпадение названия метода Запроса с указанной строкой.
- Пример:
-
- Тип Вызова [равно | не равно | среди | не среди] строка
- Это условие проверяет, совпадает ли тип SDP в Запросе с указанной строкой.
Тип SDP имеет значение AV, если операцией запроса является INVITE, и она содержит как минимум один аудио или видео канал; Тип SDP имеет значение IM, если операцией запроса является MESSAGE или операцией запроса является INVITE, содержащий IM канал. Во всех других случаях, тип SDP - пустая строка. - Пример:
-
- Адрес Запроса [равно | не равно | среди | не среди] строка
- Это условие проверяет совпадение Адреса Запроса (Request URI) с указанной строкой.
- Пример:
-
- От Кого: [равно | не равно | среди | не среди] строка
- Это условие проверяет совпадение адреса Запроса От Кого с указанной строкой.
- Пример:
-
- Кому: [равно | не равно | среди | не среди] строка
- Так же, как и выше, но проверяется адрес Запроса Кому.
- Имя Автора [равно | не равно | среди | не среди] строка
- Так же, как и выше, но вместо адреса проверяется "комментарий адреса" (настоящее имя), включённое в адрес От кого.
- Пример:
-
- Аутентификация [равно | не равно | среди | не среди] строка
- Это условие проверяет аутентификацию Запроса. Если Запрос был аутентифицирован этим Сервером CommuniGate Pro, то имя аутентифицированного Пользователя (account@domain) сравнивается с указанной строкой.
- Пример:
-
- Состояние [равно | не равно | среди | не среди] строка
- Это условие проверяет состояние адресата запроса. Это условия может использоваться только в Правилах уровня Пользователя и Домена.
Состояние - это одна из строк online, busy, away. Состояние является пустой строкой, когда адресат Запроса отключён. - Пример:
-
- Активные Устройства [равно | не равно | меньше чем | больше чем ] число
- Это условие проверяет общее число Зарегистрированных Устройств для адресата запроса. Это условия может использоваться только в Правилах уровня Пользователя и Домена.
Когда вызов подключает какое-нибудь устройство другого адресата, общее число Зарегистрированных Устройств увеличивается на число зарегистрированных устройств для нового адресата запроса. Когда вызов перенаправляется на устройства другого адресата, общее число Зарегистрированных Устройств сбрасывается в ноль, и затем увеличивается на число зарегистрированных устройств нового адресата запроса.
- Тип Устройства [равно | не равно | среди | не среди] строка
- Это условие проверяет тип устройства, отправляющего запрос (поле запроса User-Agent).
- Поле Запроса [равно | не равно | среди | не среди] строка
- Строка должна содержать имя Поля Запроса и образец данных из поля, разделённых символом двоеточие (:). Это условие сравнивает указанные данные из поля запроса с образцом данных. Сравнению подлежат только простые, неструктурированные поля запроса.
- Пример:
-
Каждое Правило может иметь несколько действий. Если Запрос соответствует всем условиям Правил, то выполняются действия Правил.
Вы можете использовать все универсальные действия, описанные в разделе Правил. В этом разделе описываются действия Правил, которые могут использоваться в Сигнальных Правилах:
- Прекратить Обработку
- Это действие должно быть последним в Правиле. Выполнение этого Правила останавливается и другие (с более низкими приоритетами) Правила для этого Сигнала в это время не проверяются. Обработка Сигналов продолжается.
- Остановить Правила
- Это действие должно быть последним в Правиле. Выполнение этого Правила останавливается, другие (с более низкими приоритетами) Правила для этого сообщения не проверяются и все оставшиеся Правила (которые должны быть применены впоследствии или в случае если доставка Сигнала закончится неуспешно) не применяются. Обработка Сигналов продолжается.
- Перенаправить к адреса
- Сигнал перенаправляется на один или несколько указанных адресов: текущий "набор адресатов" Сигнала очищается, и применяется указанный здесь "набор адресатов".
Каждый адрес должен быть указан как sip:, sips: или tel: URI. Если указано несколько адресов, то они отделяются символом запятой (,). Для направления Сигнала в приложения реального времени можно использовать адрес вида #myProgram для запуска приложения myProgram от имени аутентифицированного источника Сигнала. - Пример:
-
- Подключить адреса
- Так же, как и Перенаправить к, но указанный адрес добавляется к текущему "набору адресатов", не очищая его.
- Parlay-управление параметры
- Parlay-оповещение параметры
- Эти действия реализовывают команды "Направление Звонка" ("CallDirection") и "Уведомление о Звонке" (""CallNotification"") Интерфейса ParlayX. Значения параметров указывают на используемую операцию запроса, "correlator" Parlay и URL, на который необходимо отправить запрос.
Строки параметров для действий Обратиться на URL, Послать IM,
Послать Push, Записать в Журнал могут содержать "макросимволы" - комбинации символов, которые заменяются фактическими данными до того, как параметр будет использован в действии Сигнального Правила.
Могут использоваться следующие комбинации символов:
- ^F заменяется на адрес 'От Кого' оригинального запроса (включая часть "Настоящее Имя", конвертированную в UTF-8)
^E заменяется на адрес запроса 'От Кого' (только адрес) ^t заменяется на текущее время в формате RFC822. ^I заменяется на Call-ID запроса. ^R заменяется на адрес Кому запроса (только адрес) ^M заменяется на строку с Методом запроса. ^U заменяется на URL запроса. ^^ заменяется на один символ ^.
Компонент Сигнал записывает в Журнале информацию о работе Правил, общих для системы. Установите для компонента Сигнал Уровень Журнала в Подробности или Всё для того, чтобы проверить как выполняются условия Правила и их действия.
|