Правила Автоматической Обработки Сигналов
Сервер CommuniGate Pro может автоматически обрабатывать сигналы с помощью Автоматических Правил. Правила не применяются к Сигнальным запросам, отправляемых внутри уже установленных Диалогов.
Общие для Системы (Общесерверные и Общекластерные) Правила применяется ко всем Сигналам, поступающим на Сервер и/или в Кластер.
Когда Сигнальные запросы направляются на Пользователя Сервера CommuniGate Pro, применяются Правила уровня Пользователя.
Правила уровня Пользователя являются Правилами, заданными для определённого Пользователя наряду с Правилами, заданными для Домена.
Применение Сигнальных Правил
Каждое Правило сигналов имеет стадию и приоритет. Стадия указывает, когда должно применяться Правило:
- немедленно при получении Сигнала
- некоторое время спустя после начала обработки Сигнала
- когда Сигнал заканчивается неуспешно с условиями ошибки Не отвечает, Занято или в случае некоторых других условий ошибок.
Внутри каждой стадии Правила применяются согласно их приоритетам.
Когда Правила Пользователя, Сервера, Кластера, Домена "объединяются", то они группируются согласно стадии. Внутри каждой стадии Правила применяются в следующем порядке:
- Правила Сервера и Кластера с приоритетом, большим чем 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 запроса.^^
заменяется на один символ ^
.
Запись в Журнал информации о работе Правил
Компонент Сигнал записывает в Журнале информацию о работе Правил, общих для системы. Установите для компонента Сигнал Уровень Журнала в Подробности
или Всё
для того, чтобы проверить как выполняются условия Правила и их действия.