Правило переадресации (redirectrule)

Описание

Правило переадресации, назначаемое для номеров (учетных записей SIP-пользователей).
Применяется сервером функциональной роли B2BUA при совершении вызовов на внутренние номера SIP-пользователей.

Включает в себя несколько видов маршрутизации: абсолютная, по отсутствию зарегистрированных устройств, и по различным неудачным ответам от вызываемых устройств.

Возможно последовательное применение каскадной переадресации A → B → C → D.

Ограничения

  • Сущность недоступна в мастер-домене.

  • При использовании учетной записи SIP-пользователя в очередях в качестве ресурса одновременная переадресация может вредить принципам очереди.

  • Не касается переадресаций, настроенных на самом SIP-устройстве и инициируемых получением SIP-ответов с кодами `3xx`.

Поля

Структура сущности
{
  "id": uuid,
  "type": str,
  "filter_number": str,
  "tran_number": str,
  "priority": int,
  "enabled": intbool,
  "schedule": str,
  "periods": array<object>,
  "opts": {
    "title": str,
    "comment": str
  },
  "ext": {
    "ct": date,
    "lwt": date
  }
}
Table 1. Поля
Спецификация Описание

Поле: id
Режим: inout
Тип: uuid
По умолчанию: generated

Идентификатор. Может быть задан при создании, иначе генерируется системой «R».

Поле: type
Режим: in
Тип: str
По умолчанию: required

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

В случае вызова нескольких устройств учетной записи параллельно, при неудачном исходе из всех полученных кодов SIP-ответов выбирается так называемый наилучший результат: 603, 486, 6xx, 5xx, 4xx.

Поле: filter_number
Режим: in
Тип: str
По умолчанию: required

Маска-фильтр номера, которому принадлежит правило переадресации.
Это может быть напрямую указанный номер учетной записи SIP-пользователя – в этом случае правило индивидуального применения.
Но также может быть указана маска поискового фильтра.
Режимы работы фильтра.

Поле: tran_number
Режим: in
Тип: str
По умолчанию: required

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

Поле: priority
Режим: in
Тип: int
По умолчанию: required

Приоритет. Меньшее значение означает более высокий приоритет.

Поле: enabled
Режим: in
Тип: intbool
По умолчанию: required

Выключатель. Правило применяется только если оно включено.

Поле: schedule
Режим: in
Тип: str
По умолчанию: "all"

Определяет расписание активности правила.
Рабочее/нерабочее время определяется в настройках текущего домена, либо в родительских доменах вплоть до мастер-домена.
Расписание работы

Поле: periods
Режим: in
Тип: array<object>
По умолчанию: empty

Интервал активности в течение недели.
Применяется в режиме schedule = custom.
Каждый элемент списка охватывает определенный отрезок внутри недели: от времени в конкретный день недели до времени в другой конкретный день недели.
На основе совокупности этих отрезков формируется общее расписание.
Элемент списка еженедельного расписания.

Поле: opts
Режим: in
Тип: object
Составное поле

Поле: opts.title
Режим: in
Тип: str
По умолчанию: empty

Произвольный заголовок

Поле: opts.comment
Режим: in
Тип: str
По умолчанию: empty

Произвольный комментарий

Поле: ext
Режим: inout
Тип: object
Составное поле

Позволяет расширять состав произвольными ключами и значениями

Поле: ext.ct
Режим: out
Тип: date
По умолчанию: generated

Время создания объекта

Поле: ext.lwt
Режим: out
Тип: date
По умолчанию: generated

Время последней модификации объекта

Типы условий применения правил переадресации

Table 2. Типы условий применения правил переадресации
Значение Описание

"absolute"

Правило переадресации действует всегда. Применяется до начала вызова.

"unregistered"

Правило переадресации действует в случае, если учетная запись не имеет зарегистрированных устройств на момент вызова. Применяется до начала вызова.

"busy"

Правило переадресации действует после получения ответа, сопоставленного в общих настройках с результатом Занято. По умолчанию код SIP-ответа 486 Busy Here.

"timeout"

Правило переадресации действует после получения истечения допустимого времени вызова (по умолчанию 30 секунд, или установленное в настройках учетной записи SIP-пользователя), либо получении ответа 408 Timeout.

"decline"

Правило переадресации действует после получения ответа, сопоставленного в общих настройках с результатом Отклонено. По умолчанию код SIP-ответа 603 Decline.

"dnd"

Правило переадресации действует после получения ответа, сопоставленного в общих настройках с результатом DND (Do Not Disturb). По умолчанию коды SIP-ответов 404 Not Found, 480 Temporary Unavailable.

"error"

Правило переадресации действует после обнаружения ошибок в ходе вызовов.

"other"

Правило переадресации действует после получения SIP-ответов, не сопоставленных с другими типами результатов.

Режимы работы фильтра

Table 3. Режимы работы фильтра
Режим Описание

Посимвольный

Подвергаемое проверке соответствия значение посимвольно проводится через фильтр.
Могут применяться следующие спец-символы:

  • X – любой символ;

  • * – все оставшиеся символы;

  • ? – любой символ кроме точки;

  • $ – любое количество символов до ближайшей точки.
    При необходимости указать один из служебных символов как целевой, его следует заключать в квадратные скобки, например [X].

Например, XXX – любое трехсимвольное значение.

Режимы работы модификатора

Table 4. Режимы работы модификатора
Режим Описание

Посимвольный

Исходное значение посимвольно с накоплением проходит через указанный модификатор.
Допускается применение следующих спец-символов и сочетаний:

  • {V}, {v}, {N} и {n} – включить в результат значение extension, вычисленное для вызываемого SIP-пользователя (подробнее);

  • {E} и {e} – включить в результат пустое значение;

  • любой другой символ захватывается в результат в соотстствующую ему позицию.

Например,- значение: "123456"
- sipuser.extension: "99"
- модификатор: "56*7{N}8"
- результат: "56*7998".

Regex

К исходному значению применяется шаблон Pattern с опциями Opts, и обнаруженный(-ые) блок(-и) заменяется(-ются) на шаблон Replace.
Результат может снова быть подан на следующую операцию Regex-модификации, и так далее конечное число раз.

Общая структура значения regex-модификатора:
/reg/Pattern1/Replace1/Opts1 /reg/Pattern2/Replace2/Opts2 …​.

Опции могут быть опущены, либо содержать любую комбинацию из символов:

  • i – case-insensitive

  • g – global.

Например,- значение: "qwerty,qwerty"
- модификатор: "/reg/t/E/g /reg/qwer/a/"
- результат: "aEy,qwerEy".

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

Расписание работы

Table 5. Расписание работы
Значение Описание

"all"

Правило доступно для применения всегда

"work"

Правило доступно для применения только в рабочее время

"non-work"

Правило доступно для применения только в нерабочее время

"custom"

Правило определяет индивидуальное расписание доступности в поле periods правила

Элемент списка еженедельного расписания

Table 6. Элемент списка еженедельного расписания
Поле Значение Описание

daystart

17

День недели начала отрезка (1 – пн, 7 – вс)

daystop

17

День недели конца отрезка (1 – пн, 7 – вс)

timestart

01440

Время начала отрезка внутри дня в минутах

timestop

01440

Время конца отрезка внутри дня в минутах

См. также

Функциональные роли

  • b2b проводит маршрутизацию и применение правил переадресации.

  • mdc и sdc производит поиск правил переадресации.