Открыть меню
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Сценарии IVR

Материал из Платформа Эра. Документации

Сценарии IVR (Interactive Voice Response) служат для автоматического обслуживания звонков. Обработчик сценариев является SIP-UA (user-agent), одной из сторон диалога. То есть для каждого подлежащего автоматическому обслуживанию звонка запускается отдельный обработчик сценария IVR.

Запуск производится:

  • при поступления звонка, смаршрутизированного на featurecode с типами ivr, parking, voicemail, hunt;
  • при инициации звонка компонентом Исходящий звонок;
  • сервисом управления звонками (API calls, conferences);
  • сервисом селекторных совещаний в режиме предварительного воспроизведения после ответа абонента (сущность selector);
  • сервисом очередей после ответа оператора перед соединением с абонентом в режиме предварительного воспроизведения (сущность hunt-групп с типом user);

Алгоритм работы каждого сценария описываются сущностью ivrscript. Создаются в веб-приложении "Редактор сценариев" или могут управляться через API.

Сценарий IVR имеет основную ветвь и ветви пост-обработки. Основная ветвь активна только одновременно с активностью обслуживаемого диалога, а при завершении диалога выполнение основной ветви сценария прерывается. При этом его работа может быть продолжена на ветке пост-обработки.

Сценарий IVR, обслуживающий поступивший вызов, должен производить ответ (удачный 2xx или неудачный 3xx-6xx) на поступивший входящий SIP-запрос INVITE. Также может отправлять предварительные ответы 1xx.

Исполняется ролью ivr на одном из сайтов, обслуживающих домен.

Компоненты сценариев IVR

Компонент Завершение звонка

Разрывает текущий диалог отправкой SIP-запроса BYE.

Если диалог еще не установлен (не был предварительно отправлен SIP-ответ 2xx), то компонент завершается ошибкой и прерывает работу основной ветки сценария.

Индекс 201
Краткое название bye
Типы сценариев IVR
Стартовый модуль r_sip_ivr_script_component_bye
Режим Асинхронный
Иконка
Характер разветвления Не разветвляющий

Компонент SIP-ответ

Отправляет SIP-ответ на входящий INVITE, инициировавший запуск IVR сценария. Это может быть: * предварительный ответ 1xx,

* окончательный успешный ответ 2xx,

* окончательный ответ о переадресации 3xx,

* окончательный ответ о неудаче 4xx – 6xx.

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

В соответствии с протоколом SIP последовательно в течение ограниченного интервала времени (~30 секунд) может быть отправлено произвольное количество предварительных ответов, и только один окончательный.

Table 1. Системные характеристики
Индекс 202
Краткое название answer
Типы сценариев IVR
Стартовый модуль r_sip_ivr_script_component_answer
Режим Асинхронный
Иконка
Характер разветвления Не разветвляющий

Свойства

Table 2. Свойства
Спецификация Описание
Название: Код ответа SIP

Код: sipCode

Усл. видимости: нет

По умолчанию: — 

Аргумент, содержащий код SIP-ответа.

Число 1xx6xx.

Название: Текст ответа SIP

Код: phrase

Усл. видимости: нет

По умолчанию: — 

Аргумент, содержащий фразу SIP-ответа.

Например Not Found для 404.

Название: Причина

Код: reason

Усл. видимости: нет

По умолчанию: — 

Аргумент, содержащий причину. Отправляется в SIP-ответе в заголовке Reason.

По умочанию заголовок не добавляется.

Название: Отображаемое имя

Код: remotePartyDisplay

Усл. видимости: нет

По умолчанию: — 

Аргумент, содержащий имя абонента. Отправляется в SIP-ответе в качестве displayname в заголовке Remote-Party-Id.

По умочанию заголовок не добавляется.

Название: Переадресация на номер

Код: redirectTo

Усл. видимости: нет

По умолчанию: — 

Аргумент, содержащий телефонный номер абонента для осуществления переадресации. Необходимо к указанию в случае ответа кодами 3хх.
Название: Переход

Код: transfer

Усл. видимости: нет

По умолчанию: — 

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

Компонент Перевод на номер

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

Автоматически производит подписку на получение событий о состоянии перевода. Общее время процесса перевода складывается из времени ответа на REFER (может включать в себя выдачу запроса абоненту с ожиданием подтверждения), набора указанного номера и ожидания ответа. Однако спустя 60 секунд управление в любом случае будет передано следующему компоненту по ветке "Время подписки".

При переводе используется стандартный процесс маршрутизации от имени текущего сценария IVR.

Table 1. Системные характеристики
Индекс 203
Краткое название refer
Типы сценариев IVR
Стартовый модуль r_sip_ivr_script_component_refer
Режим Асинхронный
Иконка
Характер разветвления Разветвляющий, прерывающий

Свойства

Table 2. Свойства
Спецификация Описание
Название: Номер

Код: number

Усл. видимости: нет

По умолчанию: — 

Аргумент, содержащий телефонный номер абонента для осуществления перевода.
Название: Режим re-INVITE

Код: reinviteMode

Усл. видимости: нет

По умолчанию: Не использовать

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

Возможные варианты:

  • Не использовать (not_used, 0) – Не производит преобразования.
  • Авто (auto, 1) – По текущим настройкам системы аналогично режиму inactive.
  • sendonly (2) – Переводит медиа-сессию в режим удержания путем отправки re-INVITE с SDP, где у медиа-стримов выставлен атрибут a=sendonly.
  • inactive (3) – Переводит медиа-сессию в режим удержания путем отправки re-INVITE с SDP, где у медиа-стримов выставлен атрибут a=inactive (не соответствует RFC-6337 п.5.3.).
Название: Код результата в переменную

Код: resultCode

Усл. видимости: нет

По умолчанию: — 

Переменная для сохранения кода внутренней ошибки.

Возможные варианты:

  • "001" – Ошибка инициации вызова.
  • "002" – Неудача вызова.
Название: Описание результата в переменную

Код: resultDescription

Усл. видимости: нет

По умолчанию: — 

Переменная для сохранения текстового описания внутренней ошибки.
Название: SIP-код ответа в переменную

Код: resultSipCode

Усл. видимости: нет

По умолчанию: — 

Переменная для сохранения кода SIP-ответа на исходящий запрос INVITE.
Название: Причина SIP ответа в переменную

Код: resultSipReason

Усл. видимости: нет

По умолчанию: — 

Переменная для сохранения фразы SIP-ответа на исходящий запрос INVITE.
Название: Переход, время подписки

Код: transferSubTerminated

Усл. видимости: нет

По умолчанию: — 

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

Код: transferRejected

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае, если при вызове получен неудачный окончательный ответ: 3xx-6xx (на REFER или INVITE).
Название: Переход, время

Код: transferTimeout

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае, если за ограниченное время не получен окончательный ответ на отправленный SIP-запрос re-INVITE или REFER.

Компонент Воспроизведение

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

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

Table 1. Системные характеристики
Индекс 204
Краткое название play
Типы сценариев IVR
Стартовый модуль r_sip_ivr_script_component_play
Режим Асинхронный
Иконка
Характер разветвления Разветвляющий, замыкающий

Свойства

Table 2. Свойства
Спецификация Описание
Название: Слой

Код: playerId

Усл. видимости: нет

По умолчанию: "default"

Выбор слоя воспроизведения.

Слоем называется отдельный терминейшен в медиа-контексте IVR, который воспроизводит единовременно не более одного файла.

Таким образом, IVR сценарий в различных режимах воспроизведения, включающих фоновый, может одновременно воспроизводить несколько файлов – все они микшируются.

Название: Режим

Код: mode

Усл. видимости: нет

По умолчанию: Файл полностью

Выбор режима работы компонента.

Возможные варианты:

  • Файл полностью (syncPlayFile, 0) – Производит воспроизведение аудио-файла с ожиданием его завершения. Если в качестве параметров указан каталог, то производится воспроизведение случайного файла из каталога.
  • Предпрослушивание (syncPlayFileLimit, 1) – Производит воспроизведение с ожиданием его завершения и ограничением по времени воспроизведения.
  • Файл + дополнительное время (syncPlayFileExtra, 2) – Производит воспроизведение с ожиданием его завершения и ожиданием дополнительной паузы, применяемой для доввода DTMF символов.
  • Список файлов (syncPlayFiles, 7) – Производит воспроизведение последовательного списка файлов. Опционально может ожидать дополнительной паузы, применяемой для доввода DTMF символов.
  • Фоновое воспроизведение (asyncPlayStart, 3) – Добавляет слой и инициирует фоновое воспроизведение в нем, сразу передавая управление следующему компоненту. Если в указанном слое уже производится воспроизведение, то оно автоматически прерывается.
  • Остановка фона (asyncPlayStop, 4) – Производит остановку воспроизведения в указанном слое.
  • Изменить громкость фона (asyncModifyVolume, 6) – Производит изменение громкости воспроизводимого в фоне файла на указанном слое.
Название: Время, с

Код: playTimeSec

Усл. видимости: да

По умолчанию: — 

Ограничение на время воспроизведения, в секундах.

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

Название: Доп. время, с

Код: extraTimeSec

Усл. видимости: да

По умолчанию: 0

Таймаут дополнительной паузы после завершения воспроизведения, в секундах.

Применяется в режимах Файл + дополнительное время и Список файлов.

Название: Каталог

Код: folder

Усл. видимости: да

По умолчанию: — 

Аргумент, содержащий путь к каталогу.

Должен включать одну из файловых категорий.

Название: Случайно

Код: randomize

Усл. видимости: да

По умолчанию: Да

Режим случайного выбора очередного файла из каталога.

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

  • Да – в начале и при завершении воспроизведения каждого аудио-файла очередной файл выбирается случайным образом.
  • Нет – файлы воспроизводятся в порядке лексико-графической сортировки по именам.
Название: Файл

Код: file

Усл. видимости: да

По умолчанию: — 

Файл для воспроизведения.

Может быть выбран в одном из режимов:

  • статический файл, приложенный к сценарию (загружается из приложения Редактор сценариев или через API);
  • сформированный аргументами путь, который должен включать одну из файловых категорий.
Название: Потоковый файл

Код: fileCanGrow

Усл. видимости: да

По умолчанию: Нет

Режим потокового воспроизведения растущего файла.

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

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

В таком режиме может воспроизводиться только WAV-файл, у которого в заголовке размер заведомо больше того объема сэмплов, которые размещены в файле.

Если воспроизведение доходит до текущего конца файла, а размер файла, указанный в WAV-заголовке не достигнут, плеер генерирует тишину.

По мере добавления сэмплов в конец файла воспроизведение продолжается.

Воспроизведение завершается тогда, когда количество воспроизведенных сэмплов из файла совпадет с указанным количеством сэмплов в Wav-заголовке.

При этом в Wav-заголовок допускается перезаписать размер, когда данные закончатся.

Возможные варианты:

* Нет – обычный режим воспроизведения.

* Да – допускается воспроизведение из растущего WAV-файла.

Название: Таймаут получения данных, мс

Код: growingTimeoutMs

Усл. видимости: да

По умолчанию: 0

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

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

Значение 0 - таймаут не применяется.

Название: Файлы (JSON-список)

Код: filesArg

Усл. видимости: да

По умолчанию: — 

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

Каждый путь должен включать одну из файловых категорий.

Файлы воспроизводятся в порядке указания в списке.

Название: Зацикливать

Код: loop

Усл. видимости: да

По умолчанию: Нет

Выключение режима непрерывного зацикленного воспроизведения.

При воспроизведении через выбор каталога, всякий раз производится случайный выбор нового файла.

Название: Начало, мс

Код: startAt

Усл. видимости: да

По умолчанию: — 

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

Имеет смысл при незацикленном воспроизведении файла.

Название: Конец, мс

Код: stopAt

Усл. видимости: да

По умолчанию: — 

Аргумент, содержащий финальную позицию в файле, в миллисекундах.

Имеет смысл при незацикленном воспроизведении файла.

Название: Громкость (делитель)

Код: volumeDiv

Усл. видимости: да

По умолчанию: — 

Аргумент, содержащий делитель громкости воспроизведения в слое
Название: Буфер для DTMF

Код: dtmfBuffer

Усл. видимости: да

По умолчанию: — 

Переменная для сохранения получаемых DTMF-символов.
Название: Очистить буфер DTMF

Код: clearDtmfBuffer

Усл. видимости: да

По умолчанию: Да

Выключатель предварительной очистки буфера DTMF.
Название: Количество символов

Код: maxSymbolCount

Усл. видимости: да

По умолчанию: — 

Аргумент, содержащий ограничение на количество вводимых символов.

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

Название: Символы прерывания

Код: interruptSymbols

Усл. видимости: да

По умолчанию: — 

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

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

Например, *, 7, 123, 9395.

Название: Вырезать символы прерывания

Код: clearInterrupt

Усл. видимости: да

По умолчанию: Да

Выключатель операции удаления символов прерывания из буфера DTMF после обнаружения последовательности прерывания.
Название: Переход

Код: transfer

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление при успешном завершении операции.
Название: Переход, ошибка

Код: transferError

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае возникновения ошибки.

Компонент Воспроизведение числительных

Осуществляет построение фразы по числу и указанному формату и последующее ее воспроизведение абоненту. Операция проводится синхронно, то есть управление следующему компоненту передается только после завершения воспроизведения.

Файлы числительных для воспроизведения в рантайме находятся в локальном автоматически синхронизирующемся каталоге :SYNC в подкаталоге /common/standardexpressions/<VOICE>.

Table 1. Системные характеристики
Индекс 205
Краткое название playnum
Типы сценариев IVR
Стартовый модуль r_sip_ivr_script_component_playnum
Режим Асинхронный
Иконка
Характер разветвления Разветвляющий, прерывающий

Свойства

Table 2. Свойства
Спецификация Описание
Название: Число

Код: number

Усл. видимости: нет

По умолчанию: — 

Аргумент, содержащий воспроизводимое числительное либо наборную фразу.
Название: Языковой алгоритм

Код: lang

Усл. видимости: нет

По умолчанию: RUS

Выбор языкового алгоритма.

Возможные варианты:

  • RUS (ru, 0) - Русский язык.
  • ENG (en, 1) – Английский язык.
Название: Формат

Код: mode

Усл. видимости: нет

По умолчанию: Количество

Выбор формата воспроизведения.

Возможные варианты:

  • По формату (byformat, 0) – Выбор формата построения фразы по значению: способ разбиения.
  • Количество (quantity, 1) – Числительное XXX, например сто двадцать три.
  • Порядковое числительное (ordinal, 2) – XXX, например сто двадцать третий. Применяет род.
  • Телефонный номер (phone, 3) – XXX XXX-XX-XX, XXX-XX-XX, XX-XX-XX, XX-XX, XXX, например девятсот двадцать пять шестьдесят три двадцать.
  • Дата (date, 4) – Например, двадцать пятое декабря две тысячи шестидесятого года.
  • Время (time, 5) – Например, тринадцать часов двадцать пять минут.
  • Дата / время (datetime, 6) – двадцать пятое декабря две тысячи шестидесятого года тринадцать часов двадцать пять минут.
  • День недели (weekday, 7) – Например, понедельник.
  • Время без нулей в начале (timewo0b, 8) – Время, где нули в начале не воспроизводятся, например: двадцать минут ноль секунд вместо ноль часов двадцать минут ноль секунд.
  • Время без нулей в конце (timewo0e, 9) – Время, где нули в конце не воспроизводятся, например: ноль часов двадцать минут вместо ноль часов двадцать минут ноль секунд.
  • Время в секундах (timesec, 10) – Например, шестьсот секунд.
  • Деньги, USD (moneyusd, 11) – XXX долларов или XXX долларов XX центов.
  • Деньги, EUR (moneyeur, 12) – XXX евро или XXX долларов XX евроцентов.
  • Деньги, RUR (moneyrub, 13) – XXX рублей или XXX рублей XX копеек.
  • Процент (percent, 14) – XX процентов.

Важно, чтобы соответствующие файлы озвучки находились в каталоге выбранного голоса.

Название: Тип проигрывания

Код: format

Усл. видимости: да

По умолчанию: Посимвольно

Выбор способа озвучивания числительного.

Возможные варианты:

  • Посимвольно (sym1, 0) – Каждая цифра числа проговаривается отдельно.
  • По 2 символа (sym2, 1) – Цифры объединяются парами.
  • По 3 символа (sym3, 2) – Цифры объединяются в группы по три.
  • Целиком (number, 3) – Число проговаривается целиком.
  • Буквы и числа (letters, 4) – Значение проговаривается в виде отдельных букв (аббревиатур) и чисел.
  • Слова и фразы (words, 5) – Проговариваются отдельные слова, разделенные пробелами, заранее озвученные и представленные в каталоге озвучки.
Название: Род

Код: gender

Усл. видимости: да

По умолчанию: Мужской

Выбор рода для окончаний при формировании фразы.

Возможные варианты:

  • Мужской (masculine, 0)
  • Женский (feminine, 1)
  • Средний (neuter, 2)
Название: Понижать тон

Код: downTone

Усл. видимости: нет

По умолчанию: Нет

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

Такие файлы в каталогах озвучки существуют отдельно и имеют префикс _.

Название: Голос

Код: voice

Усл. видимости: нет

По умолчанию: — 

Выбор голоса. Каталоги с голосовой озвучкой располагаются в ассетах.
Название: Символы прерывания

Код: interruptSymbols

Усл. видимости: да

По умолчанию: — 

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

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

Например, *, 7, 123, 9395.

Название: Переход

Код: transfer

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае успешного завершения операции.
Название: Переход, ошибка

Код: transferError

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае ошибки.


Компонент Прием DTMF

Осуществляет ожидание ввода абонентом символов DTMF с клавиатуры телефона. Поддерживает поставку символов по RFC-2833 и через SIP-INFO.

Table 1. Системные характеристики
Индекс 206
Краткое название dtmf
Типы сценариев IVR
Стартовый модуль r_sip_ivr_script_component_dtmf
Режим Асинхронный
Иконка
Характер разветвления Разветвляющий, замыкающий

Свойства

Table 2. Свойства
Спецификация Описание
Название: Inband-детектор

Код: inband

Усл. видимости: нет

По умолчанию: disable

Режим работы детектора Inband dtmf.

Возможные значения:

  • Выключить (disable, 0) - DTесли ранее был включен .
  • Включить (enable, 1).
  • Включить и выключить (turn, 2).

Особенности Inband-DTMF детектора:

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

Без острой необходимости не следует активировать режим Inband-DTMF.

Название: Таймаут, с

Код: timeoutSec

Усл. видимости: нет

По умолчанию: — 

Общий таймаут ожидания ввода полного значения.
Название: Межсимвольный таймаут, с

Код: symbolTimeoutSec

Усл. видимости: нет

По умолчанию: — 

Таймаут ожидания ввода следующего символа, начиная с первого, в секундах.
Название: Буфер для DTMF

Код: dtmfBuffer

Усл. видимости: нет

По умолчанию: — 

Переменная для сохранения получаемых DTMF-символов.
Название: Очистить буфер DTMF

Код: clearDtmfBuffer

Усл. видимости: да

По умолчанию: Да

Выключатель предварительной очистки буфера DTMF.
Название: Количество символов

Код: maxSymbolCount

Усл. видимости: нет

По умолчанию: — 

Аргумент, содержащий ограничение на количество вводимых символов.

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

Название: Символы прерывания

Код: interruptSymbols

Усл. видимости: нет

По умолчанию: — 

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

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

Например, *, 7, 123, 9395.

Название: Вырезать символы прерывания

Код: clearInterrupt

Усл. видимости: да

По умолчанию: Да

Выключатель операции удаления символов прерывания из буфера DTMF после обнаружения последовательности прерывания.
Название: Переход

Код: transfer

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление при завершении операции по набору нужного числа символов.
Название: Переход, время

Код: transferTimeout

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление при завершении по таймауту.


Компонент Запись звука

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

Table 1. Системные характеристики
Индекс 208
Краткое название record
Типы сценариев IVR
Стартовый модуль r_sip_ivr_script_component_record
Режим Асинхронный
Иконка
Характер разветвления Разветвляющий, замыкающий

Свойства

Table 2. Свойства
Спецификация Описание
Название: Режим

Код: mode

Усл. видимости: нет

По умолчанию: Синхронная запись

Выбор режима записи.

Возможные варианты:

  • Синхронная запись (syncRecFile, 0) - обычный режим записи в файл с последующей упаковкой в выбранный кодек и возвратом пути к файлу в переменную.
  • Потоковая запись (growingRaw, 1) - режим записи в указанный файл короткими порциями, например для организации потоковой отправки в сервис распознавания речи внешними средствами.
Название: Путь в переменную

Код: pathToVarMode

Усл. видимости: да

По умолчанию: Да

Выключатель сохранения пути к файлу с записью в переменную.
Название: Путь к файлу в переменную

Код: nameVar

Усл. видимости: да

По умолчанию: — 

Переменная для сохранения пути к файлу с записанным голосом.

Применяется только в режиме синхронной записи.

Файл размещается во временном каталоге сценария и будет удален после завершения работы сценария.

Для длительного сохранения файла требуется дальнейшее перемещение файла сценарием в место стационарного хранения.

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

Название: Путь к файлу

Код: toFilepath

Усл. видимости: да

По умолчанию: — 

Аргумент, указывающий путь к файлу для потоковой записи (растущий файл).

Применяется только в режиме потоковой записи.

Название: Wav-заголовок

Код: addWavHeader

Усл. видимости: да

По умолчанию: Нет

Позволяет добавить wav-заголовок к растущему файлу.

Применяется только в режиме потоковой записи.

В Wav-заголовок прописывается размер, эквивалентный выбранному максимальному времени записи.

Название: Кодек

Код: codec

Усл. видимости: да

По умолчанию: PCMA

Кодек/формат записываемого файла (только для режима синхронной записи). Упаковка производится по окончании записи с помощью микшера.

Возможные варианты:

  • PCM (pcm, '0')
  • PCMA (pcma, '1')
  • PCMU (pcmu, '2')
  • GSM (gsm, '3')
  • MP3 8-bit (mp3_8, '4')
  • MP3 16-bit (mp3_16, '5')
  • MP3 24-bit (mp3_24, '6')
Название: Кодек

Код: codecRaw

Усл. видимости: да

По умолчанию: PCMA

Кодек/формат записываемого файла (только для режима потоковой записи).

Возможные варианты:

  • L16/8000 (pcm8000, '0') - PCM 8000 Hz 16 bit mono.
  • L16/16000 (pcm16000, '1') - PCM 16000 Hz 16 bit mono.
Название: Буфер, мс

Код: bufferDurMs

Усл. видимости: нет

По умолчанию: 250

Аргумент, определяющий период сброса записанных данных в потоковый файл.

Применяется только для режима потоковой записи.

Название: Таймаут, с

Код: recTimeSec

Усл. видимости: нет

По умолчанию: — 

Таймаут записи до автоматического прерывания, в секундах.
Название: Буфер для DTMF

Код: dtmfBuffer

Усл. видимости: нет

По умолчанию: — 

Переменная для сохранения получаемых DTMF-символов.
Название: Очистить буфер DTMF

Код: clearDtmfBuffer

Усл. видимости: да

По умолчанию: Да

Выключатель предварительной очистки буфера DTMF.
Название: Количество символов

Код: maxSymbolCount

Усл. видимости: нет

По умолчанию: — 

Аргумент, содержащий ограничение на количество вводимых символов.

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

Название: Символы прерывания

Код: interruptSymbols

Усл. видимости: нет

По умолчанию: — 

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

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

Например, *, 7, 123, 9395.

Название: Вырезать символы прерывания

Код: clearInterrupt

Усл. видимости: да

По умолчанию: Да

Выключатель операции удаления символов прерывания из буфера DTMF после обнаружения последовательности прерывания.
Название: Прерывать фон (слой) при обнаружении голоса

Код: `stopPlayerIdOnVad

Усл. видимости: нет

По умолчанию: "default"

Слой фонового воспроизведения (поле playerId компонента воспроизведение в фоновом режиме, запущенного ранее), который следует остановить при обнаружении голоса в канале абонента.
Название: Прерывать при обнаружении тишины

Код: abortOnSilence

Усл. видимости: нет

По умолчанию: Нет

Выключатель режима обнаружения тишины и автоматического прерывания.

Тишиной считается сигнал ниже порога чувствительности длиной более 200 мс.

Таймер засекается только после обнаружения голоса (сигнал выше порога чувствительности продолжительностью более полусекунды, внутри которого могут обнаруживаться зоны сигнала ниже порога чувствительности продолжительностью менее 200 мс).

Название: Интервал тишины, с

Код: silenceTimeoutSec

Усл. видимости: да

По умолчанию: 2

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

В большинстве случаев 2 секунды - комфортный интервал.

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

Название: Порог VAD, -дБ

Код: vadThreshold

Усл. видимости: да

По умолчанию: 30

Аргумент, устанавливающий порог VAD. Параметр VAD-детектора.

Указанное значение применяется с отрицательным знаком (в децибеллах) для определения порога отсечения тишины относительно возможного максимума.

Поток анализируется фреймами по 20 мс. Каждый звуковой фрейм на основании порога отсечения рассматривается либо как голос, либо как тишина (средний уровень громкости фрейма).

Таким образом, детектор имеет два состояния: голос и тишина. При переходе между состояниями генерируется событие о переходе в другое состояние. Изначально детектор находится в состоянии тишины.

Генерация сигнала обнаружения голоса происходит в состоянии тишины тогда, когда несколько фреймов подряд являются голосовыми (параметр 'Порог голоса, мс').

Генерация сигнала обнаружения тишины происходит в состоянии голоса тогда, после того, как несколько фреймов подряд признаны тишиной (параметр 'Порог тишины, мс').

При значении 30 детектор лучше определяет тишину, при значении 40 детектор лучше определяет появление голоса.

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

Название: Голос, мин. длительность, мс

Код: vadVoiceMinMs

Усл. видимости: да

По умолчанию: 120

Аргумент, устанавливающий минимальную пороговую длительность VAD для генерации сигнала VAD UP.

Параметр VAD-детектора.

Для генерации сигнала необходимо несколько фреймов по 20 мс подряд со средним уровнем выше установленного порога VAD.

Через указанное значение определяется количество фреймов.

Название: Голос, допустимое отклонение, %

Код: vadVoiceTol

Усл. видимости: да

По умолчанию: 20

Аргумент, устанавливающий допустимое отклонение в последовательности голосовых фреймов.

Параметр VAD-детектора.

Например минимальная длительность задана 210 (мс), отклонение 20 (%). Таким образом для сигнализации о наличии голоса будет требоваться последовательность из 11 фреймов, 9 из которых должны быть голосовыми.

Значение 0 означает что все 11 фреймов подряд должны быть голосовыми (иметь средний уровень выше порога VAD).

Название: Тишина, мин. длительность, мс

Код: vadSilenceMinMs

Усл. видимости: да

По умолчанию: 500

Аргумент, устанавливающий минимальную пороговую длительность фреймов с тишиной для генерации сигнала VAD DOWN.

Параметр VAD-детектора.

Для генерации сигнала необходимо несколько фреймов по 20 мс подряд со средним уровнем ниже установленного порога VAD.

Через указанное значение определяется количество фреймов.

Название: Тишина, допустимое отклонение, %

Код: vadSilenceTol

Усл. видимости: да

По умолчанию: 10

Аргумент, устанавливающий допустимое отклонение в последовательности голосовых фреймов.

Параметр VAD-детектора.

Например минимальная длительность задана 210 мс, отклонение 20%. Таким образом для сигнализации о наличии голоса будет требоваться последовательность из 11 фреймов, 9 из которых должны быть голосовыми.

Значение 0 означает что все 11 фреймов подряд должны быть тишиной (иметь средний уровень ниже порога VAD).

Название: Переход

Код: transfer

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление при завершении операции по набору нужного числа символов.
Название: Переход, время

Код: transferTimeout

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление при завершении по таймауту.
Название: Переход, ошибка

Код: transferError

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление при обнаружении ошибки, например неверно задан путь к файлу для потоковой записи.


Компонент Отправка факса

Отправляет изображение по факсимильному протоколу T.30 или T.38.

Table 1. Системные характеристики
Индекс 213
Краткое название fax_send
Типы сценариев IVR
Стартовый модуль r_sip_ivr_script_component_fax_send
Режим Асинхронный
Иконка
Характер разветвления Разветвляющий, замыкающий

Свойства

Table 2. Свойства
Спецификация Описание
Название: Протокол

Код: proto

Усл. видимости: нет

По умолчанию: T30

Выбор факсимильного протокола.
  • Авто (auto, 0) – Сначала производится попытка переключиться в протокол T38, а при отказе удаленной стороны производится переключение в T30.
  • T30 (t30, 1) – Переключение в T30 и ожидание переключения в T30 удаленной стороны.
  • T38 (t38, 2) – Переключение в T38, а при отказе удаленной стороны, завершение работы с ошибкой.
Название: Таймаут, с

Код: timeoutSec

Усл. видимости: нет

По умолчанию: — 

Таймаут приема до автоматического прерывания, в секундах.
Название: Файл

Код: file

Усл. видимости: да

По умолчанию: — 

Файл для отправки факсимильным сообщением.

Может быть выбран в одном из режимов:

  • статический файл, приложенный к сценарию (загружается из приложения Редактор сценариев или через API);
  • сформированный аргументами путь, который должен включать одну из файловых категорий.

Формат файла: tiff – одностраничное или многостраничное битовое изображение.

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

Название: Переход

Код: transfer

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление при завершении операции по набору нужного числа символов.
Название: Переход, время

Код: transferTimeout

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление при завершении по таймауту.
Название: Переход, ошибка

Код: transferError

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае возникновения ошибки.


Компонент Прием факса

Переключается в режим приема изображения по факсимильному протоколу T.30 или T.38. Компонент завершает работу при успешном приеме или по истечении установленного таймаута. Размещает файл во временном каталоге на время жизни сценария. Для сохранения файла от сценария требуется последующее перемещение его в любое место стационарного хранения.

Table 1. Системные характеристики
Индекс 214
Краткое название fax_receive
Типы сценариев IVR
Стартовый модуль r_sip_ivr_script_component_fax_receive
Режим Асинхронный
Иконка
Характер разветвления Разветвляющий, замыкающий

Свойства

Table 2. Свойства
Спецификация Описание
Название: Протокол

Код: proto

Усл. видимости: нет

По умолчанию: T30

Выбор факсимильного протокола.
  • Авто (auto, 0) – Сначала производится попытка переключиться в протокол T38, а при отказе удаленной стороны производится переключение в T30.
  • T30 (t30, 1) – Переключение в T30 и ожидание переключения в T30 удаленной стороны.
  • T38 (t38, 2) – Переключение в T38, а при отказе удаленной стороны, завершение работы с ошибкой.
Название: Таймаут, с

Код: timeoutSec

Усл. видимости: нет

По умолчанию: — 

Таймаут приема до автоматического прерывания, в секундах.
Название: Сохранить путь

Код: pathToVarMode

Усл. видимости: нет

По умолчанию: Да

Выключатель сохранения пути к файлу с записью в переменную и выбор содержания.

Возможные варианты:

  • Не сохранять (dont_save, 0)
  • С ключом папки (script_key_path, 1) – Значение включает в категорию, относительный путь и имя файла.
  • Только имя файла (only_file_name, 2) – Значение содержит только имя файла.
Название: Путь в переменную

Код: nameVar

Усл. видимости: да

По умолчанию: — 

Переменная для сохранения пути к файлу с принятым факсимильным сообщением.

Файл размещается во временном каталоге сценария и будет удален после завершения работы сценария.

Для длительного сохранения файла требуется дальнейшее перемещение файла сценарием в место стационарного хранения.

Формат файла: tiff – одностраничное или многостраничное битовое изображение.

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

Название: Переход

Код: transfer

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление при завершении операции по набору нужного числа символов.
Название: Переход, время

Код: transferTimeout

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление при завершении по таймауту.
Название: Переход, ошибка

Код: transferError

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае возникновения ошибки.


Компонент Перевод с подменой плеча

Производит перевод абонента текущего звонка на другой указанный диалог путем отправки одному из его абонентов SIP-запроса REFER с атрибутом Replaces. После успешного завершения операции выполнение основной ветки сценария прерывается.

Автоматически производит подписку на получение событий о состоянии перевода.

При плановом протекании процесса такой перевод завершается в течение 1 секунды. Некоторые абонентские устройства и приложения осуществляют запрос к пользователю с ожиданием его подтверждения при подмене звонка. Это может неограниченно увеличить время операции. Однако спустя 60 секунд управление в любом случае будет передано следующему компоненту по ветке "Время подписки".

Компонент предназначен исключительно для внутренних нужд системы.

Table 1. Системные характеристики
Индекс 215
Краткое название refer_replace
Типы сценариев IVR
Стартовый модуль r_sip_ivr_script_component_refer_replace
Режим Асинхронный
Иконка
Характер разветвления Разветвляющий, прерывающий

Свойства

Table 2. Свойства
Спецификация Описание
Название: URI адресата

Код: referToUri

Усл. видимости: нет

По умолчанию: — 

Аргумент, содержащий значение заголовка ReferTo отправляемого SIP-запроса REFER.

Определяет URI абонента, соответствующий значению URI в заголовке To или From подменяемого диалога.

Например: sip:user1@domain1.

Название: Замещаемый CallId

Код: replacesCallId

Усл. видимости: нет

По умолчанию: — 

Аргумент, содержащий основное значение параметра Replaces в заголовке ReferTo отправляемого SIP-запроса REFER.

Определяет CallId подменяемого плеча.

Название: Замещаемый To-tag

Код: replacesToTag

Усл. видимости: нет

По умолчанию: — 

Аргумент, содержащий значение атрибута to-tag параметра Replaces в заголовке ReferTo отправляемого SIP-запроса REFER.
Название: Замещаемый From-tag

Код: replacesFromTag

Усл. видимости: нет

По умолчанию: — 

Аргумент, содержащий значение атрибута from-tag параметра Replaces в заголовке ReferTo отправляемого SIP-запроса REFER.
Название: Режим re-INVITE

Код: reinviteMode

Усл. видимости: нет

По умолчанию: Не использовать

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

Возможные варианты:

  • Не использовать (not_used, 0) – Не производит преобразования.
  • Авто (auto, 1) – По текущим настройкам системы аналогично режиму inactive.
  • sendonly (2) – Переводит медиа-сессию в режим удержания путем отправки re-INVITE с SDP, где у медиа-стримов выставлен атрибут a=sendonly.
  • inactive (3) – Переводит медиа-сессию в режим удержания путем отправки re-INVITE с SDP, где у медиа-стримов выставлен атрибут a=inactive (не соответствует RFC-6337 п.5.3.).
Название: Применять huntblock

Код: huntblockenabled

Усл. видимости: нет

По умолчанию: false

Включить/выключить применение huntblock.
Название: Код hunt

Код: huntblockcode

Усл. видимости: нет

По умолчанию: — 

Код объекта доменного центра hunt. Применяется в случае указания huntblockenabled=true
Название: Переход, время подписки

Код: transferSubTerminated

Усл. видимости: нет

По умолчанию: — 

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

Код: transferRejected

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае, если при вызове получен неудачный окончательный ответ: 3xx-6xx (на REFER или INVITE).
Название: Переход, время

Код: transferTimeout

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае, если за ограниченное время не получен окончательный ответ на отправленный SIP-запрос re-INVITE или REFER.


Компонент Перевод с контролируемым вызовом

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

Автоматически производит подписку на получение событий о состоянии перевода. Общее время работы компонента складывается из времени набора указанного номера, ожидания ответа, активности IVR-сценария предварительного воспроизведения.

Некоторые абонентские устройства и приложения осуществляют запрос к пользователю с ожиданием его подтверждения при подмене звонка. Это может неограниченно увеличить время операции. Однако спустя 60 секунд управление в любом случае будет передано следующему компоненту по ветке "Время подписки".

При вызове абонента по номеру используется стандартный процесс маршрутизации от имени текущего сценария IVR.

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

Table 1. Системные характеристики
Индекс 217
Краткое название refer_attended
Типы сценариев IVR
Стартовый модуль r_sip_ivr_script_component_refer_attended
Режим Асинхронный
Иконка
Характер разветвления Разветвляющий, прерывающий

Свойства

Table 2. Свойства
Спецификация Описание
Название: Номер

Код: number

Усл. видимости: нет

По умолчанию: — 

Аргумент, содержащий телефонный номер абонента для осущствления на перевода.
Название: Исходящий номер

Код: callerId

Усл. видимости: нет

По умолчанию: — 

Аргумент, содержащий CallerId – значение username для подстановки в URI заголовка From отправляемого SIP-запроса INVITE.
Название: Исходящее имя

Код: callerName

Усл. видимости: нет

По умолчанию: — 

Аргумент, содержащий CallerName – значение displayname для подстановки в URI заголовка From отправляемого SIP-запроса INVITE.
Название: Время набора, с

Код: dialingTimeout

Усл. видимости: нет

По умолчанию: — 

Нижнее ограничение на время вызова абонента.

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

Название: Источник сценария IVR

Код: setScrMode

Усл. видимости: нет

По умолчанию: ``

Способ выбора IVR-сценария для предварительного воспроизведения вызываемому абоненту.

Возможные значения:

  • Не использовать (none,3) – Не использовать сценарий, только осуществить дозвон, проконтролировать ответ и переключить.
  • Из списка (code_sel,2) – Указание кода сценария с помощью аргумента. Применяет значение свойства Сценарий.
  • По коду (code,0) – Указание кода сценария с помощью аргумента. Применяет значение свойства Код сценария.
  • JSON (body,1) – Указание кода сценария с помощью аргумента. Применяет значение свойства Тело сценария.

Сценарий предварительного воспроизведения должен успеть до таймаута завершиться компонентом Стоп для успешного осуществления перевода.

Название: Код сценария

Код: ivrScriptCode

Усл. видимости: да

По умолчанию: — 

Аргумент с кодом IVR-сценария в текущем домене.
Название: Тело сценария

Код: ivrScriptJson

Усл. видимости: да

По умолчанию: — 

Аргумент, содержащий JSON-структуру с телом IVR-сценария (упакованный в строку JSON-массив).

Формат структуры аналогичен разделу `scriptdata.objects`" в сущности IVR сценария.

Название: Сценарий

Код: ivrScriptCodeSel

Усл. видимости: нет

По умолчанию: — 

Выпадающий список с кодами сценариев. Содержит все доступные (нескрытые) IVR сценарии, содержащиеся в текущем домене.
Название: Значения переменных

Код: ivrScriptVarValuesT

Усл. видимости: да

По умолчанию: — 

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

Доступно только если используется сценарий IVR предварительного воспроизведения вызываемому абоненту.

Ключи - названия переменных сценария IVR.

Сопоставление происходит по именам переменных, значения присваиваются только тем переменным, которые определены в сценарии.

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

Установленные таким образом значения приоритетны перед значениями по умолчанию внутри сценария IVR.

Название: Параметр 1

Код: param1

Усл. видимости: да

По умолчанию: — 

Первый параметр для инициируемого IVR-сценария. Доступ к значению осуществляется через функцию выражений startparam(1) или через сохранение значения в компоненте Старт.
Название: Параметр 2

Код: param2

Усл. видимости: да

По умолчанию: — 

Второй параметр для инициируемого IVR-сценария. Доступ к значению осуществляется через функцию выражений startparam(2).
Название: Параметр 3

Код: param3

Усл. видимости: да

По умолчанию: — 

Третий параметр для инициируемого IVR-сценария Доступ к значению осуществляется через функцию выражений startparam(3).
Название: Параметр 4

Код: param4

Усл. видимости: да

По умолчанию: — 

Четвертый параметр для инициируемого IVR-сценария. Доступ к значению осуществляется через функцию выражений startparam(4).
Название: Параметр 5

Код: param5

Усл. видимости: да

По умолчанию: — 

Пятый параметр для инициируемого IVR-сценария. Доступ к значению осуществляется через функцию выражений startparam(5).
Название: Прочие параметры

Код: paramsOther

Усл. видимости: да

По умолчанию: — 

JSON-массив, содержащий параметры 6, 7, 8 и т.д. для инициируемого IVR-сценария. Доступ к значению осуществляется через функцию выражений startparam(N), где N > 6.
Название: Время IVR, c

Код: ivrTimeout

Усл. видимости: нет

По умолчанию: — 

Таймаут ожидания выполнения IVR сценария.
Название: Режим re-INVITE

Код: reinviteMode

Усл. видимости: нет

По умолчанию: Не использовать

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

Возможные варианты:

  • Не использовать (not_used, 0) – Не производит преобразования.
  • Авто (auto, 1) – По текущим настройкам системы аналогично режиму inactive.
  • sendonly (2) – Переводит медиа-сессию в режим удержания путем отправки re-INVITE с SDP, где у медиа-стримов выставлен атрибут a=sendonly.
  • inactive (3) – Переводит медиа-сессию в режим удержания путем отправки re-INVITE с SDP, где у медиа-стримов выставлен атрибут a=inactive (не соответствует RFC-6337 п.5.3.).
Название: Код результата в переменную

Код: resultCode

Усл. видимости: нет

По умолчанию: — 

Переменная для сохранения кода внутренней ошибки.

Возможные варианты:

  • "001" – Ошибка инициации вызова.
  • "002" – Неудача вызова.
Название: Описание результата в переменную

Код: resultDescription

Усл. видимости: нет

По умолчанию: — 

Переменная для сохранения текстового описания внутренней ошибки.
Название: SIP-код ответа в переменную

Код: resultSipCode

Усл. видимости: нет

По умолчанию: — 

Переменная для сохранения кода SIP-ответа на исходящий запрос INVITE.
Название: Причина SIP ответа в переменную

Код: resultSipReason

Усл. видимости: нет

По умолчанию: — 

Переменная для сохранения фразы SIP-ответа на исходящий запрос INVITE.
Название: Заголовки SIP ответа в переменную

Код: resultSipHeaders

Усл. видимости: нет

По умолчанию: — 

Переменная для сохранения совокупности заголовков SIP-ответа на исходящий запрос INVITE.
Название: Переход, время подписки

Код: transferSubTerminated

Усл. видимости: нет

По умолчанию: — 

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

Код: transferRejected

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае, если при вызове получен неудачный окончательный ответ: 3xx-6xx (на REFER или INVITE).
Название: Переход, время

Код: transferTimeout

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае, если за ограниченное время не получен окончательный ответ на отправленный SIP-запрос re-INVITE или REFER.
Название: Переход, неудача

Код: transferFailed

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае, если вызываемый абонент не ответил, либо ответил неудачным окончательным кодом 3xx-6xx.
Название: Переход, ошибка

Код: transferError

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае, если истекло время ожидания окончательного ответа на отправленный SIP-запрос INVITE, либо завершения IVR сценария предварительного воспроизведения.


Компонент Парковка

Осуществляет постановку текущего звонка на паркову (размещает информацию в хранилище), либо взятие абонента с парковки (переключает текущего абонента на абонента из парковки). Компонент используется в сценариях постановки и взятия с парковки, применяемым в ходе вызова featurecode с типом parking. Может использоваться и в других сценариях.

Table 1. Системные характеристики
Индекс 218
Краткое название parking
Типы сценариев IVR
Стартовый модуль r_sip_ivr_script_component_parking
Режим Асинхронный
Иконка
Характер разветвления Разветвляющий, замыкающий

Свойства

Table 2. Свойства
Спецификация Описание
Название: Действие

Код: action

Усл. видимости: нет

По умолчанию: Разместить на парковке

Возможные значения:
  • Разместить на парковке (push, 0) – Осуществляет сохранение данных о текущем звонке в журнал парковки и возвращает упрвление для дальнейшего перехода к воспроизведению. Запись из журнала автоматически удаляется при завершении сценария.
  • Взять с парковки (pop, 1) – Осуществляет поиск данных в журнале парковки, поиск активного звонка и переключение на него текущего абонента путем отправки SIP-запроса REFER с опцией Replaces. Применяет алгоритм компонента Перевод с подменой плеча.
Название: Номер парковки

Код: parkingCode

Усл. видимости: нет

По умолчанию: — 

Аргумент, содержащий номер парковки, с которым связана текущая операция.

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

Название: Код ошибки в переменную

Код: errorCodeVar

Усл. видимости: нет

По умолчанию: — 

Переменная для сохранения кода ошибки.
Название: Переход

Код: transfer

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается упрваление при успешном завершении операции размещения на парковку.
Название: Переход, занято

Код: transferBusy

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае, если при размещении на парковку указанное парковочное место занято.
Название: Переход, не найдено

Код: transferNotFound

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление если при попытке взять абонента с парковки указанное парковочное место пусто.
Название: Переход, ошибка

Код: transferError

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление при возникновении ошибки.


Компонент Синтез речи (MRCPv2)

Осуществляет синтез речи по тексту и воспроизведение текущему абоненту. Взаимодействует с произвольным сервером TTS по протоколу MRCPv2. Может иметь технические ограничения горизонтальной масштабируемости из-за односерверного исполнения.

Table 1. Системные характеристики
Индекс 220
Краткое название tts
Типы сценариев IVR
Стартовый модуль r_sip_ivr_script_component_tts
Режим Асинхронный
Состояние Реализация отложена

Компонент Распознавание речи (MRCPv2)

Осуществляет распознавание речи абонента в текстовый вид. Взаимодействует с произвольным сервером ASR по протоколу MRCPv2. Может иметь технические ограничения горизонтальной масштабируемости из-за односерверного исполнения.

Table 1. Системные характеристики
Индекс 221
Краткое название asr
Типы сценариев IVR
Стартовый модуль r_sip_ivr_script_component_asr
Режим Асинхронный
Состояние Реализация отложена


Компонент Синтез речи (Yandex Cloud SpeechKit)

Осуществляет синтез речи по тексту и воспроизведение текущему абоненту. Сервис предоставляется облаком Yandex Cloud SpeechKit по протоколу HTTP (APIv1 REST). Не имеет технических ограничений по производительности.

Порядок регистрации учетной записи Yandex-облака и стоимость сервиса см. на Яндексе.

Настройка токенов производится в разделе настройки домена, поле 'yandex_cloud'.

Позволяет воспроизводить результат, а также просто записывать его в аудио-файл.

В режиме воспроизведения файл сначала синтезируется и выкачивается полностью, затем начинается воспроизведение.

Скорость синтеза речи ориентировочно в 10 раз быстрее реального времени ее воспроизведения.

Table 1. Системные характеристики
Индекс 222
Краткое название tts_yandex
Типы сценариев IVR
Стартовый модуль r_sip_ivr_script_component_tts_yandex
Режим Асинхронный
Иконка
Характер разветвления Разветвляющий, прерывающий

Свойства

Table 2. Свойства
Спецификация Описание
Название: Аккаунт Яндекс

Код: accountKey

Усл. видимости: нет

По умолчанию: default

Указание на аккаунт Яндекса, опции которого берутся для подключения к яндексу.

В список попадает значение 'default', устанавливающее к использованию корневые поля 'speech' и 'storage' в объекте 'settings.yandex_cloud'.

Дополнительно в список попадают ключи объекта 'settings.yandex_cloud.accounts', за каждым из которых также находится объект с отдельно настроенными параметрами доступа.

Название: Режим

Код: mode

Усл. видимости: нет

По умолчанию: Воспроизведение

Режим работы компонента после получения ответа от сервиса TTS Yandex Cloud SpeechKit.

Возможные варианты:

  • Воспроизведение (play, 0) – Воспроизведение синтезированной речи абоненту с последующим удалением файла.
  • Генерация файла (file, 1) – Сохранение аудио-файла в локальный временный каталог и возврат пути к файлу в переменную.
Название: Текст

Код: text

Усл. видимости: нет

По умолчанию: — 

Текст, подлежащий синтезу и последующему воспроизведению. Ограничение на длину строки: 5000 символов.
Название: Язык

Код: lang

Усл. видимости: нет

По умолчанию: Русский

Параметр сервиса TTS Yandex Cloud SpeechKit: язык синтеза.

Возможные варианты:

  • ru-RU (0) – Русский
  • en-US (1) – Английский
  • de-DE (2) – Немецкий
  • he-IL (6) – Иврит
  • kk-KZ (8) – Казахский
  • uz-UZ (15) – Узбекский
Название: Голос

Код: voice

Усл. видимости: нет

По умолчанию: Alyss (ж)

Параметр сервиса TTS Yandex Cloud SpeechKit: голос синтезируемой речи.

Возможные варианты:

  • Alyss (ж) (0)
  • Jane (ж) (1)
  • Oksana (ж) (2)
  • Omazh (ж) (3)
  • Zahar (м) (4)
  • Ermil (м) (5)
  • Alena (ж) (6)
  • Filipp (м) (7)
  • Другой (other, 100) – Указание произвольного голоса через аргумент.
Название: Другой голос

Код: voiceOther

Усл. видимости: нет

По умолчанию: — 

Аргумент, содержащий название голоса для сервиса TTS Yandex Cloud SpeechKit. Поддерживаемые голоса
Название: Эмоция

Код: emotion

Усл. видимости: нет

По умолчанию: Good

Параметр сервиса TTS Yandex Cloud SpeechKit: эмоциональный эффект синтезируемой речи, амплуа.

Возможные варианты:

  • Good (0)
  • Evil (1)
  • Neutral (2)
Название: Темп речи (0.1 – 3.0)

Код: speed

Усл. видимости: нет

По умолчанию: 1.0

Параметр сервиса TTS Yandex Cloud SpeechKit: темп синтезируемой речи.

Дробное значение от 0.1 до 3.0 с размерностью 0.1

Название: Прерывать по DTMF

Код: checkDTMF

Усл. видимости: нет

По умолчанию: Нет

Выключатель детектора DTMF. Открывает настройки режимов сохранения символов и прерывания операции.
Название: Буфер для DTMF

Код: dtmfBuffer

Усл. видимости: да

По умолчанию: — 

Переменная для сохранения получаемых DTMF-символов.
Название: Очистить буфер DTMF

Код: clearDtmfBuffer

Усл. видимости: да

По умолчанию: Да

Выключатель предварительной очистки буфера DTMF.
Название: Количество символов

Код: maxSymbolCount

Усл. видимости: да

По умолчанию: — 

Аргумент, содержащий ограничение на количество вводимых символов.

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

Название: Символы прерывания

Код: interruptSymbols

Усл. видимости: да

По умолчанию: — 

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

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

Например, *, 7, 123, 9395.

Название: Таймаут ожидания ответа, с

Код: responseTimeoutSec

Усл. видимости: нет

По умолчанию: — 

Таймаут ожидания ответа от сервиса TTS Yandex Cloud SpeechKit после отправки ему запроса.

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

Название: Код ответа в переменную

Код: varHttpCode

Усл. видимости: нет

По умолчанию: — 

Переменная для сохранения кода HTTP-ответа сервиса распознавания.
Название: Путь к файлу в переменную

Код: varFile

Усл. видимости: да

По умолчанию: — 

Переменная для сохранения пути к аудио-файлу с синтезированной речью в локальном временном каталоге.

Для длительного сохранения файла требуется дальнейшее перемещение файла сценарием в место стационарного хранения.

Название: Переход

Код: transfer

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае успешного завершения операции.
Название: Переход, время

Код: transferTimeout

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае истечения времени ожидания HTTP-ответа от сервиса.
Название: Переход, ошибка

Код: transferError

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае возникновения ошибки.


Компонент Распознавание речи (Yandex Cloud SpeechKit)

Осуществляет распознавание речи абонента в текстовый вид. Сервис предоставляется облаком Yandex Cloud SpeechKit по протоколу HTTP. Не имеет технических ограничений по производительности.

Порядок регистрации учетной записи Yandex-облака и стоимость сервиса см. на Яндексе.

Настройка токенов производится в разделе настройки домена, поле 'yandex_cloud'..

Позволяет прерывать по тишине после произнесенной фразы.

Table 1. Системные характеристики
Индекс 223
Краткое название asr_yandex
Типы сценариев IVR
Стартовый модуль r_sip_ivr_script_component_asr_yandex
Режим Асинхронный
Иконка
Характер разветвления Разветвляющий, прерывающий

Свойства

Table 2. Свойства
Спецификация Описание
Название: Аккаунт Яндекс

Код: accountKey

Усл. видимости: нет

По умолчанию: default

Указание на аккаунт Яндекса, опции которого берутся для подключения к яндексу.

В список попадает значение 'default', устанавливающее к использованию корневые поля 'speech' и 'storage' в объекте 'settings.yandex_cloud'.

Дополнительно в список попадают ключи объекта 'settings.yandex_cloud.accounts', за каждым из которых также находится объект с отдельно настроенными параметрами доступа.

Название: Тема

Код: topic

Усл. видимости: нет

По умолчанию: general

Параметр сервиса распознавания Yandex Cloud SpeechKit: тема распознавания.

Возможные варианты:

  • general (0)
  • maps (1)
  • dates (2)
  • names (3)
  • numbers (4)
  • Другая (custom, 100) – Указание произвольной темы через аргумент.
Название: Пользовательская тема

Код: topicCustom

Усл. видимости: да

По умолчанию: — 

Аргумент, содержащий пользовательскую тему для сервиса распознавания Yandex Cloud SpeechKit.
Название: Язык

Код: lang

Усл. видимости: нет

По умолчанию: Русский

Параметр сервиса распознавания Yandex Cloud SpeechKit: язык распознавания.

Возможные варианты:

  • Авто (100) – Автоматическое определение языка
  • ru-RU (0) – Русский
  • en-US (1) – Английский
  • de-DE (2) – Немецкий
  • es-ES (3) – Испанский
  • fi-FI (4) – Финский
  • fr-FR (5) – Французский
  • he-HE (6) – Иврит
  • it-IT (7) – Итальянский
  • kk-KZ (8) – Казахский
  • nl-NL (9) – Голландский
  • pl-PL (10) – Польский
  • pt-PT (11) – Португальский
  • pt-BR (12) – Бразильский португальский
  • sv-SE (13) – Шведский
  • tr-TR (14) – Турецкий
  • uz-UZ (15) – Узбекский (латиница)
Название: Фильтр ненормативной лексики

Код: profanityFilter

Усл. видимости: нет

По умолчанию: Выключить

Параметр сервиса распознавания Yandex Cloud SpeechKit: выключатель фильтра ненормативной лексики.
Название: Таймаут записи, с

Код: recordTimeoutSec

Усл. видимости: нет

По умолчанию: 30

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

Код: checkDTMF

Усл. видимости: нет

По умолчанию: нет

Выключатель детектора DTMF. Открывает настройки режимов сохранения символов и прерывания операции.
Название: Буфер для DTMF

Код: dtmfBuffer

Усл. видимости: да

По умолчанию: — 

Переменная для сохранения получаемых DTMF-символов.
Название: Очистить буфер DTMF

Код: clearDtmfBuffer

Усл. видимости: да

По умолчанию: Да

Выключатель предварительной очистки буфера DTMF.
Название: Количество символов

Код: maxSymbolCount

Усл. видимости: да

По умолчанию: — 

Аргумент, содержащий ограничение на количество вводимых символов.

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

Название: Символы прерывания

Код: interruptSymbols

Усл. видимости: да

По умолчанию: — 

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

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

Например, *, 7, 123, 9395.

Название: Прерывать при обнаружении тишины

Код: abortOnSilence

Усл. видимости: нет

По умолчанию: Да

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

Критерием для остановки является наличие голоса в течение не менее чем 300 мс и последующее его отсутствие в течение указанного интервала.

Название: Интервал тишины, с

Код: silenceTimeoutSec

Усл. видимости: да

По умолчанию: 2

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

В большинстве случаев 2 секунды - комфортный интервал.

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

Название: Порог VAD, -дБ

Код: vadThreshold

Усл. видимости: да

По умолчанию: 30

Аргумент, устанавливающий порог VAD. Параметр VAD-детектора.

Указанное значение применяется с отрицательным знаком (в децибеллах) для определения порога отсечения тишины относительно возможного максимума.

Поток анализируется фреймами по 20 мс. Каждый звуковой фрейм на основании порога отсечения рассматривается либо как голос, либо как тишина (средний уровень громкости фрейма).

Таким образом, детектор имеет два состояния: голос и тишина. При переходе между состояниями генерируется событие о переходе в другое состояние. Изначально детектор находится в состоянии тишины.

Генерация сигнала обнаружения голоса происходит в состоянии тишины тогда, когда несколько фреймов подряд являются голосовыми (параметр 'Порог голоса, мс').

Генерация сигнала обнаружения тишины происходит в состоянии голоса тогда, после того, как несколько фреймов подряд признаны тишиной (параметр 'Порог тишины, мс').

При значении 30 детектор лучше определяет тишину, при значении 40 детектор лучше определяет появление голоса.

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

Название: Голос, мин. длительность, мс

Код: vadVoiceMinMs

Усл. видимости: да

По умолчанию: 120

Аргумент, устанавливающий минимальную пороговую длительность VAD для генерации сигнала VAD UP.

Параметр VAD-детектора.

Для генерации сигнала необходимо несколько фреймов по 20 мс подряд со средним уровнем выше установленного порога VAD.

Через указанное значение определяется количество фреймов.

Название: Голос, допустимое отклонение, %

Код: vadVoiceTol

Усл. видимости: да

По умолчанию: 20

Аргумент, устанавливающий допустимое отклонение в последовательности голосовых фреймов.

Параметр VAD-детектора.

Например минимальная длительность задана 210 (мс), отклонение 20 (%). Таким образом для сигнализации о наличии голоса будет требоваться последовательность из 11 фреймов, 9 из которых должны быть голосовыми.

Значение 0 означает что все 11 фреймов подряд должны быть голосовыми (иметь средний уровень выше порога VAD).

Название: Тишина, мин. длительность, мс

Код: vadSilenceMinMs

Усл. видимости: да

По умолчанию: 500

Аргумент, устанавливающий минимальную пороговую длительность фреймов с тишиной для генерации сигнала VAD DOWN.

Параметр VAD-детектора.

Для генерации сигнала необходимо несколько фреймов по 20 мс подряд со средним уровнем ниже установленного порога VAD.

Через указанное значение определяется количество фреймов.

Название: Тишина, допустимое отклонение, %

Код: vadSilenceTol

Усл. видимости: да

По умолчанию: 10

Аргумент, устанавливающий допустимое отклонение в последовательности голосовых фреймов.

Параметр VAD-детектора.

Например минимальная длительность задана 210 мс, отклонение 20%. Таким образом для сигнализации о наличии голоса будет требоваться последовательность из 11 фреймов, 9 из которых должны быть голосовыми.

Значение 0 означает что все 11 фреймов подряд должны быть тишиной (иметь средний уровень ниже порога VAD).

Название: Таймаут ожидания ответа, с

Код: responseTimeoutSec

Усл. видимости: нет

По умолчанию: 5

Таймаут ожидания ответа от сервиса распознавания Yandex Cloud SpeechKit после отправки ему последней порции голосовых данных.

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

Название: Результат в переменную

Код: varText

Усл. видимости: нет

По умолчанию: — 

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

Код: varHttpCode

Усл. видимости: нет

По умолчанию: — 

Переменная для сохранения кода HTTP-ответа сервиса распознавания.
Название: Тело ответа в переменную

Код: varHttpBody

Усл. видимости: нет

По умолчанию: — 

Переменная для сохранения полного содержания HTTP-ответа сервиса распознавания.
Название: Сохранить файл записи

Код: saveRec

Усл. видимости: нет

По умолчанию: Нет

Выключатель сохранения файла записи, отправленного сервису распознавания.
Название: Путь к файлу в переменную

Код: varRecordPath

Усл. видимости: да

По умолчанию: — 

Переменная для сохранения пути к файлу записи.

Файл размещается во временном каталоге сценария и будет удален после завершения работы сценария.

Для длительного сохранения файла требуется дальнейшее перемещение файла сценарием в место стационарного хранения.

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

Название: Предварительное воспроизведение

Код: prePlayFile

Усл. видимости: нет

По умолчанию: — 

Звуковой файл предварительного воспроизведения абоненту, во время которого также активирован голосовой детектор.

При отсутствии голоса от абонента (с учетом шумового порога VAD-детектора), отправка данных на сервис распознавания не производится.

Может быть выбран в одном из режимов:

  • статический файл, приложенный к сценарию (загружается из приложения Редактор сценариев или через API);
  • сформированный аргументами путь, который должен включать одну из файловых категорий.
Название: Переход

Код: transfer

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается упраление в случае успешного завершения операции.
Название: Переход, время

Код: transferTimeout

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае истечения времени ожидания HTTP-ответа от сервиса распознавания.
Название: Переход, ошибка

Код: transferError

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае возникновения ошибки.


Компонент Синтез речи (Sber SaluteSpeech)

Осуществляет синтез речи по тексту и воспроизведение текущему абоненту. Используется on-premise сервис Sber SaluteSpeech, канал GRPC. +

Настройка точек подключения в разделе настройки домена, поле 'sber_salute'.

Позволяет воспроизводить результат, а также просто записывать его в аудио-файл.

:description1: В режиме воспроизведения речь начинает воспроизводиться при появлении в буфере данных длительностью на 1.5 секунды.

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

Table 1. Системные характеристики
Индекс 226
Краткое название tts_sber
Типы сценариев IVR
Стартовый модуль r_sip_ivr_script_component_tts_sber
Режим Асинхронный
Иконка
Характер разветвления Разветвляющий, прерывающий

Свойства

Table 2. Свойства
Спецификация Описание
Название: Аккаунт Сбер Салют

Код: accountKey

Усл. видимости: нет

По умолчанию: default

Указание на аккаунт, определяющего точки подключения к сервису Sber SaluteSpeech.

В список попадает значение 'default', устанавливающее к использованию корневые поля 'speech' в объекте 'settings.sber_salute'.

Дополнительно в список попадают ключи объекта 'settings.sber_salute.accounts', за каждым из которых также находится объект с отдельно настроенными параметрами доступа.

Название: Режим

Код: mode

Усл. видимости: нет

По умолчанию: Воспроизведение

Режим работы компонента после получения ответа от сервиса TTS Sber SaluteSpeech.

Возможные варианты:

  • Воспроизведение (play, 0) – Воспроизведение синтезированной речи абоненту с последующим удалением файла.
  • Генерация файла (file, 1) – Сохранение аудио-файла в локальный временный каталог и возврат пути к файлу в переменную.
Название: Тип контента

Код: contentType

Усл. видимости: нет

По умолчанию: TEXT

Параметр сервиса TTS Sber SluteSpeech: формат данных, передаваемых в теле запроса (content_type).

Возможные варианты:

  • TEXT (text, 0) – простой текст.
  • SSML (ssml, 1) – SSML-разметка с текстом.
Название: Текст

Код: text

Усл. видимости: нет

По умолчанию: — 

Текст, подлежащий синтезу и последующему воспроизведению, либо SSML-разметка с текстом (необходимо установить тип контента: SSML).
Название: Язык

Код: lang

Усл. видимости: нет

По умолчанию: ru-RU

Параметр сервиса TTS Sber SaluteSpeech: язык синтеза.

Возможные варианты:

  • ru-RU (0) – Русский язык
  • en-US (1) – Английский язык
  • kk-KZ (2) – Казахский язык
Название: Голос

Код: voice

Усл. видимости: нет

По умолчанию: Alyss (ж)

Параметр сервиса TTS Sber SaluteSpeech: голос синтезируемой речи (voice).

Возможные варианты:

  • Наталья (ж) (0)
  • Борис (м) (1)
  • Марфа (ж) (2)
  • Тарас (м) (3)
  • Александра (ж) (4)
  • Сергей (м) (5)
  • Kira (ж, англ) (5)
  • Другой (other, 100) – Указание произвольного голоса через аргумент.
Название: Другой голос

Код: voiceOther

Усл. видимости: нет

По умолчанию: — 

Аргумент, содержащий название голоса для сервиса TTS Sber SaluteSpeech.
Название: Кэширование

Код: useCache

Усл. видимости: нет

По умолчанию: нет

Режим кэширования результатов синтеза речи.

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

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

Первый раз при остутствии значения файл генерируется с помощью сервиса и сохраняется в папку ':GlobalShare/domains/DOMAIN/cache/sber_tts/…​'.

В дальнейшем при обнаружении в кэше файла, обращений к сервису TTS Sber SaluteSpeech не происходит, файл копируется из кэша.

В уникальном имени файла скрывается отображение параметров синтеза: текст, язык, голос.

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

Возможные варианты:

  • Выключить (0) – Кэширование не используется. Каждый запрос отправляется на синтез в сервис TTS Sber SaluteSpeech.
  • Включить (1) – Кэширование используется.
Название: Прерывать по DTMF

Код: checkDTMF

Усл. видимости: нет

По умолчанию: Нет

Выключатель детектора DTMF. Открывает настройки режимов сохранения символов и прерывания операции.
Название: Буфер для DTMF

Код: dtmfBuffer

Усл. видимости: да

По умолчанию: — 

Переменная для сохранения получаемых DTMF-символов.
Название: Очистить буфер DTMF

Код: clearDtmfBuffer

Усл. видимости: да

По умолчанию: Да

Выключатель предварительной очистки буфера DTMF.
Название: Количество символов

Код: maxSymbolCount

Усл. видимости: да

По умолчанию: — 

Аргумент, содержащий ограничение на количество вводимых символов.

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

Название: Символы прерывания

Код: interruptSymbols

Усл. видимости: да

По умолчанию: — 

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

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

Например, *, 7, 123, 9395.

Название: Таймаут ожидания ответа, с

Код: responseTimeoutSec

Усл. видимости: нет

По умолчанию: — 

Таймаут ожидания ответа от сервиса TTS Sber SaluteSpeech после отправки ему запроса.

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

Название: Код ответа в переменную

Код: varHttpCode

Усл. видимости: нет

По умолчанию: — 

Переменная для сохранения кода HTTP-ответа сервиса распознавания.
Название: Путь к файлу в переменную

Код: varFile

Усл. видимости: да

По умолчанию: — 

Переменная для сохранения пути к аудио-файлу с синтезированной речью в локальном временном каталоге.

Для длительного сохранения файла требуется дальнейшее перемещение файла сценарием в место стационарного хранения.

Название: Переход

Код: transfer

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае успешного завершения операции.
Название: Переход, время

Код: transferTimeout

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае истечения времени ожидания HTTP-ответа от сервиса.
Название: Переход, ошибка

Код: transferError

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае возникновения ошибки.


Компонент Распознавание речи (Sber SaluteSpeech)

Осуществляет распознавание речи абонента в текстовый вид. Используется on-premise сервис Sber SaluteSpeech, канал GRPC.

Настройка точек подключения производится в разделе настройки домена, поле 'sber_salute'.

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

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

Table 1. Системные характеристики
Индекс 223
Краткое название asr_sber
Типы сценариев IVR
Стартовый модуль r_sip_ivr_script_component_asr_sber
Режим Асинхронный
Иконка
Характер разветвления Разветвляющий, прерывающий

Свойства

Table 2. Свойства
Спецификация Описание
Название: Аккаунт Сбер Салют

Код: accountKey

Усл. видимости: нет

По умолчанию: default

Указание на аккаунт, определяющего точки подключения к сервису Sber SaluteSpeech.

В список попадает значение 'default', устанавливающее к использованию корневые поля 'speech' в объекте 'settings.sber_salute'.

Дополнительно в список попадают ключи объекта 'settings.sber_salute.accounts', за каждым из которых также находится объект с отдельно настроенными параметрами доступа.

Название: Набор грамматик

Код: model

Усл. видимости: нет

По умолчанию: callcenter

Параметр сервиса распознавания Sber SaluteSpeech: название набора грамматик.
Название: Язык

Код: lang

Усл. видимости: нет

По умолчанию: ru-RU

Параметр сервиса распознавания Sber SaluteSpeech: язык распознавания.

Возможные варианты:

  • ru-RU (0) – Русский язык
  • en-US (1) – Английский язык
  • kk-KZ (2) – Казахский язык
Название: Фильтр ненормативной лексики

Код: profanityFilter

Усл. видимости: нет

По умолчанию: Выключить

Параметр сервиса распознавания Sber SaluteSpeech: выключатель фильтра ненормативной лексики.
Название: Несколько предложений

Код: multiUtterance

Усл. видимости: нет

По умолчанию: Выключить

Параметр сервиса распознавания Sber SaluteSpeech: ожидание нескольких предложений.

Если выключено, то ответ приходит быстро вместе с обнаружением окончания первого предложения.

Если включено, то собираются и склеиваются все результаты. Окончание распознавания определяется параметрами 'Таймаут записи, с' и ''Интервал тишины, с'".

"Название: Длина предложения максимальная, с

Код: maxSpeechTimeoutSec

Усл. видимости: нет

По умолчанию: 20

Параметр сервиса распознавания Sber SaluteSpeech: максимальная длительность предложения. Название: В кириллицу

Код: forceCyrillic

Усл. видимости: нет

По умолчанию: Выключить

Параметр сервиса распознавания Sber SaluteSpeech: Принудительное преобразование результата в кириллицу. Название: Таймаут записи, с

Код: recordTimeoutSec

Усл. видимости: нет

По умолчанию: 30

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

Код: checkDTMF

Усл. видимости: нет

По умолчанию: нет

Выключатель детектора DTMF. Открывает настройки режимов сохранения символов и прерывания операции. Название: Буфер для DTMF

Код: dtmfBuffer

Усл. видимости: да

По умолчанию: — 

Переменная для сохранения получаемых DTMF-символов. Название: Очистить буфер DTMF

Код: clearDtmfBuffer

Усл. видимости: да

По умолчанию: Да

Выключатель предварительной очистки буфера DTMF. Название: Количество символов

Код: maxSymbolCount

Усл. видимости: да

По умолчанию: — 

Аргумент, содержащий ограничение на количество вводимых символов.

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

Название: Символы прерывания

Код: interruptSymbols

Усл. видимости: да

По умолчанию: — 

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

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

Например, *, 7, 123, 9395.

Название: Прерывать при обнаружении тишины

Код: abortOnSilence

Усл. видимости: нет

По умолчанию: Да

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

Критерием для остановки является наличие голоса в течение не менее чем 300 мс и последующее его отсутствие в течение указанного интервала.

Название: Интервал тишины, с

Код: silenceTimeoutSec

Усл. видимости: да

По умолчанию: 2

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

В большинстве случаев 2 секунды - комфортный интервал.

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

Название: Порог VAD, -дБ

Код: vadThreshold

Усл. видимости: да

По умолчанию: 30

Аргумент, устанавливающий порог VAD. Параметр VAD-детектора.

Указанное значение применяется с отрицательным знаком (в децибеллах) для определения порога отсечения тишины относительно возможного максимума.

Поток анализируется фреймами по 20 мс. Каждый звуковой фрейм на основании порога отсечения рассматривается либо как голос, либо как тишина (средний уровень громкости фрейма).

Таким образом, детектор имеет два состояния: голос и тишина. При переходе между состояниями генерируется событие о переходе в другое состояние. Изначально детектор находится в состоянии тишины.

Генерация сигнала обнаружения голоса происходит в состоянии тишины тогда, когда несколько фреймов подряд являются голосовыми (параметр 'Порог голоса, мс').

Генерация сигнала обнаружения тишины происходит в состоянии голоса тогда, после того, как несколько фреймов подряд признаны тишиной (параметр 'Порог тишины, мс').

При значении 30 детектор лучше определяет тишину, при значении 40 детектор лучше определяет появление голоса.

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

Название: Голос, мин. длительность, мс

Код: vadVoiceMinMs

Усл. видимости: да

По умолчанию: 120

Аргумент, устанавливающий минимальную пороговую длительность VAD для генерации сигнала VAD UP.

Параметр VAD-детектора.

Для генерации сигнала необходимо несколько фреймов по 20 мс подряд со средним уровнем выше установленного порога VAD.

Через указанное значение определяется количество фреймов.

Название: Голос, допустимое отклонение, %

Код: vadVoiceTol

Усл. видимости: да

По умолчанию: 20

Аргумент, устанавливающий допустимое отклонение в последовательности голосовых фреймов.

Параметр VAD-детектора.

Например минимальная длительность задана 210 (мс), отклонение 20 (%). Таким образом для сигнализации о наличии голоса будет требоваться последовательность из 11 фреймов, 9 из которых должны быть голосовыми.

Значение 0 означает что все 11 фреймов подряд должны быть голосовыми (иметь средний уровень выше порога VAD).

Название: Тишина, мин. длительность, мс

Код: vadSilenceMinMs

Усл. видимости: да

По умолчанию: 500

Аргумент, устанавливающий минимальную пороговую длительность фреймов с тишиной для генерации сигнала VAD DOWN.

Параметр VAD-детектора.

Для генерации сигнала необходимо несколько фреймов по 20 мс подряд со средним уровнем ниже установленного порога VAD.

Через указанное значение определяется количество фреймов.

Название: Тишина, допустимое отклонение, %

Код: vadSilenceTol

Усл. видимости: да

По умолчанию: 10

Аргумент, устанавливающий допустимое отклонение в последовательности голосовых фреймов.

Параметр VAD-детектора.

Например минимальная длительность задана 210 мс, отклонение 20%. Таким образом для сигнализации о наличии голоса будет требоваться последовательность из 11 фреймов, 9 из которых должны быть голосовыми.

Значение 0 означает что все 11 фреймов подряд должны быть тишиной (иметь средний уровень ниже порога VAD).

Название: Таймаут ожидания ответа, с

Код: responseTimeoutSec

Усл. видимости: нет

По умолчанию: 5

Таймаут ожидания ответа от сервиса распознавания Sber SaluteSpeech после отправки ему последней порции голосовых данных.

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

Название: Результат в переменную

Код: varText

Усл. видимости: нет

По умолчанию: — 

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

Код: varNormText

Усл. видимости: нет

По умолчанию: — 

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

Код: varCode

Усл. видимости: нет

По умолчанию: — 

Переменная для сохранения кода ответа сервиса распознавания (код эмулируется по аналогии с HTTP: 200, 408, 500). Название: Тело ответа в переменную

Код: varBody

Усл. видимости: нет

По умолчанию: — 

Переменная для сохранения полного содержания ответа сервиса распознавания.

Если одно высказывание - объект, если несколько высказываний - массив объектов.

Название: Сохранить файл записи

Код: saveRec

Усл. видимости: нет

По умолчанию: Нет

Выключатель сохранения файла записи, отправленного сервису распознавания. Название: Путь к файлу в переменную

Код: varRecordPath

Усл. видимости: да

По умолчанию: — 

Переменная для сохранения пути к файлу записи.

Файл размещается во временном каталоге сценария и будет удален после завершения работы сценария.

Для длительного сохранения файла требуется дальнейшее перемещение файла сценарием в место стационарного хранения.

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

Название: Предварительное воспроизведение

Код: prePlayFile

Усл. видимости: нет

По умолчанию: — 

Звуковой файл предварительного воспроизведения абоненту, во время которого также активирован голосовой детектор.

При отсутствии голоса от абонента (с учетом шумового порога VAD-детектора), отправка данных на сервис распознавания не производится.

Может быть выбран в одном из режимов:

  • статический файл, приложенный к сценарию (загружается из приложения Редактор сценариев или через API);
  • сформированный аргументами путь, который должен включать одну из файловых категорий.
Название: Переход

Код: transfer

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается упраление в случае успешного завершения операции. Название: Переход, время

Код: transferTimeout

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае истечения времени ожидания HTTP-ответа от сервиса распознавания. Название: Переход, ошибка

Код: transferError

Усл. видимости: нет

По умолчанию: — 


Компонент Внешнее управление через API

Переводит сценарий во время своей активности под внешнее управление через API (HTTP/WebSocket). + Если диалог еще не установлен (в событии `api_start` поле `state` имеет значение, отличное от `dialog`), то от управляющей системы требуется соблюдение SIP workflow. То есть необходимо отправлять соответствующие ответов прежде, чем использовать функционал воспроизведения, записи, переводов.

Событие `api_start` может сообщить о следующих состояниях: `dialog`, `early`, `ringing`, `incoming`. В соответствии с ними, а также пользуясь передаваемыми параметрами, внешняя система может определить текущее состояние и выбрать правильное поведение.

До момента отправки ответа 2хх следует: а) Перевод (203, refer) заменять отправкой ответа 3хх (202, `answer`). б) Завершение разговора (201, bye) следует заменять отправкой ответа 4хх-6хх (202, `answer`). в) Не использовать компоненты перевода. г) Не использовать компоненты по работе с медиа-трафиком (воспроизведение, запись и т.д.), за исключением случая, когда текущее состояние диалога - `early`, то есть последний отправленный ответ был `183 Session Progress`.

О начале и завершении работы компонента генерируются события типов `ivrevents.api_start` и `ivrevents.api_stop`. Они отправляются в том числе по подписке в websocket-подключения (сообщение `notify` в рамках token-api `subscribe`).

Управление может перехватить только одна из подключенных систем - та, которая первой отправит сообщение `"ivrapi_accept"` в рамках своего websocket-подключения (token-api: `ivrapi`).

Дальнейшее управление производится через websocket token-api `ivrapi`.

Table 1. Системные характеристики
Индекс 224
Краткое название api
Типы сценариев IVR
Стартовый модуль era_sip_ivr_script_component_api
Режим Асинхронный
Иконка
Характер разветвления Разветвляющий, замыкающий

Свойства

Table 2. Свойства
Спецификация Описание
Название: Ключ

Код: key

Усл. видимости: нет

По умолчанию: — 

Аргумент, содержащий ключ. Передается внешней системе в сообщении о начале работы компонента (событие ivrevents.api_start) и завершении работы компонента (событие ivrevents.api_stop).

Внешняя система должна указывать этот ключ рядом с указанием идентификатора IVR-диалога в каждом запросе, отправляемом в рамках websocket token-api ivrapi с целью осуществления внешнего управления этим компонентом.

Название: Параметры

Код: params

Усл. видимости: нет

По умолчанию: — 

Аргумент, содержащий дополнительные параметры для внешней системы.

Указанные параметры передаются в сообщении о начале работы компонента (событие ivrevents.api_start).

Название: Таймаут подтверждения взятия управления, мс

Код: reportTimeoutMs

Усл. видимости: нет

По умолчанию: 3000

Аргумент, определяющий таймаут ожидания подтверждения от одной из подключенных по websocket token api внешних систем, в миллисекундах.
Название: Причина выхода в переменную

Код: varReason

Усл. видимости: нет

По умолчанию: — 

Переменная, куда заносится причина завершения работы компонента.
Название: Переход

Код: transfer

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление после завершения работы компонента отключением внешней системы.
Название: Переход, время

Код: transferTimeout

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление при завершении по таймауту.
Название: Переход, ошибка

Код: transferError

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае возникновения ошибки.


Компонент CPD (детектор ответов)

Применяется в исходящих кампаниях для детекции ответа "живого" человека. Выполняет запись разговора в течении указанного времени (5-7 секунд), в течение которых пытается определить тип источника звука.

Определение человека производится по истечении секунды тишины после окончания приветственной реплики абонента.

Определение роботов и автоматов производится по окончанию таймаута или длительной (более 2 секунд) приветственной реплики робота.

Определение тишины производится по окончании указанного интервала времени.

Определение факса производится почти сразу при обнаружении соответствующего тонального сигнала.

Алгоритм CPD, используемый компонентом, не требователен к ресурсам системы.

Table 1. Системные характеристики
Индекс 225
Краткое название cpd
Типы сценариев IVR
Стартовый модуль era_sip_ivr_script_component_cpd
Режим Асинхронный
Иконка
Характер разветвления Разветвляющий, замыкающий

Свойства

Table 2. Свойства
Спецификация Описание
Название: Таймаут, с

Код: collectTimeSec

Усл. видимости: нет

По умолчанию: 5

Аргумент, содержащий время в секундах. Определяет сколько времени будет накапливаться запись разговора для дальнейшего анализа детектором ответа.
Название: Сохранить файл записи

Код: saveRecord

Усл. видимости: нет

По умолчанию: Нет

Признак сохранения файла записи, отправленного сервису детектора ответа. Сохранение выполняется в каталог /var/lib/era_files/answer_detector_records/<domain>/<type>
  • domain - домен в рамках которого выполнялся разговор.
  • type - тип результата, который вернул детектор ответа.
Название: Результат в переменную

Код: result

Усл. видимости: нет

По умолчанию: — 

Переменная, куда заносится причина завершения работы компонента.
Название: Переход, обнаружено

Код: transferFound

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление после обнаружения "живого" человека детектором ответа.
Название: Переход, не обнаружено

Код: transferNotFound

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае если детектор ответа не обнаружил в записи "живого" человека.
Название: Переход, ошибка

Код: transferError

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае возникновения ошибки.

Параметризация

Анализ CPD проводится входящим в состав платформы консольным приложения cpd (/era_sip/priv/cpd/cpd).

Компонент запускает CPD в режиме анализа.

В режиме анализа приложение принимает на input порции аудио-данных (PCM 8000Hz 16bit mono), и выдает один из возможных результатов:

  • human
  • ivr
  • tone
  • fax
  • silence

Компонент завершается успехом только при результате 'human'.

Алгоритм может параметризоваться. В качестве параметров используются файлы SettingsML.json и SettingsSpectrum.json.

Файлы располагаются в каталоге ':SYNC/common/cpd'.

Пример командной строки запуска в режиме анализа:

cpd --mode=analyze --ml-settings-path=/some/path/to/SettingsML.json --spectrum-settings-path=/some/path/to/SettingsSpectrum.json --timeout=7000 --recv-timeout=3000

Расшифровка параметров:

--ml-settings-path  -  путь к json-файлу с ML-параметрами, полученными в результате обучения. Необязательный параметр. Если не задавать, то используются некоторые зашитые (и неоптимальные) ML-параметры.

--spectrum-settings-path  -  путь к json-файлу с частотными параметрами, сформированными инженером. Необязательный параметр. Если не задавать, то частотный анализатор не используется.

--timeout  -  полный таймаут работы анализатора в мс; через это время анализатор выдает получившийся результат. Необязательный параметр. По умолчанию 7000.

--recv-timeout  -  таймаут на прием очередной порции данных через stdin; если столько времени нет входящих данных, анализатор выдает получившийся результат. Необязательный параметр. По умолчанию 3000.

Приложение поддерживает режим машинного обучения.

Обучение – это подбор оптимальных параметров для заранее размеченного (разложенного по папкам) набора голосовых файлов с учетом биаса (отклонения).

Биас позволяет задать приоритет – допустить потерю живых ответов или допустить плохие звонки на операторов.

Для обучения нужно:

  1. Подготовить файлы и разместить рядом с анализатором в папке ML в пяти подпапках (Human, IVR, Tone, Fax, Silence)
  2. Запустить анализатор из командной строки с двум параметрами – биас (от -9 до 9, 0 – нейтрально) и количество итераций обучения (рекомендуется 1 для вывода текущей статистики и 10000 для реального обучения). По результатам обучения выводится отчет о достигнутой точности, средней продолжительности определения человека и выставленных параметрах (которые при этом сохраняются рядом в файле SettingsML.json для дальнейшего использования в боевом режиме).
  3. Результат SettingsML.json для применения компонентом следует разместить в каталоге ':SYNC/common/cpd', заменив предыдущий.

Пример командной строки запуска в режиме обучения:

cpd --mode=learn --learn-bias=0 --learn-iterations=10000 --learn-data-dir-path=/some/path/to/wavs/ --learn-output-file-path=/some/path/to/SettingsML.json

Расшифровка параметров:

--learn-bias  -  приоритет от -9 до +9, где -9 - допускать потерю живых ответов, 9 - допускать плохие звонки на операторов, 0 - нейтрально. Необязательный параметр. По умолчанию 0.

--learn-iterations  -  количество итераций обучения. Необязательный параметр. По умолчанию 10000.

--learn-data-dir-path  -  путь к папке с размеченными данными для обучения. Обязательный параметр.

--learn-output-file-path  -  путь к выходному файлу с результатом обучения. Необязательный параметр. Если не задавать, то результат просто распечается в консоли.

Папка с размеченными данными должна содержать примеры аудио-записей для обучающего прогона. Формат файлов: *.wav PCM 8000Hz 16bit mono.

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

  • Fax - примеры записи факса;
  • Human - примеры живых ответов людей;
  • IVR - примеры IVR (музыка, роботы, голосовое меню и т.п.);
  • Silence - примеры тишины;
  • Tone - различные тональные сигналы, гудки, пр.


Компонент Колл-центр

Переводит сценарий во время своей активности под внешнее управление коллцентра. Позволяет:

* ставить вызов в очередь под управление колл-центра;

* запускать сценарии колл-центра;

* изменять контекст вызова;

* присваивать метки к вызову.

Table 1. Системные характеристики
Индекс 228
Краткое название api_сс
Типы сценариев IVR
Стартовый модуль era_sip_ivr_script_component_api_сс
Режим Асинхронный
Иконка
Характер разветвления Разветвляющий, замыкающий

Свойства

Table 2. Свойства
Спецификация Описание
Название: Действие

Код: action

Усл. видимости: нет

По умолчанию: — 

Возможные значения:
  • Поставить в очередь (acd) - размещает вызов в очереди под управлением колл-центра.
  • Запустить сценарий (scenario) - запускает сценарий колл-центра.
  • Изменить контекст (context) - изменяет контекст вызова, делая доступными данные о звонке в карточках и сценариях колл-центра.
  • Присвоить метку (addtag) - добавляет метку к вызову, позволяя разветвлять логику в сценариях колл-центра и производить фильтрацию в отчетах по вызовам.
Название: Код очереди

Код: acdCode

Усл. видимости: да

По умолчанию: — 

Аргумент, содержащий код очереди в колл-центре. Очередь должна существовать.

Доступно только для действия 'Поставить в очередь'.

Название: Приоритет

Код: priority

Усл. видимости: да

По умолчанию: 100

Аргумент, определяющий приоритет текущего вызова в очереди. Чем меньше значение, тем больше приоритет.

Доступно только для действия 'Поставить в очередь'.

Название: Подменять предыдущий вызов

Код: deleteLastArchiveACDCall

Усл. видимости: да

По умолчанию: нет

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

Доступно только для действия 'Поставить в очередь'.

Название: Код сценария

Код: scenarioCode

Усл. видимости: да

По умолчанию: — 

Аргумент, содержащий код сценария колл-центра, подлежащий синхронному исполнению.

Доступно только для действия 'Запустить сценарий'.

Название: Контекст

Код: context

Усл. видимости: да

По умолчанию: — 

Таблица опций вида Ключ-Значение, обновляющая текущий контекст. Пустые ключи игнорируются, пустые значения приводят к обнулению поля с соответствующим ключом в контексте.

Доступно только для действий 'Поставить в очередь' и 'Изменить контекст'.

Название: Параметры вызова

Код: queueOpts

Усл. видимости: да

По умолчанию: — 

Таблица опций вида Ключ-Значение, обновляющая параметры вызова в очереди. Пустые ключи игнорируются.

Доступно только для действия 'Поставить в очередь'.

Название: Метка

Код: tag

Усл. видимости: да

По умолчанию: — 

Аргумент, содержащий новую метку (строка).

Доступно только для действия 'Добавить метку'.

Название: Переход

Код: transfer

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление после завершения работы компонента отключением внешней системы.
Название: Переход, время

Код: transferTimeout

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление при завершении по таймауту принятия управления сервисами колл-центра (3 секунды).
Название: Переход, ошибка

Код: transferError

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае возникновения ошибки.


Компонент Распознавание речи (Azure Cloud Speech)

Осуществляет распознавание речи абонента в текстовый вид. Сервис предоставляется облаком Microsoft Azure Speech STT по протоколу HTTP. Не имеет технических ограничений по производительности.

Порядок регистрации учетной записи MS Azure и стоимость сервиса см. на https://learn.microsoft.com/en-us/azure/ai-services/speech-service/.

Настройка токенов производится в разделе настройки домена, поле 'azure_cloud'..

Позволяет прерывать по тишине после произнесенной фразы.

Table 1. Системные характеристики
Индекс 231
Краткое название asr_azure
Типы сценариев IVR
Стартовый модуль r_sip_ivr_script_component_asr_azure
Режим Асинхронный
Иконка
Характер разветвления Разветвляющий, прерывающий

Свойства

Table 2. Свойства
Спецификация Описание
Название: Аккаунт Azure

Код: accountKey

Усл. видимости: нет

По умолчанию: default

Указание на аккаунт Azure, опции которого берутся для подключения к облаку.

В список попадает значение 'default', устанавливающее к использованию корневое поле 'speech' в объекте 'settings.azure_cloud'.

Дополнительно в список попадают ключи объекта 'settings.azure_cloud.accounts', за каждым из которых также находится объект с отдельно настроенными параметрами доступа к облаку.

Название: Язык

Код: lang

Усл. видимости: нет

По умолчанию: Английский

Параметр сервиса распознавания Azure Speech: язык распознавания.

Возможные варианты:

  • Авто (100) – Автоматическое определение языка
  • de-DE (1) – Немецкий
  • en-US (2) – Английский
  • es-ES (3) – Испанский
  • fi-FI (4) – Финский
  • fr-FR (5) – Французский
  • he-HE (6) – Иврит
  • it-IT (7) – Итальянский
  • kk-KZ (8) – Казахский
  • nl-NL (9) – Голландский
  • pl-PL (10) – Польский
  • pt-PT (11) – Португальский
  • pt-BR (12) – Бразильский португальский
  • ru-RU (13) – Русский
  • sv-SE (14) – Шведский
  • tr-TR (15) – Турецкий
  • other (100) – Другой
Название: Другой язык

Код: langCustom

Усл. видимости: да

По умолчанию: en-US

Код языка в формате ISO 639-1 из списка поддерживаемых.
Название: Фильтр ненормативной лексики

Код: profanityFilter

Усл. видимости: нет

По умолчанию: Выключить

Параметр сервиса распознавания Azure Speech ASR: режим работы фильтра ненормативной лексики.

Возможные варианты:

  • raw (0) - Оставлять ненормативную лексику
  • masked (1) - Маскировать ненормативную лексику
  • removed (2) - Удалять ненормативную лексику
Название: CID (custom model enpoint id)

Код: cid

Усл. видимости: нет

По умолчанию: empty

When you’re using the Speech Studio to create custom models, you can take advantage of the Endpoint ID value from the Deployment page.

Use the Endpoint ID value as the argument to the cid query string parameter.

Название: Pronunciation scores

Код: pronunciation

Усл. видимости: нет

По умолчанию: false

Specifies the parameters for showing pronunciation scores in recognition results.

These scores assess the pronunciation quality of speech input, with indicators like accuracy, fluency, and completeness.

Возможные варианты:

  • false (0) - Нет. Ответ не содержит pronunciation scores.
  • true (1) - Да. В ответ включаются pronunciation scores, ниже открываются параметры для настройки.
Название: ReferenceText

Код: referenceText

Усл. видимости: да

По умолчанию: empty

The text that the pronunciation is evaluated against.

Применяется только если включен режим вывода в ответ информации с pronunciation scores.

Название: GradingSystem

Код: gradingSystem

Усл. видимости: да

По умолчанию: fivepoint

The point system for score calibration.

Применяется только если включен режим вывода в ответ информации с pronunciation scores.

Возможные варианты:

  • fivepoint (0) - FivePoint. Gives 0-5 floating point score
  • hundreedmark (1) - HundreedMark. Gives 0-100 floating point score
Название: Granularity

Код: granularity

Усл. видимости: да

По умолчанию: phoneme

The evaluation granularity.

Применяется только если включен режим вывода в ответ информации с pronunciation scores.

Возможные варианты:

  • phoneme (0) - Phoneme. Shows the score on the full-text, word, and phoneme levels.
  • word (1) - Word. Shows the score on the full-text and word levels.
  • fulltext (2) - FullText. Shows the score on the full-text level only.
Название: Dimension

Код: dimension

Усл. видимости: да

По умолчанию: basic

Defines the output criteria.

Применяется только если включен режим вывода в ответ информации с pronunciation scores.

Возможные варианты:

  • basic (0) - Basic. Shows the accuracy score only.
  • comprehensive (1) - Comprehensive. Shows scores on more dimensions (for example, fluency score and completeness score on the full-text level, and error type on the word level).
Название: EnableMiscue

Код: enableMiscue

Усл. видимости: да

По умолчанию: false

Enables miscue calculation. With this parameter enabled.

Применяется только если включен режим вывода в ответ информации с pronunciation scores.

Возможные варианты:

  • false (0) - False. Мatching to reference text is not used.
  • true (1) - True. The pronounced words are compared to the reference text. They are marked with omission or insertion based on the comparison.
Название: ScenarioId

Код: scenarioId

Усл. видимости: да

По умолчанию: __empty

A GUID that indicates a customized point system.

Применяется только если включен режим вывода в ответ информации с pronunciation scores.

Название: Таймаут записи, с

Код: recordTimeoutSec

Усл. видимости: нет

По умолчанию: 30

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

Код: checkDTMF

Усл. видимости: нет

По умолчанию: нет

Выключатель детектора DTMF. Открывает настройки режимов сохранения символов и прерывания операции.
Название: Буфер для DTMF

Код: dtmfBuffer

Усл. видимости: да

По умолчанию: — 

Переменная для сохранения получаемых DTMF-символов.
Название: Очистить буфер DTMF

Код: clearDtmfBuffer

Усл. видимости: да

По умолчанию: Да

Выключатель предварительной очистки буфера DTMF.
Название: Количество символов

Код: maxSymbolCount

Усл. видимости: да

По умолчанию: — 

Аргумент, содержащий ограничение на количество вводимых символов.

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

Название: Символы прерывания

Код: interruptSymbols

Усл. видимости: да

По умолчанию: — 

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

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

Например, *, 7, 123, 9395.

Название: Прерывать при обнаружении тишины

Код: abortOnSilence

Усл. видимости: нет

По умолчанию: Да

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

Критерием для остановки является наличие голоса в течение не менее чем 300 мс и последующее его отсутствие в течение указанного интервала.

Название: Интервал тишины, с

Код: silenceTimeoutSec

Усл. видимости: да

По умолчанию: 2

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

В большинстве случаев 2 секунды - комфортный интервал.

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

Название: Порог VAD, -дБ

Код: vadThreshold

Усл. видимости: да

По умолчанию: 30

Аргумент, устанавливающий порог VAD. Параметр VAD-детектора.

Указанное значение применяется с отрицательным знаком (в децибеллах) для определения порога отсечения тишины относительно возможного максимума.

Поток анализируется фреймами по 20 мс. Каждый звуковой фрейм на основании порога отсечения рассматривается либо как голос, либо как тишина (средний уровень громкости фрейма).

Таким образом, детектор имеет два состояния: голос и тишина. При переходе между состояниями генерируется событие о переходе в другое состояние. Изначально детектор находится в состоянии тишины.

Генерация сигнала обнаружения голоса происходит в состоянии тишины тогда, когда несколько фреймов подряд являются голосовыми (параметр 'Порог голоса, мс').

Генерация сигнала обнаружения тишины происходит в состоянии голоса тогда, после того, как несколько фреймов подряд признаны тишиной (параметр 'Порог тишины, мс').

При значении 30 детектор лучше определяет тишину, при значении 40 детектор лучше определяет появление голоса.

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

Название: Голос, мин. длительность, мс

Код: vadVoiceMinMs

Усл. видимости: да

По умолчанию: 120

Аргумент, устанавливающий минимальную пороговую длительность VAD для генерации сигнала VAD UP.

Параметр VAD-детектора.

Для генерации сигнала необходимо несколько фреймов по 20 мс подряд со средним уровнем выше установленного порога VAD.

Через указанное значение определяется количество фреймов.

Название: Голос, допустимое отклонение, %

Код: vadVoiceTol

Усл. видимости: да

По умолчанию: 20

Аргумент, устанавливающий допустимое отклонение в последовательности голосовых фреймов.

Параметр VAD-детектора.

Например минимальная длительность задана 210 (мс), отклонение 20 (%). Таким образом для сигнализации о наличии голоса будет требоваться последовательность из 11 фреймов, 9 из которых должны быть голосовыми.

Значение 0 означает что все 11 фреймов подряд должны быть голосовыми (иметь средний уровень выше порога VAD).

Название: Тишина, мин. длительность, мс

Код: vadSilenceMinMs

Усл. видимости: да

По умолчанию: 500

Аргумент, устанавливающий минимальную пороговую длительность фреймов с тишиной для генерации сигнала VAD DOWN.

Параметр VAD-детектора.

Для генерации сигнала необходимо несколько фреймов по 20 мс подряд со средним уровнем ниже установленного порога VAD.

Через указанное значение определяется количество фреймов.

Название: Тишина, допустимое отклонение, %

Код: vadSilenceTol

Усл. видимости: да

По умолчанию: 10

Аргумент, устанавливающий допустимое отклонение в последовательности голосовых фреймов.

Параметр VAD-детектора.

Например минимальная длительность задана 210 мс, отклонение 20%. Таким образом для сигнализации о наличии голоса будет требоваться последовательность из 11 фреймов, 9 из которых должны быть голосовыми.

Значение 0 означает что все 11 фреймов подряд должны быть тишиной (иметь средний уровень ниже порога VAD).

Название: Таймаут ожидания ответа, с

Код: responseTimeoutSec

Усл. видимости: нет

По умолчанию: 5

Таймаут ожидания ответа от сервиса распознавания Azure Speech после отправки ему последней порции голосовых данных.

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

Название: Результат в переменную

Код: varText

Усл. видимости: нет

По умолчанию: — 

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

Код: varHttpCode

Усл. видимости: нет

По умолчанию: — 

Переменная для сохранения кода HTTP-ответа сервиса распознавания.
Название: Тело ответа в переменную

Код: varHttpBody

Усл. видимости: нет

По умолчанию: — 

Переменная для сохранения полного содержания HTTP-ответа сервиса распознавания.
Название: Сохранить файл записи

Код: saveRec

Усл. видимости: нет

По умолчанию: Нет

Выключатель сохранения файла записи, отправленного сервису распознавания.
Название: Путь к файлу в переменную

Код: varRecordPath

Усл. видимости: да

По умолчанию: — 

Переменная для сохранения пути к файлу записи.

Файл размещается во временном каталоге сценария и будет удален после завершения работы сценария.

Для длительного сохранения файла требуется дальнейшее перемещение файла сценарием в место стационарного хранения.

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

Название: Предварительное воспроизведение

Код: prePlayFile

Усл. видимости: нет

По умолчанию: — 

Звуковой файл предварительного воспроизведения абоненту, во время которого также активирован голосовой детектор.

При отсутствии голоса от абонента (с учетом шумового порога VAD-детектора), отправка данных на сервис распознавания не производится.

Может быть выбран в одном из режимов:

  • статический файл, приложенный к сценарию (загружается из приложения Редактор сценариев или через API);
  • сформированный аргументами путь, который должен включать одну из файловых категорий.
Название: Переход

Код: transfer

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается упраление в случае успешного завершения операции.
Название: Переход, время

Код: transferTimeout

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае истечения времени ожидания HTTP-ответа от сервиса распознавания.
Название: Переход, ошибка

Код: transferError

Усл. видимости: нет

По умолчанию: — 

Компонент, которому передается управление в случае возникновения ошибки.
Содержание