Сценарий IVR (ivrscript)

Описание

Сценарий IVR (Interactive Voice Response) – подпрограмма автоматического обслуживания телефонного звонка.

Обслуживается ролью IVR, которая выступает в качестве второй стороны диалога.
Существующий звонок маршрутизируется на сценарий IVR с помощью КАФ (featurecode) с типом "ivr", и может быть переведен на сценарий IVR на любом этапе.
Сценарии IVR применяются для организации голосовой почты, парковки, очереди ожидания, предварительного воспроизведения и т.д. Также IVR может использоваться для совершения системой нового исходящего звонка.

Помимо общих компонентов, доступным всем типам сценариев, имеет ряд дополнительных компонентов, ориентированных на работу с обслуживаемым телефонным каналом: воспроизведение, перевод, и т.д.

Редактирование сценария производится в визуальном редакторе сценариев (приложение scripteditor).

Ограничения

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

  • На обработчик сценария могут быть наложены ограничения, установленные в родительском домене для текущего домена: пауза между компонентами, количество компонентов, время исполнения и т.д.

  • Лицензируется количественным параметром: расходуется лицензия на сценарий IVR.

Поля

Структура сущности
{
  "id": uuid,
  "code": str,
  "name": str,
  "scriptdata": object,
  "projectid": uuid,
  "lwt": date,
  "opts": {
    "title": str,
    "comment": str,
    "loglevel": int,
    "variables": object
  },
  "ext": {
    "ct": date,
    "lwt": date
  }
}
Table 1. Поля
Спецификация Описание

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

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

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

Код. Применяется для ассоциации с другими сущностями.

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

Название

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

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

Поле: projectid
Режим: in
Тип: uuid
По умолчанию: empty

Идентификатор проекта, которому принадлежит сценарий

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

(дубль, устаревшее) Время последней модификации объекта

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

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

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

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

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

Поле: opts.loglevel
Режим: in
Тип: int
По умолчанию: 0

Уровень логирования сценария (0-2).
0 – отключено, …​, 2 – максимально.
Логирование производится в:

  • общий лог-журнал /script/erl_*.log. В любом случае фиксирует только факт запуска процесса обработчика сценария и переходы по компонентами и сценариям;

  • типизированный подоменный лог-журнал /script/ivr@<domain>_*.log. Предназначен для выдачи информации по запросу через диагностическое API администратору текущего домена.

    • 0 – ошибки;

    • 1 – предупреждения;

    • 2 – переходы по компонентами и сценариям и некоторые промежуточные данные.

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

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

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

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

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

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

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

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

См. также

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

  • ivr производит обслуживание звонков в сценариях IVR.

  • b2b производит обслуживание звонка, одной из сторон которого является IVR.