Воспользуйтесь компоновщиком подвыражений для создания сложных условий правил из подвыражений с помощью AND, OR, NOT и скобочной группировки. Компоновщик правил проверяет правило при применении изменений и предупреждает о наличии несоответствующих скобок и неподдерживаемых логических операторов.
Для того чтобы открыть эту страницу административной консоли, выберите
.Для того чтобы изменить правила с помощью компоновщика правил, необходимо обладать правами доступа администратора.
В зависимости от выбранного протокола, отображаются разные операнды. В приведенной ниже таблице представлены имена операндов, отображаемые в консоли, фактический операнд, употребляемый в выражении, допустимые протоколы для каждого операнда и описание каждого операнда.
Операнд | Синтаксис | Описание |
---|---|---|
Метод SIP | request.method | Метод SIP для запроса. Возможные значения: INVITE, TRYING, RINGING, ACK, OK и BYE. Если сообщение не является запросом, этот операнд возвращает нулевое значение. |
Код ответа SIP | response.code | Код ответа. Если сообщение не является ответом, этот операнд возвращает значение -1. |
Схема заголовка получателя | to.uri.scheme | Схема поля заголовка To (Получатель). |
Схема URI | request.uri.scheme | Схема URI. |
Схема заголовка отправителя | request.from.uri.scheme | Схема поля заголовка From (Отправитель). |
URI запроса | request.uri | URI запроса. |
На URI | request.to.uri | URI поля заголовка To (Получатель). |
С URI | request.from.uri | URI поля заголовка From (Отправитель). |
Из заголовка | request.from | Поле заголовка From (Отправитель). |
Заголовок получателя | request.to | Поле заголовка To. |
В отображаемое имя заголовка | request.to.display-name | Отображаемое имя в поле заголовка To (Получатель). |
Из отображаемого имени заголовка | request.from.display-name | Отображаемое имя в поле заголовка From (Отправитель). |
Хосту URI | request.to.uri.host | Порт в URI поля заголовка To (Получатель). |
Хост сервера | serverhost | Полное имя хоста сервера. Этот операнд не поддерживает числовые операторы, такие как >, >=, <, <=. |
Порт | port | Порт приема, на который был получен запрос. |
Заголовок контакта | request.contact | Поле заголовка Contact (Контакт). |
URI контакта | request.contact.uri | URI поля заголовка Contact (Контакт). |
Хост клиента | clienthost | Полное имя хоста клиента. Это значение имени хоста в IP-команде. Этот операнд не поддерживает числовые операторы, такие как >, >=, <, <=. |
clientipv4 | clientipv4 | IP-адрес компьютера клиента, использующего тип адреса IPv4 в виде четырех чисел, разделенных точками, - n.n.n.n. |
clientipv6 | clientipv6 | 28-битовый тип адреса IPv6 в формате x:x:x:x:x:x:x:x, согласно RFC 1924 компьютера клиента. |
serveripv4 | serveripv4 | IP-адрес компьютера сервера, использующего тип адреса IPv4 в виде четырех чисел, разделенных точками - n.n.n.n. |
serveripv6 | serveripv6 | 28-битовый тип адреса IPv6 в формате x:x:x:x:x:x:x:x, согласно RFC 1924 компьютера сервера. |
Транспорт запроса | request.transport | Транспорт запроса. |
Пользователь URI запроса | request.uri.user | Пользователь в URI запроса. |
От пользователя URI | request.from.uri.user | Пользователь в поле заголовка From (Отправитель). |
Пользователю URI | request.to.uri.user | Пользователь в поле заголовка To (Получатель). |
Запрос хоста URI | request.uri.host | Хост в URI запроса. |
Из хоста URI | request.from.uri.host | Хост в поле заголовка From (Отправитель). |
Запрос порта URI | request.uri.port | Порт в URI запроса. |
Из порта URI | request.from.uri.port | Порт в URI поля заголовка From (Отправитель). |
Хосту URI | request.to.uri.host | Хост в поле заголовка To (Получатель). |
Название заголовка | header $<имя> | Имя и значение заголовка. Например, выражение header$Host='localhost' проверяет, содержится ли в запросе заголовок хоста HTTP со значением localhost.
Для проверки на предмет отсутствия или наличия заголовка хоста используется одно из следующих выражений:
|
Время | time | Этот операнд используется для определения даты и времени суток, когда необходимо удовлетворить данный запрос. Два необязательных поля - это StartTime и EndTime (Время начала и Время окончания). Если запрос получен вне указанного временного промежутка, он не будет обрабатываться. Формат заполнения полей Время начала и Время окончания следующий: день-недели/число/месяц/год::час:мин:сек. Например, четверг, 11 апреля 2007 года, 1:03:45 дня обозначается так: Thu/11/Apr/2007::13:03:45 В любом поле допускается использование * в качестве символа подстановки. Например, 1-е число каждого месяца можно обозначить как */1. Значениями для дня-недели являются: Sun, Mon, Tue, Wed, Thu, Fri, Sat. Значения числа задаются в диапазоне от 1 до 31. Значение месяца является нечисловым и представляет собой один из 12 месяцев: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec. Значение года следует указывать в 4-значном формате. Например, 2007. Значение часа следует указывать в 24-часовом формате времени. Например, 8 ч утра обозначается как ::8. Минуты и секунды представляют собой целые значения в диапазоне от 0 до 59. Символ косой черты (/) используется для разделения параметров даты, два двоеточия (::) - для разделения значений даты и времени, а двоеточием (:) отделяются параметры времени суток. Обратите внимание на то, что это булевский результат правила в целом, в котором используется операнд time, определяющий выполняемое действие маршрутизации. |
Процентное отношение | percentage$<значение> | Операнд percentage обрабатывается как true, фиксированное процентное значение времени. Например, percentage$50 соответствует true в среднем 50% времени. |
Увеличение | rampup$<startTime> $<completionTime> |
Операнд rampup преобразуется в true переменное процентное значение времени. Он всегда оценивается как false до времени начала -<startTime> и как true после времени окончания -<completionTime>.
В течение промежутка времени от <startTime> до <completionTime>, этот операнд обрабатывается как true, линейно возрастающее процентное значение. Формат значений времени начала и времени окончания (<startTime> и <completionTime>): день/месяц/год::час:мин:сек. Где день соответствует числу месяца, месяц - одному из 12 месяцев: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, год - это год в 4-значном формате, час - значение часа в 2-значном 24-часовом формате, мин и сек - 2-значные значения минут и секунд.Например: rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 начинает периодически обрабатываться как true с 8 ч утра 1 января 2007 г. и всегда оценивается как true до окончания заданного периода, т.е. до 5 ч вечера того же дня. |
Оператор | Описание |
---|---|
Равно без учета регистра (EQUALSIGNORECASE) | Оператор равенства без учета регистра. Регистр строк не учитывается. 'ABC' EQUALSIGNORECASE 'abc' равно true. ('ABC' = 'abc') равно false. |
Не равно (< >) | Оператор не равно означает, что значение операнда не равно введенному значению. |
В (IN) |
|
Подобно (LIKE) | Означает совпадение шаблонов для значений строкового операнда. Это значение должно содержать символ подстановки (%) в той позиции, с которой ожидается совпадение шаблонов. Например, выражение
host LIKE %blancaсопоставляет слово blanca с любым другим словом, оканчивающимся на blanca, а выражение: host LIKE blanca%сопоставляет слово blanca с любым другим словом, начинающимся на blanca. Выражение host LIKE %blanca%сопоставляет слово blanca с любым другим словом, в которое включена лексема blanca. |
Подобно без учета регистра (LIKEIGNORECASE) | Этот оператор означает совпадение шаблонов для значений строкового операнда. Регистр строк не учитывается. |
Не пустой (IS NOT NULL) | Проверка запроса подтверждает существование запрашиваемого параметра. |
Конкатенация (+) | Этот оператор преобразует 'abc'+'def' в 'abcdef'. |
Как в (LIKEIN) | Этот оператор означает, что строка likein (строка-1, строка-2, строка-3,...) преобразуется в true, если строка в левой части выражения с likein совпадает с одной или несколькими строками (строка-N). |
Пустой (IS NULL) | Проверка запроса подтверждает отсутствие запрашиваемого параметра. Проверяет, есть ли операнд со значением NULL. |
Равен (=) | Данный оператор равенства означает совпадение с учетом регистра. |
Больше (>) | Преобразуется в стандартный логический результат. |
Больше или равно (>=) | Преобразуется в стандартный логический результат. |
Меньше (<) | Преобразуется в стандартный логический результат. |
Меньше или равно (<=) | Преобразуется в стандартный логический результат. |
Между (BETWEEN) | Используется с оператором AND для выбора диапазона значений между первым (нижним) значением включительно и последним (верхним) значением включительно. Совместно они применяются к цифровым значениям и датам. |
В зависимости от выбранного оператора, введите значение для подвыражения, которое вы собираетесь создать.
Генерирует подвыражение как результат операнда, оператора и указанных пользователем значений.
Щелкните для добавления в поле в панели правил.