Правила записи (recordrule)

Описание

Правило применения записи телефонного звонка.
Применяется в момент соединения после успешного вызова, когда определились стороны диалога.

В одном телефонном разговоре участники могут принадлежать разным доменам.
Процесс принятия решения о записи состоит из
(1) Определения участников звонка и их доменов и подготовки параметров поиска.
(2) Определение правила записи в домене инициатора.
(3) В случае кросс-доменного звонка определение правила записи в домене вызываемого абонента.
(4) Принятие решения о записи на основе положительного решения о записи хотя бы в одном из доменов.
По умолчанию разговоры не записываются.

Записи хранятся в доменных хранилищах. Варианты:
* NFS папка, присоединенная к NFS серверу и подключенная в качестве волюма в контейнер системы. При инсталляции в эту папку размещается файл 'rshare.sign', указывающий на доступность сервера.
* При тех же условиях, если папка не является подключенной к NFS, то размещается локально на сервере с ролью recmover. При обращении к файлу перебираются все серверы, где активны экземпляры recmover.
* в S3 хранилище (если для такового в домене создано и настроено хранилище). Берется хранилище с именем 'records'.

Позволяет также настроить запись посредством siprec (RFC-7866), streamed_call_rec, mixed_call_rec.

Ограничения

  • Коллекция недоступна в мастер-домене.

Поля

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

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

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

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

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

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

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

Маска-фильтр номера инициатора вызова.
Режимы работы фильтров.

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

Маска-фильтр вызываемого абонента.
Режимы работы фильтров.

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

Маска-фильтр другого домена.
Применяется только в ходе обслуживания кросс-доменных звонков.
Режимы работы фильтров.

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

Выключатель режима стандартной записи средствами платформы. Каналы абонентов записываются раздельно, микшируются в соответствии с настройками микросервиса mixer в конфигурации, переносятся в хранилища доменов.
1 – записывать, 0 – не записывать.
В случае если кросс-доменный звонок в обоих доменах обнаруживает разные действия, запись осуществляется, но не попадает в домен, отказавшийся от записи.

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

Выключатель режима записи посредством siprec (RFC-7866).
1 – записывать, 0 – не записывать.
В случае если кросс-доменный звонок в обоих доменах обнаруживает разные действия, siprec-вызовы осуществляются только в соответствии с настройками домена, запросившего запись.
Подробнее о настройках режима 'siprec'.

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

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

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

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

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

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

Правило хранения записи, применяемое в данном домене.
Применяется только если rec = 1.

Поле: 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. Варианты фильтров по направлению звонка
Значение Описание

"inner"

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

"incoming"

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

"outgoing"

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

"*"

Правило может применяться для всех звонков, где по крайней мере одной из сторон является абонент текущего домена

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

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

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

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

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

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

  • {F} и {f} – значение From username целиком;

  • {T} и {t} – значение To username целиком;

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

Например, XX[X] – любое трехсимвольное значение, с символом X на конце.

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

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

"all"

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

"work"

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

"non-work"

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

"custom"

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

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

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

daystart

17

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

daystop

17

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

timestart

01440

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

timestop

01440

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

См. также

Логические роли

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

  • recmover применяет правило записи из события, изначально сгенерированного в b2b, при распределении записей разговоров по доменам.