CommuniGate Pro
Версия 6.3
 

Правила Автоматической Обработки Сигналов

Сервер CommuniGate Pro может автоматически обрабатывать сигналы с помощью Автоматических Правил. Правила не применяются к Сигнальным запросам, отправляемых внутри уже установленных Диалогов.

Общие для Системы (Общесерверные и Общекластерные) Правила применяется ко всем Сигналам, поступающим на Сервер и/или в Кластер.

Когда Сигнальные запросы направляются на Пользователя Сервера CommuniGate Pro, применяются Правила уровня Пользователя.
Правила уровня Пользователя являются Правилами, заданными для определённого Пользователя наряду с Правилами, заданными для Домена.



Применение Сигнальных Правил

Каждое Правило сигналов имеет стадию и приоритет. Стадия указывает, когда должно применяться Правило:

  • немедленно при получении Сигнала
  • некоторое время спустя после начала обработки Сигнала
  • когда Сигнал заканчивается неуспешно с условиями ошибки Не отвечает, Занято или в случае некоторых других условий ошибок.

Внутри каждой стадии Правила применяются согласно их приоритетам.

Когда Правила Пользователя, Сервера, Кластера, Домена "объединяются", то они группируются согласно стадии. Внутри каждой стадии Правила применяются в следующем порядке:

  • Правила Сервера и Кластера с приоритетом, большим чем 5
  • Правила Домена с приоритетом большем чем 5
  • все Правила Пользователя
  • Правила Домена с приоритетом <= 5
  • Правила Сервера и Кластера с приоритетом <= 5

Обратите внимание: при начале обработки Сигнала сначала применяются все Правила Сервера и Кластера для "немедленной" стадии, а затем обработка продолжается. Сигнал может быть направлен местному Пользователю; тогда Правила Пользователя и Домена "объединяются" с Правилами Сервера и Кластера. Но в этот момент все Правила Сервера и Кластера для "немедленной" стадии уже были применены и удалены из "объединённого" набора.

Задание Сигнальных Правил

Администраторы системы могут задавать Общесерверные и Общекластерные Сигнальные Правила. Через Веб Интерфейс Администратора откройте в области Установки страницу Real-Time, затем откройте страницу Правила.

Администраторы системы и Домена могут задавать Правила Пользователя через Веб Интерфейс Администратора, используя ссылки, находящиеся на странице с Установками Пользователя.

Пользователи могут задавать свои Правила самостоятельно, используя Веб Интерфейс Пользователя. Администраторы системы или Домена могут ограничивать используемые в Правилах действия, которые может выполнять пользователь.

Администраторы системы или Домена могут задавать Общие для Домена Правила, используя ссылки, находящиеся на страницах с Установками Домена.

Более подробно о задании Правил вы можете узнать в общем разделе Автоматические Правила.


Условия Правил

Каждое Правило может использовать набор универсальных условий, описанных в разделе Правил.
В дополнении к этому, в Общесерверных Сигнальных Правилах могут использоваться следующие условия:

Операция [равно | не равно | среди | не среди] строка
Это условие проверяет совпадение названия метода Запроса с указанной строкой.
Пример:
Этому условию будут соответствовать все Запросы типа INVITE.
Тип Вызова [равно | не равно | среди | не среди] строка
Это условие проверяет, совпадает ли тип SDP в Запросе с указанной строкой.
Тип SDP имеет значение AV, если операцией запроса является INVITE, и она содержит как минимум один аудио или видео канал;
Тип SDP имеет значение IM, если операцией запроса является MESSAGE или операцией запроса является INVITE, содержащий IM канал.
Во всех других случаях, тип SDP - пустая строка.
Пример:
Этому условие будет соответствовать всем аудио/видео запросам INVITE.
Адрес Запроса [равно | не равно | среди | не среди] строка
Это условие проверяет совпадение Адреса Запроса (Request URI) с указанной строкой.
Пример:
Этому условию будут соответствовать все сигналы, приходящие любому пользователю домена vm.communigate.ru.
От Кого: [равно | не равно | среди | не среди] строка
Это условие проверяет совпадение адреса Запроса От Кого с указанной строкой.
Пример:
Этому условию будут соответствовать все сигналы, приходящие от любых пользователей из любых поддоменов communigate.ru.
Кому: [равно | не равно | среди | не среди] строка
Так же, как и выше, но проверяется адрес Запроса Кому.
Имя Автора [равно | не равно | среди | не среди] строка
Так же, как и выше, но вместо адреса проверяется "комментарий адреса" (настоящее имя), включённое в адрес От кого.
Пример:
Этому условию будут соответствовать Запросы со следующими адресами От Кого::
From: <sip:jsmith@company.com> (John J. Smith)
From: "Bill J. Smith" <sip:b.smith@othercompany.com>
From: Susan J. Smith <sips:susan@thirdcompany.com>
Аутентификация [равно | не равно | среди | не среди] строка
Это условие проверяет аутентификацию Запроса. Если Запрос был аутентифицирован этим Сервером CommuniGate Pro, то имя аутентифицированного Пользователя (account@domain) сравнивается с указанной строкой.
Пример:
Этому условию будут соответствовать все сигналы, приходящие от любых пользователей из любых поддоменов communigate.ru.
Состояние [равно | не равно | среди | не среди] строка
Это условие проверяет состояние адресата запроса. Это условия может использоваться только в Правилах уровня Пользователя и Домена.
Состояние - это одна из строк online, busy, away. Состояние является пустой строкой, когда адресат Запроса отключён.
Пример:
Активные Устройства [равно | не равно | меньше чем | больше чем ] число
Это условие проверяет общее число Зарегистрированных Устройств для адресата запроса. Это условия может использоваться только в Правилах уровня Пользователя и Домена.
Когда вызов подключает какое-нибудь устройство другого адресата, общее число Зарегистрированных Устройств увеличивается на число зарегистрированных устройств для нового адресата запроса.
Когда вызов перенаправляется на устройства другого адресата, общее число Зарегистрированных Устройств сбрасывается в ноль, и затем увеличивается на число зарегистрированных устройств нового адресата запроса.
Тип Устройства [равно | не равно | среди | не среди] строка
Это условие проверяет тип устройства, отправляющего запрос (поле запроса User-Agent).
Поле Запроса [равно | не равно | среди | не среди] строка
Строка должна содержать имя Поля Запроса и образец данных из поля, разделённых символом двоеточие (:). Это условие сравнивает указанные данные из поля запроса с образцом данных. Сравнению подлежат только простые, неструктурированные поля запроса.
Пример:

Действия Правил

Каждое Правило может иметь несколько действий. Если Запрос соответствует всем условиям Правил, то выполняются действия Правил.

Вы можете использовать все универсальные действия, описанные в разделе Правил. В этом разделе описываются действия Правил, которые могут использоваться в Сигнальных Правилах:

Прекратить Обработку
Это действие должно быть последним в Правиле. Выполнение этого Правила останавливается и другие (с более низкими приоритетами) Правила для этого Сигнала в это время не проверяются. Обработка Сигналов продолжается.
Остановить Правила
Это действие должно быть последним в Правиле. Выполнение этого Правила останавливается, другие (с более низкими приоритетами) Правила для этого сообщения не проверяются и все оставшиеся Правила (которые должны быть применены впоследствии или в случае если доставка Сигнала закончится неуспешно) не применяются. Обработка Сигналов продолжается.
Перенаправить к адреса
Сигнал перенаправляется на один или несколько указанных адресов: текущий "набор адресатов" Сигнала очищается, и применяется указанный здесь "набор адресатов".
Каждый адрес должен быть указан как sip:, sips: или tel: URI. Если указано несколько адресов, то они отделяются символом запятой (,).
Для направления Сигнала в приложения реального времени можно использовать адрес вида #myProgram для запуска приложения myProgram от имени аутентифицированного источника Сигнала.
Пример:

Это правило направит все Сигналы INVITE на адрес adManager@domain.com, если аутентифицированный источник Сигнала не сам adManager@domain.com.
Пользователь adManager@domain.com запустит приложение PBX, которое будет проигрывать вызывающей стороне сообщение, а затем, действуя как B2BUA агент пользователя, соединит вызывающую сторону с абонентом. Вызовы, сделанные этим приложением, в качестве аутентифицированного источника будут иметь adManager@domain.com, так что само это Правило не будет перенаправлять их.
Подключить адреса
Так же, как и Перенаправить к, но указанный адрес добавляется к текущему "набору адресатов", не очищая его.
Parlay-управление параметры
Parlay-оповещение параметры
Эти действия реализовывают команды "Направление Звонка" ("CallDirection") и "Уведомление о Звонке" (""CallNotification"") Интерфейса ParlayX. Значения параметров указывают на используемую операцию запроса, "correlator" Parlay и URL, на который необходимо отправить запрос.

Макроподстановки

Строки параметров для действий Обратиться на URL, Послать IM, Послать Push, Записать в Журнал могут содержать "макросимволы" - комбинации символов, которые заменяются фактическими данными до того, как параметр будет использован в действии Сигнального Правила.

Могут использоваться следующие комбинации символов:

^F заменяется на адрес 'От Кого' оригинального запроса (включая часть "Настоящее Имя", конвертированную в UTF-8)
^E заменяется на адрес запроса 'От Кого' (только адрес)
^t заменяется на текущее время в формате RFC822.
^I заменяется на Call-ID запроса.
^R заменяется на адрес Кому запроса (только адрес)
^M заменяется на строку с Методом запроса.
^U заменяется на URL запроса.
^^ заменяется на один символ ^.

Запись в Журнал информации о работе Правил

Компонент Сигнал записывает в Журнале информацию о работе Правил, общих для системы. Установите для компонента Сигнал Уровень Журнала в Подробности или Всё для того, чтобы проверить как выполняются условия Правила и их действия.

Руководство CommuniGate Pro. Copyright © 2020-2023, АО СталкерСофт