| Версия 5.2
Введение
Установка
Администрирование
Сеть
Объекты
Почта
Сигналы
Доступ
Услуги
Справочник
Кластеры
Программы
Разное
Лицензирование
Веб Почта
Pronto!
PBX
Обзор | Правила | SIP | XMPP | ТФОП | NAT | Media | Parlay
# Правила Автоматической Обработки Сигналов. Применение Правила Сигналов Задание Правил Сигналов Условия Правил Действия Правил Макро Подстановки Запись в Журнал информации о работе Правил Сервер CommuniGate Pro может автоматически обрабатывать сигналы с помощью Автоматических Правил. Правила не применяются к запросам Сигналов, отправляемых внутри уже установленных Диалогов. Общие для Системы (Общие для Сервера и Общие для Кластера) Правила применяется ко всем сообщениям, поступаемым на Сервер и/или в Кластер. Когда запросы Сигналов направляется на Пользователя Сервера CommuniGate Pro, применяются Правила уровня Пользователя. Правила уровня Пользователя являются Правилами, заданными для определённого Пользователя наряду с Правилами, заданными для Домена.

## Применение Правила Сигналов

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

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

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

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

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

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

## Задание Правил Сигналов

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

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

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

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

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

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

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

`Операция [равно | не равно | среди | не среди] строка`
  Это условие проверяет совпадение названия метода Запроса с указанной строкой.
  Пример:

    Этому условию будут соответствовать все Запросы типа INVITE.
`Тип Вызова [равно | не равно | среди | не среди] строка`
  Это условие проверяет, совпадает ли SDP-тип адреса Запроса с указанной строкой.
  SDP-тип имеет значение `AV`, если операцией запроса является INVITE и она содержит как минимум один аудио или видео канал;
  SDP-тип имеет значение `IM`, если операцией запроса является MESSAGE или операцией запроса является INVITE, содержащий IM канал.
  Во всех других случаях, SDP-тип - это пустая строка.
  Пример:

    Этому условие будет соответствовать всем аудио/видео запросам INVITE.
`От Кого: [равно | не равно | среди | не среди] строка`
  Это условие проверяет совпадение адреса Запроса `От Кого` с указанной строкой.
  Пример:

    Этому условию будут соответствовать все сигналы, приходящие от любых пользователей из любых поддоменов communigate.com.
`Кому: [равно | не равно | среди | не среди] строка`
  Так же, как и выше, но проверяется адрес Запроса Кому.
`Имя Автора [равно | не равно | среди | не среди] строка`
  Так же, как и выше, но вместо адреса проверяется "комментарий адреса" (настоящее имя), включённое в адрес От кого.
  Пример:

    Этому условию будут соответствовать Запросы со следующими адресами `От Кого:`:
    `From: <sip:jsmith@company.com> (John J. Smith)`
    `От Кого: "Bill J. Smith" <sip:b.smith@othercompany.com>`
    `От Кого: Susan J. Smith <sips:susan@thirdcompany.com>`
`Аутентификация [равно | не равно | среди | не среди] строка`
  Это условие проверяет аутентификацию Запроса. Если Запрос был аутентифицирован этим Сервером CommuniGate Pro, то имя аутентифицированного Пользователя (`account@domain`) сравнивается с указанной строкой.
  Пример:

    Этому условию будут соответствовать все сигналы, приходящие от любых пользователей из любых поддоменов communigate.com.
`Состояние [равно | не равно | среди | не среди] строка`
  Это условие проверяет состояние адресата запроса. Это условия может использоваться только в Правилах уровня Пользователя и Домена.
  Состояние - это одна из строк `online`, `busy`, `away`. Состояние является пустой строкой когда адресат Запроса отключён.
  Пример:

`Активные Устройства [равно | не равно | меньше чем | больше чем ] число`
  Это условие проверяет общее число Зарегистрированных Устройств для адресата запроса. Это условия может использоваться только в Правилах уровня Пользователя и Домена.
  Когда вызов подключает какое-нибудь другого адресата, общее число Зарегистрированных Устройств увеличивается на число зарегистрированных устройств для нового адресата запроса.
  Когда вызов перенаправляется на другого адресата, общее число Зарегистрированных Устройств сбрасывается в ноль, и затем увеличивается на число зарегистрированных устройств нового адресата запроса.
`Тип Устройства [равно | не равно | среди | не среди] строка`
  Это условие проверяет тип устройства, отправляющего запрос (поле запроса User-Agent).
`Поле Запроса [равно | не равно | среди | не среди] строка`
  Строка должна содержать имя Поля Запроса и образец данных из поля, разделённых символом двоеточие (`:`). Это условие сравнивает указанные данные из поля запроса с образцом данных. Сравнению подлежат только простые, неструктурированные поля запроса.
  Пример:

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

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

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

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

    | sip:adManager@domain.com

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

## Макро Подстановки

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

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

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

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

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

Руководство CommuniGate® Pro. Copyright © 1998-2009, Stalker Software, Inc.