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

Сценарии IVR: различия между версиями

Материал из Платформа Эра. Документации
Нет описания правки
Нет описания правки
 
(не показаны 4 промежуточные версии этого же участника)
Строка 19: Строка 19:
= Компоненты сценариев IVR =
= Компоненты сценариев IVR =


=== Компонент Завершение звонка ===
= Компоненты управления вызовом =
 
==== Компонент Завершение звонка ====
Разрывает текущий диалог отправкой SIP-запроса BYE.
Разрывает текущий диалог отправкой SIP-запроса BYE.


Строка 50: Строка 52:
|}
|}


== Компонент SIP-ответ ==
==== Компонент SIP-ответ ====
Отправляет SIP-ответ на входящий INVITE, инициировавший запуск IVR сценария. Это может быть:
Отправляет SIP-ответ на входящий INVITE, инициировавший запуск IVR сценария. Это может быть:
<nowiki>*</nowiki> предварительный ответ 1xx,
<nowiki>*</nowiki> предварительный ответ 1xx,
Строка 89: Строка 91:
|Не разветвляющий
|Не разветвляющий
|}
|}
 
'''Свойства'''
==== Свойства ====
{| class="wikitable"
{| class="wikitable"
|+Table 2. Свойства
|+Table 2. Свойства
Строка 159: Строка 160:
|}
|}


== Компонент Перевод на номер ==
==== Компонент Перевод на номер ====
Производит перевод абонента текущего звонка на указанный номер путем отправки ему SIP-запроса REFER.
Производит перевод абонента текущего звонка на указанный номер путем отправки ему SIP-запроса REFER.
После успешного выполнения компонента выполнение основной ветки сценария прерывается. На любом шаге процесса может произойти плановый отказ, тогда управление передается следующему компоненту по соответствующей ветке перехода.
После успешного выполнения компонента выполнение основной ветки сценария прерывается. На любом шаге процесса может произойти плановый отказ, тогда управление передается следующему компоненту по соответствующей ветке перехода.
Строка 192: Строка 193:
|Разветвляющий, прерывающий
|Разветвляющий, прерывающий
|}
|}
 
'''Свойства'''
==== Свойства ====
{| class="wikitable"
{| class="wikitable"
|+Table 2. Свойства
|+Table 2. Свойства
Строка 293: Строка 293:
|}
|}


=== Компонент Воспроизведение ===
==== Компонент Колл-центр ====
Осуществляет воспроизведение аудио-файла абоненту.
Переводит сценарий во время своей активности под внешнее управление коллцентра.
Может инициировать как синхронное воспроизведение, при котором управление следующему компоненту будет передано только после окончания воспроизведения, так и фоновое воспроизведение, при котором передача управления следующему компоненту произойдет сразу после запуска воспроизведения. Управление фоновым воспроизведением допускает паузы и остановки. Возобновление воспроизведения возможно с указанной миллисекунды конкретного файла.
Позволяет:
 
<nowiki>*</nowiki> ставить вызов в очередь под управление колл-центра;
 
<nowiki>*</nowiki> запускать сценарии колл-центра;
 
<nowiki>*</nowiki> изменять контекст вызова;


Поддерживается последовательное и цикличное воспроизведение случайных файлов в указанном каталоге.
<nowiki>*</nowiki> присваивать метки к вызову.
{| class="wikitable"
{| class="wikitable"
|+Table 1. Системные характеристики
|+Table 1. Системные характеристики
Строка 304: Строка 310:
|-
|-
|Индекс
|Индекс
|<code>204</code>
|<code>228</code>
|-
|-
|Краткое название
|Краткое название
|<code>play</code>
|<code>api_сс</code>
|-
|-
|Типы сценариев
|Типы сценариев
Строка 313: Строка 319:
|-
|-
|Стартовый модуль
|Стартовый модуль
|<code>r_sip_ivr_script_component_play</code>
|<code>era_sip_ivr_script_component_api_сс</code>
|-
|-
|Режим
|Режим
Строка 324: Строка 330:
|Разветвляющий, замыкающий
|Разветвляющий, замыкающий
|}
|}
 
'''Свойства'''
==== Свойства ====
{| class="wikitable"
{| class="wikitable"
|+Table 2. Свойства
|+Table 2. Свойства
Строка 331: Строка 336:
!Описание
!Описание
|-
|-
|Название: <code>Слой</code>
|Название: <code>Действие</code>


Код: <code>playerId</code>
Код: <code>action</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>"default"</code>
По умолчанию: — 
|Выбор слоя воспроизведения.
|Возможные значения:


Слоем называется отдельный терминейшен в медиа-контексте IVR, который воспроизводит единовременно не более одного файла.
* Поставить в очередь (<code>acd</code>) - размещает вызов в очереди под управлением колл-центра.
 
* Запустить сценарий (<code>scenario</code>) - запускает сценарий колл-центра.
Таким образом, IVR сценарий в различных режимах воспроизведения, включающих фоновый, может одновременно воспроизводить несколько файлов – все они микшируются.
* Изменить контекст (<code>context</code>) - изменяет контекст вызова, делая доступными данные о звонке в карточках и сценариях колл-центра.
* Присвоить метку (<code>addtag</code>) - добавляет метку к вызову, позволяя разветвлять логику в сценариях колл-центра и производить фильтрацию в отчетах по вызовам.
|-
|-
|Название: <code>Режим</code>
|Название: <code>Код очереди</code>


Код: <code>mode</code>
Код: <code>acdCode</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>Файл полностью</code>
По умолчанию: — 
|Выбор режима работы компонента.
|Аргумент, содержащий код очереди в колл-центре. Очередь должна существовать.


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


Код: <code>playTimeSec</code>
Код: <code>priority</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: 100
|Ограничение на время воспроизведения, в секундах.
|Аргумент, определяющий приоритет текущего вызова в очереди. Чем меньше значение, тем больше приоритет.


Применяется в режиме <code>Предпрослушивание</code>.
Доступно только для действия 'Поставить в очередь'.
|-
|-
|Название: <code>Доп. время, с</code>
|Название: <code>Подменять предыдущий вызов</code>


Код: <code>extraTimeSec</code>
Код: <code>deleteLastArchiveACDCall</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>0</code>
По умолчанию: нет
|Таймаут дополнительной паузы после завершения воспроизведения, в секундах.
|Выключатель режима подмены предыдущего сохраненного вызова в архиве сеанса текущим вызовом. Применяется в том случае, если необходимо в статистике по вызову видеть только одну очередь, даже если вызов прошел через несколько очередей.


Применяется в режимах <code>Файл + дополнительное время</code> и <code>Список файлов</code>.
Доступно только для действия 'Поставить в очередь'.
|-
|-
|Название: <code>Каталог</code>
|Название: <code>Код сценария</code>


Код: <code>folder</code>
Код: <code>scenarioCode</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: — 
|Аргумент, содержащий путь к каталогу.
|Аргумент, содержащий код сценария колл-центра, подлежащий синхронному исполнению.


Должен включать одну из файловых категорий.
Доступно только для действия 'Запустить сценарий'.
|-
|-
|Название: <code>Случайно</code>
|Название: <code>Контекст</code>


Код: <code>randomize</code>
Код: <code>context</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>Да</code>
По умолчанию: — 
|Режим случайного выбора очередного файла из каталога.
|Таблица опций вида Ключ-Значение, обновляющая текущий контекст. Пустые ключи игнорируются, пустые значения приводят к обнулению поля с соответствующим ключом в контексте.


Применяется при указании в качестве источника каталога с аудио-файлами.
Доступно только для действий 'Поставить в очередь' и 'Изменить контекст'.
 
* <code>Да</code> – в начале и при завершении воспроизведения каждого аудио-файла очередной файл выбирается случайным образом.
* <code>Нет</code> – файлы воспроизводятся в порядке лексико-графической сортировки по именам.
|-
|-
|Название: <code>Файл</code>
|Название: <code>Параметры вызова</code>


Код: <code>file</code>
Код: <code>queueOpts</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: — 
|Файл для воспроизведения.
|Таблица опций вида Ключ-Значение, обновляющая параметры вызова в очереди. Пустые ключи игнорируются.


Может быть выбран в одном из режимов:
Доступно только для действия 'Поставить в очередь'.
 
* статический файл, приложенный к сценарию (загружается из приложения Редактор сценариев или через API);
* сформированный аргументами путь, который должен включать одну из файловых категорий.
|-
|-
|Название: <code>Потоковый файл</code>
|Название: <code>Метка</code>


Код: <code>fileCanGrow</code>
Код: <code>tag</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>Нет</code>
По умолчанию: — 
|Режим потокового воспроизведения растущего файла.
|Аргумент, содержащий новую метку (строка).


Применяется только в режимах воспроизведения <code>Файл полностью</code>, <code>Предпрослушивание</code>, <code>Файл + дополнительное время</code>, <code>Фоновое воспроизведение</code> при воспроизведении одного конкретного файла.
Доступно только для действия 'Добавить метку'.
|-
|Название: <code>Переход</code>


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


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


Если воспроизведение доходит до текущего конца файла, а размер файла, указанный в WAV-заголовке не достигнут, плеер генерирует тишину.
По умолчанию: — 
 
|Компонент, которому передается управление после завершения работы компонента отключением внешней системы.
По мере добавления сэмплов в конец файла воспроизведение продолжается.
 
Воспроизведение завершается тогда, когда количество воспроизведенных сэмплов из файла совпадет с указанным количеством сэмплов в Wav-заголовке.
 
При этом в Wav-заголовок допускается перезаписать размер, когда данные закончатся.
 
Возможные варианты:
 
<nowiki>*</nowiki> <code>Нет</code> – обычный режим воспроизведения.
 
<nowiki>*</nowiki> <code>Да</code> – допускается воспроизведение из растущего WAV-файла.
|-
|-
|Название: <code>Таймаут получения данных, мс</code>
|Название: <code>Переход, время</code>


Код: <code>growingTimeoutMs</code>
Код: <code>transferTimeout</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: 0
По умолчанию: — 
|При воспроизведении потокового файла с ожиданием поступления данных, в момент когда данных недостаточно, воспроизводится тишина. Чтобы завершить воспроизведение необходимо прописать в заголовок реальный размер данных.
|Компонент, которому передается управление при завершении по таймауту принятия управления сервисами колл-центра (3 секунды).
 
Параметр позволяет установить предельное время в миллисекундах, когда воспроизводится тишина в ожидании поступления данных.
 
Значение 0 - таймаут не применяется.
|-
|-
|Название: <code>Файлы (JSON-список)</code>
|Название: <code>Переход, ошибка</code>


Код: <code>filesArg</code>
Код: <code>transferError</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Аргумент, содержащий JSON-структуру в виде массива строк, каждая из которых представляет путь к файлу.
|Компонент, которому передается управление в случае возникновения ошибки.
|}


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


Файлы воспроизводятся в порядке указания в списке.
==== Компонент Воспроизведение ====
Осуществляет воспроизведение аудио-файла абоненту.
Может инициировать как синхронное воспроизведение, при котором управление следующему компоненту будет передано только после окончания воспроизведения, так и фоновое воспроизведение, при котором передача управления следующему компоненту произойдет сразу после запуска воспроизведения. Управление фоновым воспроизведением допускает паузы и остановки. Возобновление воспроизведения возможно с указанной миллисекунды конкретного файла.
 
Поддерживается последовательное и цикличное воспроизведение случайных файлов в указанном каталоге.
{| class="wikitable"
|+Table 1. Системные характеристики
!
!
|-
|Индекс
|<code>204</code>
|-
|Краткое название
|<code>play</code>
|-
|Типы сценариев
|<code>IVR</code>
|-
|Стартовый модуль
|<code>r_sip_ivr_script_component_play</code>
|-
|Режим
|Асинхронный
|-
|Иконка
|
|-
|Характер разветвления
|Разветвляющий, замыкающий
|}
'''Свойства'''
{| class="wikitable"
|+Table 2. Свойства
!Спецификация
!Описание
|-
|-
|Название: <code>Зацикливать</code>
|Название: <code>Слой</code>


Код: <code>loop</code>
Код: <code>playerId</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>Нет</code>
По умолчанию: <code>"default"</code>
|Выключение режима непрерывного зацикленного воспроизведения.
|Выбор слоя воспроизведения.
 
Слоем называется отдельный терминейшен в медиа-контексте IVR, который воспроизводит единовременно не более одного файла.


При воспроизведении через выбор каталога, всякий раз производится случайный выбор нового файла.
Таким образом, IVR сценарий в различных режимах воспроизведения, включающих фоновый, может одновременно воспроизводить несколько файлов – все они микшируются.
|-
|-
|Название: <code>Начало, мс</code>
|Название: <code>Режим</code>
 
Код: <code>mode</code>


Код: <code>startAt</code>
Усл. видимости: <code>нет</code>


Усл. видимости: <code>да</code>
По умолчанию: <code>Файл полностью</code>
|Выбор режима работы компонента.


По умолчанию: — 
Возможные варианты:
|Аргумент, содержащий смещение для старта воспроизведения, в миллисекундах.


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


Код: <code>stopAt</code>
Код: <code>playTimeSec</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


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


Имеет смысл при незацикленном воспроизведении файла.
Применяется в режиме <code>Предпрослушивание</code>.
|-
|-
|Название: <code>Громкость (делитель)</code>
|Название: <code>Доп. время, с</code>


Код: <code>volumeDiv</code>
Код: <code>extraTimeSec</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: <code>0</code>
|Аргумент, содержащий делитель громкости воспроизведения в слое
|Таймаут дополнительной паузы после завершения воспроизведения, в секундах.
 
Применяется в режимах <code>Файл + дополнительное время</code> и <code>Список файлов</code>.
|-
|-
|Название: <code>Буфер для DTMF</code>
|Название: <code>Каталог</code>


Код: <code>dtmfBuffer</code>
Код: <code>folder</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: — 
|Переменная для сохранения получаемых DTMF-символов.
|Аргумент, содержащий путь к каталогу.
 
Должен включать одну из файловых категорий.
|-
|-
|Название: <code>Очистить буфер DTMF</code>
|Название: <code>Случайно</code>


Код: <code>clearDtmfBuffer</code>
Код: <code>randomize</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>Да</code>
По умолчанию: <code>Да</code>
|Выключатель предварительной очистки буфера DTMF.
|Режим случайного выбора очередного файла из каталога.
 
Применяется при указании в качестве источника каталога с аудио-файлами.
 
* <code>Да</code> – в начале и при завершении воспроизведения каждого аудио-файла очередной файл выбирается случайным образом.
* <code>Нет</code> – файлы воспроизводятся в порядке лексико-графической сортировки по именам.
|-
|-
|Название: <code>Количество символов</code>
|Название: <code>Файл</code>


Код: <code>maxSymbolCount</code>
Код: <code>file</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


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


После получения во время исполнения компонента указанного количества символов DTMF производится автоматическое завершение записи и отправка последней порции голосовых данных сервису распознавания.
* статический файл, приложенный к сценарию (загружается из приложения Редактор сценариев или через API);
* сформированный аргументами путь, который должен включать одну из файловых категорий.
|-
|-
|Название: <code>Символы прерывания</code>
|Название: <code>Потоковый файл</code>


Код: <code>interruptSymbols</code>
Код: <code>fileCanGrow</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: <code>Нет</code>
|Строка, содержащая последовательности символов прерывания через запятую.
|Режим потокового воспроизведения растущего файла.
 
Применяется только в режимах воспроизведения <code>Файл полностью</code>, <code>Предпрослушивание</code>, <code>Файл + дополнительное время</code>, <code>Фоновое воспроизведение</code> при воспроизведении одного конкретного файла.
 
Режим полезен для нужд организации потокового воспроизведения, например когда данные генерируются внешним сервисом постепенно, и их необходимо сразу отдавать в голосовой канал.


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


Например, <code>*, 7, 123, 9395</code>.
Если воспроизведение доходит до текущего конца файла, а размер файла, указанный в WAV-заголовке не достигнут, плеер генерирует тишину.
|-
|Название: <code>Вырезать символы прерывания</code>


Код: <code>clearInterrupt</code>
По мере добавления сэмплов в конец файла воспроизведение продолжается.


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


По умолчанию: <code>Да</code>
При этом в Wav-заголовок допускается перезаписать размер, когда данные закончатся.
|Выключатель операции удаления символов прерывания из буфера DTMF после обнаружения последовательности прерывания.
|-
|Название: <code>Переход</code>


Код: <code>transfer</code>
Возможные варианты:


Усл. видимости: <code>нет</code>
<nowiki>*</nowiki> <code>Нет</code> – обычный режим воспроизведения.


По умолчанию: — 
<nowiki>*</nowiki> <code>Да</code> – допускается воспроизведение из растущего WAV-файла.
|Компонент, которому передается управление при успешном завершении операции.
|-
|-
|Название: <code>Переход, ошибка</code>
|Название: <code>Таймаут получения данных, мс</code>


Код: <code>transferError</code>
Код: <code>growingTimeoutMs</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


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


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


Файлы числительных для воспроизведения в рантайме находятся в локальном автоматически синхронизирующемся каталоге :SYNC в подкаталоге /common/standardexpressions/<VOICE>.
Значение 0 - таймаут не применяется.
{| class="wikitable"
|+Table 1. Системные характеристики
!
!
|-
|-
|Индекс
|Название: <code>Файлы (JSON-список)</code>
|<code>205</code>
|-
|Краткое название
|<code>playnum</code>
|-
|Типы сценариев
|<code>IVR</code>
|-
|Стартовый модуль
|<code>r_sip_ivr_script_component_playnum</code>
|-
|Режим
|Асинхронный
|-
|Иконка
|
|-
|Характер разветвления
|Разветвляющий, прерывающий
|}


==== Свойства ====
Код: <code>filesArg</code>
{| class="wikitable"
|+Table 2. Свойства
!Спецификация
!Описание
|-
|Название: <code>Число</code>


Код: <code>number</code>
Усл. видимости: <code>да</code>
 
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Аргумент, содержащий воспроизводимое числительное либо наборную фразу.
|Аргумент, содержащий JSON-структуру в виде массива строк, каждая из которых представляет путь к файлу.
 
Каждый путь должен включать одну из файловых категорий.
 
Файлы воспроизводятся в порядке указания в списке.
|-
|-
|Название: <code>Языковой алгоритм</code>
|Название: <code>Зацикливать</code>
 
Код: <code>loop</code>


Код: <code>lang</code>
Усл. видимости: <code>да</code>


Усл. видимости: <code>нет</code>
По умолчанию: <code>Нет</code>
|Выключение режима непрерывного зацикленного воспроизведения.


По умолчанию: <code>RUS</code>
При воспроизведении через выбор каталога, всякий раз производится случайный выбор нового файла.
|Выбор языкового алгоритма.
|-
|Название: <code>Начало, мс</code>


Возможные варианты:
Код: <code>startAt</code>


* <code>RUS</code> (<code>ru</code>, <code>0</code>) - Русский язык.
Усл. видимости: <code>да</code>
* <code>ENG</code> (<code>en</code>, <code>1</code>) – Английский язык.
|-
|Название: <code>Формат</code>


Код: <code>mode</code>
По умолчанию: — 
|Аргумент, содержащий смещение для старта воспроизведения, в миллисекундах.


Усл. видимости: <code>нет</code>
Имеет смысл при незацикленном воспроизведении файла.
|-
|Название: <code>Конец, мс</code>


По умолчанию: <code>Количество</code>
Код: <code>stopAt</code>
|Выбор формата воспроизведения.


Возможные варианты:
Усл. видимости: <code>да</code>


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


Важно, чтобы соответствующие файлы озвучки находились в каталоге выбранного голоса.
Имеет смысл при незацикленном воспроизведении файла.
|-
|-
|Название: <code>Тип проигрывания</code>
|Название: <code>Громкость (делитель)</code>


Код: <code>format</code>
Код: <code>volumeDiv</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>Посимвольно</code>
По умолчанию: — 
|Выбор способа озвучивания числительного.
|Аргумент, содержащий делитель громкости воспроизведения в слое
 
Возможные варианты:
 
* <code>Посимвольно</code> (<code>sym1</code>, <code>0</code>) – Каждая цифра числа проговаривается отдельно.
* <code>По 2 символа</code> (<code>sym2</code>, <code>1</code>) – Цифры объединяются парами.
* <code>По 3 символа</code> (<code>sym3</code>, <code>2</code>) – Цифры объединяются в группы по три.
* <code>Целиком</code> (<code>number</code>, <code>3</code>) – Число проговаривается целиком.
* <code>Буквы и числа</code> (<code>letters</code>, <code>4</code>) – Значение проговаривается в виде отдельных букв (аббревиатур) и чисел.
* <code>Слова и фразы</code> (<code>words</code>, <code>5</code>) – Проговариваются отдельные слова, разделенные пробелами, заранее озвученные и представленные в каталоге озвучки.
|-
|-
|Название: <code>Род</code>
|Название: <code>Буфер для DTMF</code>


Код: <code>gender</code>
Код: <code>dtmfBuffer</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>Мужской</code>
По умолчанию: — 
|Выбор рода для окончаний при формировании фразы.
|Переменная для сохранения получаемых DTMF-символов.
 
Возможные варианты:
 
* <code>Мужской</code> (<code>masculine</code>, <code>0</code>)
* <code>Женский</code> (<code>feminine</code>, <code>1</code>)
* <code>Средний</code> (<code>neuter</code>, <code>2</code>)
|-
|-
|Название: <code>Понижать тон</code>
|Название: <code>Очистить буфер DTMF</code>


Код: <code>downTone</code>
Код: <code>clearDtmfBuffer</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>Нет</code>
По умолчанию: <code>Да</code>
|Выключатель режима преимущественного применения аудио-файла с понижающим тоном в конце фразы.
|Выключатель предварительной очистки буфера DTMF.
 
Такие файлы в каталогах озвучки существуют отдельно и имеют префикс <code>_</code>.
|-
|-
|Название: <code>Голос</code>
|Название: <code>Количество символов</code>


Код: <code>voice</code>
Код: <code>maxSymbolCount</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: — 
|Выбор голоса. Каталоги с голосовой озвучкой располагаются в ассетах.
|Аргумент, содержащий ограничение на количество вводимых символов.
 
После получения во время исполнения компонента указанного количества символов DTMF производится автоматическое завершение записи и отправка последней порции голосовых данных сервису распознавания.
|-
|-
|Название: <code>Символы прерывания</code>
|Название: <code>Символы прерывания</code>
Строка 746: Строка 724:


Например, <code>*, 7, 123, 9395</code>.
Например, <code>*, 7, 123, 9395</code>.
|-
|Название: <code>Вырезать символы прерывания</code>
Код: <code>clearInterrupt</code>
Усл. видимости: <code>да</code>
По умолчанию: <code>Да</code>
|Выключатель операции удаления символов прерывания из буфера DTMF после обнаружения последовательности прерывания.
|-
|-
|Название: <code>Переход</code>
|Название: <code>Переход</code>
Строка 754: Строка 741:


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление в случае успешного завершения операции.
|Компонент, которому передается управление при успешном завершении операции.
|-
|-
|Название: <code>Переход, ошибка</code>
|Название: <code>Переход, ошибка</code>
Строка 763: Строка 750:


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление в случае ошибки.
|Компонент, которому передается управление в случае возникновения ошибки.
|}
|}


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


=== Компонент Прием DTMF ===
Файлы числительных для воспроизведения в рантайме находятся в локальном автоматически синхронизирующемся каталоге :SYNC в подкаталоге /common/standardexpressions/<VOICE>.
Осуществляет ожидание ввода абонентом символов DTMF с клавиатуры телефона. Поддерживает поставку символов по RFC-2833 и через SIP-INFO.
{| class="wikitable"
{| class="wikitable"
|+Table 1. Системные характеристики
|+Table 1. Системные характеристики
Строка 775: Строка 764:
|-
|-
|Индекс
|Индекс
|<code>206</code>
|<code>205</code>
|-
|-
|Краткое название
|Краткое название
|<code>dtmf</code>
|<code>playnum</code>
|-
|-
|Типы сценариев
|Типы сценариев
Строка 784: Строка 773:
|-
|-
|Стартовый модуль
|Стартовый модуль
|<code>r_sip_ivr_script_component_dtmf</code>
|<code>r_sip_ivr_script_component_playnum</code>
|-
|-
|Режим
|Режим
Строка 793: Строка 782:
|-
|-
|Характер разветвления
|Характер разветвления
|Разветвляющий, замыкающий
|Разветвляющий, прерывающий
|}
|}
 
'''Свойства'''
==== Свойства ====
{| class="wikitable"
{| class="wikitable"
|+Table 2. Свойства
|+Table 2. Свойства
Строка 802: Строка 790:
!Описание
!Описание
|-
|-
|Название: <code>Inband-детектор</code>
|Название: <code>Число</code>


Код: <code>inband</code>
Код: <code>number</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>disable</code>
По умолчанию: — 
|Режим работы детектора Inband dtmf.
|Аргумент, содержащий воспроизводимое числительное либо наборную фразу.
|-
|Название: <code>Языковой алгоритм</code>


Возможные значения:
Код: <code>lang</code>


* <code>Выключить</code> (<code>disable</code>, <code>0</code>) - DTесли ранее был включен .
Усл. видимости: <code>нет</code>
* <code>Включить</code> (<code>enable</code>, <code>1</code>).
* <code>Включить и выключить</code> (<code>turn</code>, <code>2</code>).


Особенности Inband-DTMF детектора:
По умолчанию: <code>RUS</code>
|Выбор языкового алгоритма.


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


Без острой необходимости не следует активировать режим Inband-DTMF.
* <code>RUS</code> (<code>ru</code>, <code>0</code>) - Русский язык.
* <code>ENG</code> (<code>en</code>, <code>1</code>) – Английский язык.
|-
|-
|Название: <code>Таймаут, с</code>
|Название: <code>Формат</code>


Код: <code>timeoutSec</code>
Код: <code>mode</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: <code>Количество</code>
|Общий таймаут ожидания ввода полного значения.
|Выбор формата воспроизведения.
|-
|Название: <code>Межсимвольный таймаут, с</code>


Код: <code>symbolTimeoutSec</code>
Возможные варианты:


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


По умолчанию: — 
Важно, чтобы соответствующие файлы озвучки находились в каталоге выбранного голоса.
|Таймаут ожидания ввода следующего символа, начиная с первого, в секундах.
|-
|-
|Название: <code>Буфер для DTMF</code>
|Название: <code>Тип проигрывания</code>
 
Код: <code>format</code>


Код: <code>dtmfBuffer</code>
Усл. видимости: <code>да</code>


Усл. видимости: <code>нет</code>
По умолчанию: <code>Посимвольно</code>
|Выбор способа озвучивания числительного.


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


Код: <code>clearDtmfBuffer</code>
Код: <code>gender</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>Да</code>
По умолчанию: <code>Мужской</code>
|Выключатель предварительной очистки буфера DTMF.
|Выбор рода для окончаний при формировании фразы.
 
Возможные варианты:
 
* <code>Мужской</code> (<code>masculine</code>, <code>0</code>)
* <code>Женский</code> (<code>feminine</code>, <code>1</code>)
* <code>Средний</code> (<code>neuter</code>, <code>2</code>)
|-
|-
|Название: <code>Количество символов</code>
|Название: <code>Понижать тон</code>


Код: <code>maxSymbolCount</code>
Код: <code>downTone</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: <code>Нет</code>
|Аргумент, содержащий ограничение на количество вводимых символов.
|Выключатель режима преимущественного применения аудио-файла с понижающим тоном в конце фразы.


После получения во время исполнения компонента указанного количества символов DTMF производится автоматическое завершение записи и отправка последней порции голосовых данных сервису распознавания.
Такие файлы в каталогах озвучки существуют отдельно и имеют префикс <code>_</code>.
|-
|-
|Название: <code>Символы прерывания</code>
|Название: <code>Голос</code>


Код: <code>interruptSymbols</code>
Код: <code>voice</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Строка, содержащая последовательности символов прерывания через запятую.
|Выбор голоса. Каталоги с голосовой озвучкой располагаются в ассетах.
|-
|Название: <code>Символы прерывания</code>


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


Например, <code>*, 7, 123, 9395</code>.
Усл. видимости: <code>да</code>
|-
|Название: <code>Вырезать символы прерывания</code>


Код: <code>clearInterrupt</code>
По умолчанию: — 
|Строка, содержащая последовательности символов прерывания через запятую.


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


По умолчанию: <code>Да</code>
Например, <code>*, 7, 123, 9395</code>.
|Выключатель операции удаления символов прерывания из буфера DTMF после обнаружения последовательности прерывания.
|-
|-
|Название: <code>Переход</code>
|Название: <code>Переход</code>
Строка 902: Строка 915:


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление при завершении операции по набору нужного числа символов.
|Компонент, которому передается управление в случае успешного завершения операции.
|-
|-
|Название: <code>Переход, время</code>
|Название: <code>Переход, ошибка</code>


Код: <code>transferTimeout</code>
Код: <code>transferError</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление при завершении по таймауту.
|Компонент, которому передается управление в случае ошибки.
|}
|}




=== Компонент Запись звука ===
 
Осуществляет запись звука, поступающего от абонента, в локальный файл.
==== Компонент Прием DTMF ====
Размещает файл во временном каталоге на время жизни сценария. Для сохранения файла от сценария требуется последующее перемещение его в любое место стационарного хранения.
Осуществляет ожидание ввода абонентом символов DTMF с клавиатуры телефона. Поддерживает поставку символов по RFC-2833 и через SIP-INFO.
{| class="wikitable"
{| class="wikitable"
|+Table 1. Системные характеристики
|+Table 1. Системные характеристики
Строка 924: Строка 937:
|-
|-
|Индекс
|Индекс
|<code>208</code>
|<code>206</code>
|-
|-
|Краткое название
|Краткое название
|<code>record</code>
|<code>dtmf</code>
|-
|-
|Типы сценариев
|Типы сценариев
Строка 933: Строка 946:
|-
|-
|Стартовый модуль
|Стартовый модуль
|<code>r_sip_ivr_script_component_record</code>
|<code>r_sip_ivr_script_component_dtmf</code>
|-
|-
|Режим
|Режим
Строка 944: Строка 957:
|Разветвляющий, замыкающий
|Разветвляющий, замыкающий
|}
|}
 
'''Свойства'''
==== Свойства ====
{| class="wikitable"
{| class="wikitable"
|+Table 2. Свойства
|+Table 2. Свойства
Строка 951: Строка 963:
!Описание
!Описание
|-
|-
|Название: <code>Режим</code>
|Название: <code>Inband-детектор</code>


Код: <code>mode</code>
Код: <code>inband</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>Синхронная запись</code>
По умолчанию: <code>disable</code>
|Выбор режима записи.
|Режим работы детектора Inband dtmf.


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


* Синхронная запись (<code>syncRecFile</code>, 0) - обычный режим записи в файл с последующей упаковкой в выбранный кодек и возвратом пути к файлу в переменную.
* <code>Выключить</code> (<code>disable</code>, <code>0</code>) - DTесли ранее был включен .
* Потоковая запись (<code>growingRaw</code>, 1) - режим записи в указанный файл короткими порциями, например для организации потоковой отправки в сервис распознавания речи внешними средствами.
* <code>Включить</code> (<code>enable</code>, <code>1</code>).
|-
* <code>Включить и выключить</code> (<code>turn</code>, <code>2</code>).
|Название: <code>Путь в переменную</code>


Код: <code>pathToVarMode</code>
Особенности Inband-DTMF детектора:


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


По умолчанию: <code>Да</code>
Без острой необходимости не следует активировать режим Inband-DTMF.
|Выключатель сохранения пути к файлу с записью в переменную.
|-
|-
|Название: <code>Путь к файлу в переменную</code>
|Название: <code>Таймаут, с</code>


Код: <code>nameVar</code>
Код: <code>timeoutSec</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Переменная для сохранения пути к файлу с записанным голосом.
|Общий таймаут ожидания ввода полного значения.
|-
|Название: <code>Межсимвольный таймаут, с</code>


Применяется только в режиме синхронной записи.
Код: <code>symbolTimeoutSec</code>


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


Для длительного сохранения файла требуется дальнейшее перемещение файла сценарием в место стационарного хранения.
По умолчанию: — 
 
|Таймаут ожидания ввода следующего символа, начиная с первого, в секундах.
Запись осуществляется на сервере с ролью mg, обслуживающим текущий звонок, а затем переносится на сервер с ролью ivr, обслуживающей текущий сценарий. Перенос всегда происходит внутри сайта.
|-
|-
|Название: <code>Путь к файлу</code>
|Название: <code>Буфер для DTMF</code>


Код: <code>toFilepath</code>
Код: <code>dtmfBuffer</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Аргумент, указывающий путь к файлу для потоковой записи (растущий файл).
|Переменная для сохранения получаемых DTMF-символов.
 
Применяется только в режиме потоковой записи.
|-
|-
|Название: <code>Wav-заголовок</code>
|Название: <code>Очистить буфер DTMF</code>


Код: <code>addWavHeader</code>
Код: <code>clearDtmfBuffer</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>Нет</code>
По умолчанию: <code>Да</code>
|Позволяет добавить wav-заголовок к растущему файлу.
|Выключатель предварительной очистки буфера DTMF.
|-
|Название: <code>Количество символов</code>
 
Код: <code>maxSymbolCount</code>
 
Усл. видимости: <code>нет</code>


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


В Wav-заголовок прописывается размер, эквивалентный выбранному максимальному времени записи.
После получения во время исполнения компонента указанного количества символов DTMF производится автоматическое завершение записи и отправка последней порции голосовых данных сервису распознавания.
|-
|-
|Название: <code>Кодек</code>
|Название: <code>Символы прерывания</code>


Код: <code>codec</code>
Код: <code>interruptSymbols</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>PCMA</code>
По умолчанию: — 
|Кодек/формат записываемого файла (только для режима синхронной записи). Упаковка производится по окончании записи с помощью микшера.
|Строка, содержащая последовательности символов прерывания через запятую.


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


* <code>PCM</code> (<code>pcm</code>, '0')
Например, <code>*, 7, 123, 9395</code>.
* <code>PCMA</code> (<code>pcma</code>, '1')
|-
* <code>PCMU</code> (<code>pcmu</code>, '2')
|Название: <code>Вырезать символы прерывания</code>
* <code>GSM</code> (<code>gsm</code>, '3')
* <code>MP3 8-bit</code> (<code>mp3_8</code>, '4')
* <code>MP3 16-bit</code> (<code>mp3_16</code>, '5')
* <code>MP3 24-bit</code> (<code>mp3_24</code>, '6')
|-
|Название: <code>Кодек</code>


Код: <code>codecRaw</code>
Код: <code>clearInterrupt</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>PCMA</code>
По умолчанию: <code>Да</code>
|Кодек/формат записываемого файла (только для режима потоковой записи).
|Выключатель операции удаления символов прерывания из буфера DTMF после обнаружения последовательности прерывания.
 
Возможные варианты:
 
* <code>L16/8000</code> (<code>pcm8000</code>, '0') - PCM 8000 Hz 16 bit mono.
* <code>L16/16000</code> (<code>pcm16000</code>, '1') - PCM 16000 Hz 16 bit mono.
|-
|-
|Название: <code>Буфер, мс</code>
|Название: <code>Переход</code>


Код: <code>bufferDurMs</code>
Код: <code>transfer</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: 250
По умолчанию: — 
|Аргумент, определяющий период сброса записанных данных в потоковый файл.
|Компонент, которому передается управление при завершении операции по набору нужного числа символов.
 
Применяется только для режима потоковой записи.
|-
|-
|Название: <code>Таймаут, с</code>
|Название: <code>Переход, время</code>


Код: <code>recTimeSec</code>
Код: <code>transferTimeout</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Таймаут записи до автоматического прерывания, в секундах.
|Компонент, которому передается управление при завершении по таймауту.
|-
|}
|Название: <code>Буфер для DTMF</code>


Код: <code>dtmfBuffer</code>


Усл. видимости: <code>нет</code>


По умолчанию: — 
==== Компонент Запись звука ====
|Переменная для сохранения получаемых DTMF-символов.
Осуществляет запись звука, поступающего от абонента, в локальный файл.
Размещает файл во временном каталоге на время жизни сценария. Для сохранения файла от сценария требуется последующее перемещение его в любое место стационарного хранения.
{| class="wikitable"
|+Table 1. Системные характеристики
!
!
|-
|Индекс
|<code>208</code>
|-
|Краткое название
|<code>record</code>
|-
|Типы сценариев
|<code>IVR</code>
|-
|Стартовый модуль
|<code>r_sip_ivr_script_component_record</code>
|-
|Режим
|Асинхронный
|-
|Иконка
|
|-
|Характер разветвления
|Разветвляющий, замыкающий
|}
'''Свойства'''
{| class="wikitable"
|+Table 2. Свойства
!Спецификация
!Описание
|-
|-
|Название: <code>Очистить буфер DTMF</code>
|Название: <code>Режим</code>


Код: <code>clearDtmfBuffer</code>
Код: <code>mode</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>Да</code>
По умолчанию: <code>Синхронная запись</code>
|Выключатель предварительной очистки буфера DTMF.
|Выбор режима записи.
 
Возможные варианты:
 
* Синхронная запись (<code>syncRecFile</code>, 0) - обычный режим записи в файл с последующей упаковкой в выбранный кодек и возвратом пути к файлу в переменную.
* Потоковая запись (<code>growingRaw</code>, 1) - режим записи в указанный файл короткими порциями, например для организации потоковой отправки в сервис распознавания речи внешними средствами.
|-
|-
|Название: <code>Количество символов</code>
|Название: <code>Путь в переменную</code>


Код: <code>maxSymbolCount</code>
Код: <code>pathToVarMode</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: <code>Да</code>
|Аргумент, содержащий ограничение на количество вводимых символов.
|Выключатель сохранения пути к файлу с записью в переменную.
 
После получения во время исполнения компонента указанного количества символов DTMF производится автоматическое завершение записи и отправка последней порции голосовых данных сервису распознавания.
|-
|-
|Название: <code>Символы прерывания</code>
|Название: <code>Путь к файлу в переменную</code>


Код: <code>interruptSymbols</code>
Код: <code>nameVar</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


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


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


Например, <code>*, 7, 123, 9395</code>.
Запись осуществляется на сервере с ролью mg, обслуживающим текущий звонок, а затем переносится на сервер с ролью ivr, обслуживающей текущий сценарий. Перенос всегда происходит внутри сайта.
|-
|-
|Название: <code>Вырезать символы прерывания</code>
|Название: <code>Путь к файлу</code>


Код: <code>clearInterrupt</code>
Код: <code>toFilepath</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>Да</code>
По умолчанию: — 
|Выключатель операции удаления символов прерывания из буфера DTMF после обнаружения последовательности прерывания.
|Аргумент, указывающий путь к файлу для потоковой записи (растущий файл).
|-
|Название: <code>Прерывать фон (слой) при обнаружении голоса</code>


<code>Код: `stopPlayerIdOnVad</code>
Применяется только в режиме потоковой записи.
 
Усл. видимости: <code>нет</code>
 
По умолчанию: <code>"default"</code>
|Слой фонового воспроизведения (поле playerId компонента воспроизведение в фоновом режиме, запущенного ранее), который следует остановить при обнаружении голоса в канале абонента.
|-
|-
|Название: <code>Прерывать при обнаружении тишины</code>
|Название: <code>Wav-заголовок</code>


Код: <code>abortOnSilence</code>
Код: <code>addWavHeader</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>Нет</code>
По умолчанию: <code>Нет</code>
|Выключатель режима обнаружения тишины и автоматического прерывания.
|Позволяет добавить wav-заголовок к растущему файлу.


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


Таймер засекается только после обнаружения голоса (сигнал выше порога чувствительности продолжительностью более полусекунды, внутри которого могут обнаруживаться зоны сигнала ниже порога чувствительности продолжительностью менее 200 мс).
В Wav-заголовок прописывается размер, эквивалентный выбранному максимальному времени записи.
|-
|-
|Название: <code>Интервал тишины, с</code>
|Название: <code>Кодек</code>


Код: <code>silenceTimeoutSec</code>
Код: <code>codec</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>2</code>
По умолчанию: <code>PCMA</code>
|Аргумент, содержащий время таймаута при обнаружении тишины в секундах. При появлении голоса выше порога чувствительности в течение указанного таймаута, таймер сбрасывается вплоть до обнаружения тишины снова.
|Кодек/формат записываемого файла (только для режима синхронной записи). Упаковка производится по окончании записи с помощью микшера.


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


Может указываться в формате десятичной дроби, например, '1.6'.
* <code>PCM</code> (<code>pcm</code>, '0')
* <code>PCMA</code> (<code>pcma</code>, '1')
* <code>PCMU</code> (<code>pcmu</code>, '2')
* <code>GSM</code> (<code>gsm</code>, '3')
* <code>MP3 8-bit</code> (<code>mp3_8</code>, '4')
* <code>MP3 16-bit</code> (<code>mp3_16</code>, '5')
* <code>MP3 24-bit</code> (<code>mp3_24</code>, '6')
|-
|-
|Название: <code>Порог VAD, -дБ</code>
|Название: <code>Кодек</code>


Код: <code>vadThreshold</code>
Код: <code>codecRaw</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>30</code>
По умолчанию: <code>PCMA</code>
|Аргумент, устанавливающий порог VAD. Параметр VAD-детектора.
|Кодек/формат записываемого файла (только для режима потоковой записи).


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


Поток анализируется фреймами по 20 мс. Каждый звуковой фрейм на основании порога отсечения рассматривается либо как голос, либо как тишина (средний уровень громкости фрейма).
* <code>L16/8000</code> (<code>pcm8000</code>, '0') - PCM 8000 Hz 16 bit mono.
* <code>L16/16000</code> (<code>pcm16000</code>, '1') - PCM 16000 Hz 16 bit mono.
|-
|Название: <code>Буфер, мс</code>


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


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


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


При значении 30 детектор лучше определяет тишину, при значении 40 детектор лучше определяет появление голоса.
Применяется только для режима потоковой записи.
 
Выход из компонента происходит по истечении таймаута, указанного в поле <code>Интервал тишины, с</code>, отсчитывая с начала отрезка тишины, обнаруженного детектором из состояния голоса.
|-
|-
|Название: <code>Голос, мин. длительность, мс</code>
|Название: <code>Таймаут, с</code>


Код: <code>vadVoiceMinMs</code>
Код: <code>recTimeSec</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>120</code>
По умолчанию: — 
|Аргумент, устанавливающий минимальную пороговую длительность VAD для генерации сигнала VAD UP.
|Таймаут записи до автоматического прерывания, в секундах.
|-
|Название: <code>Буфер для DTMF</code>


Параметр VAD-детектора.
Код: <code>dtmfBuffer</code>


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


Через указанное значение определяется количество фреймов.
По умолчанию: — 
|Переменная для сохранения получаемых DTMF-символов.
|-
|-
|Название: <code>Голос, допустимое отклонение, %</code>
|Название: <code>Очистить буфер DTMF</code>


Код: <code>vadVoiceTol</code>
Код: <code>clearDtmfBuffer</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>20</code>
По умолчанию: <code>Да</code>
|Аргумент, устанавливающий допустимое отклонение в последовательности голосовых фреймов.
|Выключатель предварительной очистки буфера DTMF.
|-
|Название: <code>Количество символов</code>
 
Код: <code>maxSymbolCount</code>


Параметр VAD-детектора.
Усл. видимости: <code>нет</code>


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


Значение 0 означает что все 11 фреймов подряд должны быть голосовыми (иметь средний уровень выше порога VAD).
После получения во время исполнения компонента указанного количества символов DTMF производится автоматическое завершение записи и отправка последней порции голосовых данных сервису распознавания.
|-
|-
|Название: <code>Тишина, мин. длительность, мс</code>
|Название: <code>Символы прерывания</code>


Код: <code>vadSilenceMinMs</code>
Код: <code>interruptSymbols</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>500</code>
По умолчанию: — 
|Аргумент, устанавливающий минимальную пороговую длительность фреймов с тишиной для генерации сигнала VAD DOWN.
|Строка, содержащая последовательности символов прерывания через запятую.


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


Для генерации сигнала необходимо несколько фреймов по 20 мс подряд со средним уровнем ниже установленного порога VAD.
Например, <code>*, 7, 123, 9395</code>.
 
Через указанное значение определяется количество фреймов.
|-
|-
|Название: <code>Тишина, допустимое отклонение, %</code>
|Название: <code>Вырезать символы прерывания</code>


Код: <code>vadSilenceTol</code>
Код: <code>clearInterrupt</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>10</code>
По умолчанию: <code>Да</code>
|Аргумент, устанавливающий допустимое отклонение в последовательности голосовых фреймов.
|Выключатель операции удаления символов прерывания из буфера DTMF после обнаружения последовательности прерывания.
 
Параметр VAD-детектора.
 
Например минимальная длительность задана 210 мс, отклонение 20%. Таким образом для сигнализации о наличии голоса будет требоваться последовательность из 11 фреймов, 9 из которых должны быть голосовыми.
 
Значение 0 означает что все 11 фреймов подряд должны быть тишиной (иметь средний уровень ниже порога VAD).
|-
|-
|Название: <code>Переход</code>
|Название: <code>Прерывать фон (слой) при обнаружении голоса</code>


Код: <code>transfer</code>
<code>Код: `stopPlayerIdOnVad</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: <code>"default"</code>
|Компонент, которому передается управление при завершении операции по набору нужного числа символов.
|Слой фонового воспроизведения (поле playerId компонента воспроизведение в фоновом режиме, запущенного ранее), который следует остановить при обнаружении голоса в канале абонента.
|-
|-
|Название: <code>Переход, время</code>
|Название: <code>Прерывать при обнаружении тишины</code>


Код: <code>transferTimeout</code>
Код: <code>abortOnSilence</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: <code>Нет</code>
|Компонент, которому передается управление при завершении по таймауту.
|Выключатель режима обнаружения тишины и автоматического прерывания.
|-
|Название: <code>Переход, ошибка</code>


Код: <code>transferError</code>
Тишиной считается сигнал ниже порога чувствительности длиной более 200 мс.


Усл. видимости: <code>нет</code>
Таймер засекается только после обнаружения голоса (сигнал выше порога чувствительности продолжительностью более полусекунды, внутри которого могут обнаруживаться зоны сигнала ниже порога чувствительности продолжительностью менее 200 мс).
|-
|Название: <code>Интервал тишины, с</code>


По умолчанию: — 
Код: <code>silenceTimeoutSec</code>
|Компонент, которому передается управление при обнаружении ошибки, например неверно задан путь к файлу для потоковой записи.
|}


Усл. видимости: <code>да</code>


=== Компонент Отправка факса ===
По умолчанию: <code>2</code>
Отправляет изображение по факсимильному протоколу T.30 или T.38.
|Аргумент, содержащий время таймаута при обнаружении тишины в секундах. При появлении голоса выше порога чувствительности в течение указанного таймаута, таймер сбрасывается вплоть до обнаружения тишины снова.
{| class="wikitable"
 
|+Table 1. Системные характеристики
В большинстве случаев 2 секунды - комфортный интервал.
!
!
|-
|Индекс
|<code>213</code>
|-
|Краткое название
|<code>fax_send</code>
|-
|Типы сценариев
|<code>IVR</code>
|-
|Стартовый модуль
|<code>r_sip_ivr_script_component_fax_send</code>
|-
|Режим
|Асинхронный
|-
|Иконка
|
|-
|Характер разветвления
|Разветвляющий, замыкающий
|}


==== Свойства ====
Может указываться в формате десятичной дроби, например, '1.6'.
{| class="wikitable"
|+Table 2. Свойства
!Спецификация
!Описание
|-
|-
|Название: <code>Протокол</code>
|Название: <code>Порог VAD, -дБ</code>


Код: <code>proto</code>
Код: <code>vadThreshold</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>
 
По умолчанию: <code>30</code>
|Аргумент, устанавливающий порог VAD. Параметр VAD-детектора.
 
Указанное значение применяется с отрицательным знаком (в децибеллах) для определения порога отсечения тишины относительно возможного максимума.
 
Поток анализируется фреймами по 20 мс. Каждый звуковой фрейм на основании порога отсечения рассматривается либо как голос, либо как тишина (средний уровень громкости фрейма).


По умолчанию: <code>T30</code>
Таким образом, детектор имеет два состояния: голос и тишина. При переходе между состояниями генерируется событие о переходе в другое состояние. Изначально детектор находится в состоянии тишины.
|Выбор факсимильного протокола.


* <code>Авто</code> (<code>auto</code>, <code>0</code>) – Сначала производится попытка переключиться в протокол T38, а при отказе удаленной стороны производится переключение в T30.
Генерация сигнала обнаружения голоса происходит в состоянии тишины тогда, когда несколько фреймов подряд являются голосовыми (параметр 'Порог голоса, мс').
* <code>T30</code> (<code>t30</code>, <code>1</code>) – Переключение в T30 и ожидание переключения в T30 удаленной стороны.
* <code>T38</code> (<code>t38</code>, <code>2</code>) – Переключение в T38, а при отказе удаленной стороны, завершение работы с ошибкой.
|-
|Название: <code>Таймаут, с</code>


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


Усл. видимости: <code>нет</code>
При значении 30 детектор лучше определяет тишину, при значении 40 детектор лучше определяет появление голоса.


По умолчанию: — 
Выход из компонента происходит по истечении таймаута, указанного в поле <code>Интервал тишины, с</code>, отсчитывая с начала отрезка тишины, обнаруженного детектором из состояния голоса.
|Таймаут приема до автоматического прерывания, в секундах.
|-
|-
|Название: <code>Файл</code>
|Название: <code>Голос, мин. длительность, мс</code>


Код: <code>file</code>
Код: <code>vadVoiceMinMs</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: <code>120</code>
|Файл для отправки факсимильным сообщением.
|Аргумент, устанавливающий минимальную пороговую длительность VAD для генерации сигнала VAD UP.


Может быть выбран в одном из режимов:
Параметр VAD-детектора.


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


Формат файла: <code>tiff</code> – одностраничное или многостраничное битовое изображение.
Через указанное значение определяется количество фреймов.
|-
|Название: <code>Голос, допустимое отклонение, %</code>


Отправка сообщения осуществляется сервером с ролью mg, обслуживающим текущий звонок. Перенос всегда происходит внутри сайта.
Код: <code>vadVoiceTol</code>
|-
 
|Название: <code>Переход</code>
Усл. видимости: <code>да</code>
 
По умолчанию: <code>20</code>
|Аргумент, устанавливающий допустимое отклонение в последовательности голосовых фреймов.


Код: <code>transfer</code>
Параметр VAD-детектора.


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


По умолчанию: — 
Значение 0 означает что все 11 фреймов подряд должны быть голосовыми (иметь средний уровень выше порога VAD).
|Компонент, которому передается управление при завершении операции по набору нужного числа символов.
|-
|-
|Название: <code>Переход, время</code>
|Название: <code>Тишина, мин. длительность, мс</code>


Код: <code>transferTimeout</code>
Код: <code>vadSilenceMinMs</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: <code>500</code>
|Компонент, которому передается управление при завершении по таймауту.
|Аргумент, устанавливающий минимальную пороговую длительность фреймов с тишиной для генерации сигнала VAD DOWN.
|-
|Название: <code>Переход, ошибка</code>


Код: <code>transferError</code>
Параметр VAD-детектора.


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


По умолчанию: — 
Через указанное значение определяется количество фреймов.
|Компонент, которому передается управление в случае возникновения ошибки.
|-
|}
|Название: <code>Тишина, допустимое отклонение, %</code>


Код: <code>vadSilenceTol</code>


=== Компонент Прием факса ===
Усл. видимости: <code>да</code>
Переключается в режим приема изображения по факсимильному протоколу T.30 или T.38. Компонент завершает работу при успешном приеме или по истечении установленного таймаута.
Размещает файл во временном каталоге на время жизни сценария. Для сохранения файла от сценария требуется последующее перемещение его в любое место стационарного хранения.
{| class="wikitable"
|+Table 1. Системные характеристики
!
!
|-
|Индекс
|<code>214</code>
|-
|Краткое название
|<code>fax_receive</code>
|-
|Типы сценариев
|<code>IVR</code>
|-
|Стартовый модуль
|<code>r_sip_ivr_script_component_fax_receive</code>
|-
|Режим
|Асинхронный
|-
|Иконка
|
|-
|Характер разветвления
|Разветвляющий, замыкающий
|}


==== Свойства ====
По умолчанию: <code>10</code>
{| class="wikitable"
|Аргумент, устанавливающий допустимое отклонение в последовательности голосовых фреймов.
|+Table 2. Свойства
!Спецификация
!Описание
|-
|Название: <code>Протокол</code>


Код: <code>proto</code>
Параметр VAD-детектора.


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


По умолчанию: <code>T30</code>
Значение 0 означает что все 11 фреймов подряд должны быть тишиной (иметь средний уровень ниже порога VAD).
|Выбор факсимильного протокола.
 
* <code>Авто</code> (<code>auto</code>, <code>0</code>) – Сначала производится попытка переключиться в протокол T38, а при отказе удаленной стороны производится переключение в T30.
* <code>T30</code> (<code>t30</code>, <code>1</code>) – Переключение в T30 и ожидание переключения в T30 удаленной стороны.
* <code>T38</code> (<code>t38</code>, <code>2</code>) – Переключение в T38, а при отказе удаленной стороны, завершение работы с ошибкой.
|-
|-
|Название: <code>Таймаут, с</code>
|Название: <code>Переход</code>


Код: <code>timeoutSec</code>
Код: <code>transfer</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Таймаут приема до автоматического прерывания, в секундах.
|Компонент, которому передается управление при завершении операции по набору нужного числа символов.
|-
|-
|Название: <code>Сохранить путь</code>
|Название: <code>Переход, время</code>


Код: <code>pathToVarMode</code>
Код: <code>transferTimeout</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>Да</code>
По умолчанию: — 
|Выключатель сохранения пути к файлу с записью в переменную и выбор содержания.
|Компонент, которому передается управление при завершении по таймауту.
 
Возможные варианты:
 
* <code>Не сохранять</code> (<code>dont_save</code>, <code>0</code>)
* <code>С ключом папки</code> (<code>script_key_path</code>, <code>1</code>) – Значение включает в категорию, относительный путь и имя файла.
* <code>Только имя файла</code> (<code>only_file_name</code>, <code>2</code>) – Значение содержит только имя файла.
|-
|-
|Название: <code>Путь в переменную</code>
|Название: <code>Переход, ошибка</code>


Код: <code>nameVar</code>
Код: <code>transferError</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


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


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


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


Запись сообщения осуществляется сервером с ролью mg, обслуживающим текущий звонок, а затем переносится на сервер с ролью ivr, обслуживающей текущий сценарий. Перенос всегда происходит внутри сайта.
==== Компонент Отправка факса ====
Отправляет изображение по факсимильному протоколу T.30 или T.38.
{| class="wikitable"
|+Table 1. Системные характеристики
!
!
|-
|Индекс
|<code>213</code>
|-
|Краткое название
|<code>fax_send</code>
|-
|Типы сценариев
|<code>IVR</code>
|-
|Стартовый модуль
|<code>r_sip_ivr_script_component_fax_send</code>
|-
|Режим
|Асинхронный
|-
|Иконка
|
|-
|Характер разветвления
|Разветвляющий, замыкающий
|}
'''Свойства'''
{| class="wikitable"
|+Table 2. Свойства
!Спецификация
!Описание
|-
|-
|Название: <code>Переход</code>
|Название: <code>Протокол</code>


Код: <code>transfer</code>
Код: <code>proto</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: <code>T30</code>
|Компонент, которому передается управление при завершении операции по набору нужного числа символов.
|Выбор факсимильного протокола.
|-
|Название: <code>Переход, время</code>


Код: <code>transferTimeout</code>
* <code>Авто</code> (<code>auto</code>, <code>0</code>) – Сначала производится попытка переключиться в протокол T38, а при отказе удаленной стороны производится переключение в T30.
* <code>T30</code> (<code>t30</code>, <code>1</code>) – Переключение в T30 и ожидание переключения в T30 удаленной стороны.
* <code>T38</code> (<code>t38</code>, <code>2</code>) – Переключение в T38, а при отказе удаленной стороны, завершение работы с ошибкой.
|-
|Название: <code>Таймаут, с</code>
 
Код: <code>timeoutSec</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление при завершении по таймауту.
|Таймаут приема до автоматического прерывания, в секундах.
|-
|-
|Название: <code>Переход, ошибка</code>
|Название: <code>Файл</code>


Код: <code>transferError</code>
Код: <code>file</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление в случае возникновения ошибки.
|Файл для отправки факсимильным сообщением.
|}
 
Может быть выбран в одном из режимов:
 
* статический файл, приложенный к сценарию (загружается из приложения Редактор сценариев или через API);
* сформированный аргументами путь, который должен включать одну из файловых категорий.


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


=== Компонент Перевод с подменой плеча ===
Отправка сообщения осуществляется сервером с ролью mg, обслуживающим текущий звонок. Перенос всегда происходит внутри сайта.
Производит перевод абонента текущего звонка на другой указанный диалог путем отправки одному из его абонентов SIP-запроса REFER с атрибутом Replaces.
|-
После успешного завершения операции выполнение основной ветки сценария прерывается.
|Название: <code>Переход</code>


Автоматически производит подписку на получение событий о состоянии перевода.
Код: <code>transfer</code>


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


Компонент предназначен исключительно для внутренних нужд системы.
По умолчанию: — 
{| class="wikitable"
|Компонент, которому передается управление при завершении операции по набору нужного числа символов.
|+Table 1. Системные характеристики
!
!
|-
|-
|Индекс
|Название: <code>Переход, время</code>
|<code>215</code>
 
Код: <code>transferTimeout</code>
 
Усл. видимости: <code>нет</code>
 
По умолчанию: — 
|Компонент, которому передается управление при завершении по таймауту.
|-
|Название: <code>Переход, ошибка</code>
 
Код: <code>transferError</code>
 
Усл. видимости: <code>нет</code>
 
По умолчанию: — 
|Компонент, которому передается управление в случае возникновения ошибки.
|}
 
 
 
==== Компонент Прием факса ====
Переключается в режим приема изображения по факсимильному протоколу T.30 или T.38. Компонент завершает работу при успешном приеме или по истечении установленного таймаута.
Размещает файл во временном каталоге на время жизни сценария. Для сохранения файла от сценария требуется последующее перемещение его в любое место стационарного хранения.
{| class="wikitable"
|+Table 1. Системные характеристики
!
!
|-
|Индекс
|<code>214</code>
|-
|-
|Краткое название
|Краткое название
|<code>refer_replace</code>
|<code>fax_receive</code>
|-
|-
|Типы сценариев
|Типы сценариев
Строка 1513: Строка 1550:
|-
|-
|Стартовый модуль
|Стартовый модуль
|<code>r_sip_ivr_script_component_refer_replace</code>
|<code>r_sip_ivr_script_component_fax_receive</code>
|-
|-
|Режим
|Режим
Строка 1522: Строка 1559:
|-
|-
|Характер разветвления
|Характер разветвления
|Разветвляющий, прерывающий
|Разветвляющий, замыкающий
|}
|}
 
'''Свойства'''
==== Свойства ====
{| class="wikitable"
{| class="wikitable"
|+Table 2. Свойства
|+Table 2. Свойства
Строка 1531: Строка 1567:
!Описание
!Описание
|-
|-
|Название: <code>URI адресата</code>
|Название: <code>Протокол</code>


Код: <code>referToUri</code>
Код: <code>proto</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: <code>T30</code>
|Аргумент, содержащий значение заголовка <code>ReferTo</code> отправляемого SIP-запроса REFER.
|Выбор факсимильного протокола.


Определяет URI абонента, соответствующий значению URI в заголовке <code>To</code> или <code>From</code> подменяемого диалога.
* <code>Авто</code> (<code>auto</code>, <code>0</code>) – Сначала производится попытка переключиться в протокол T38, а при отказе удаленной стороны производится переключение в T30.
 
* <code>T30</code> (<code>t30</code>, <code>1</code>) – Переключение в T30 и ожидание переключения в T30 удаленной стороны.
Например: <code><nowiki>sip:user1@domain1</nowiki></code>.
* <code>T38</code> (<code>t38</code>, <code>2</code>) – Переключение в T38, а при отказе удаленной стороны, завершение работы с ошибкой.
|-
|-
|Название: <code>Замещаемый CallId</code>
|Название: <code>Таймаут, с</code>


Код: <code>replacesCallId</code>
Код: <code>timeoutSec</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Аргумент, содержащий основное значение параметра <code>Replaces</code> в заголовке <code>ReferTo</code> отправляемого SIP-запроса REFER.
|Таймаут приема до автоматического прерывания, в секундах.
 
Определяет CallId подменяемого плеча.
|-
|-
|Название: <code>Замещаемый To-tag</code>
|Название: <code>Сохранить путь</code>


Код: <code>replacesToTag</code>
Код: <code>pathToVarMode</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: <code>Да</code>
|Аргумент, содержащий значение атрибута <code>to-tag</code> параметра <code>Replaces</code> в заголовке <code>ReferTo</code> отправляемого SIP-запроса REFER.
|Выключатель сохранения пути к файлу с записью в переменную и выбор содержания.
 
Возможные варианты:
 
* <code>Не сохранять</code> (<code>dont_save</code>, <code>0</code>)
* <code>С ключом папки</code> (<code>script_key_path</code>, <code>1</code>) – Значение включает в категорию, относительный путь и имя файла.
* <code>Только имя файла</code> (<code>only_file_name</code>, <code>2</code>) – Значение содержит только имя файла.
|-
|-
|Название: <code>Замещаемый From-tag</code>
|Название: <code>Путь в переменную</code>


Код: <code>replacesFromTag</code>
Код: <code>nameVar</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: — 
|Аргумент, содержащий значение атрибута <code>from-tag</code> параметра <code>Replaces</code> в заголовке <code>ReferTo</code> отправляемого SIP-запроса REFER.
|Переменная для сохранения пути к файлу с принятым факсимильным сообщением.
|-
|Название: <code>Режим re-INVITE</code>


Код: <code>reinviteMode</code>
Файл размещается во временном каталоге сценария и будет удален после завершения работы сценария.


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


По умолчанию: <code>Не использовать</code>
Формат файла: <code>tiff</code> – одностраничное или многостраничное битовое изображение.
|Выбор режима предварительного преобразования медиа-сессии текущего диалога перед отправкой SIP-запроса REFER.


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


Код: <code>huntblockenabled</code>
Код: <code>transfer</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: false
По умолчанию: — 
|Включить/выключить применение huntblock.
|Компонент, которому передается управление при завершении операции по набору нужного числа символов.
|-
|-
|Название: <code>Код hunt</code>
|Название: <code>Переход, время</code>


Код: <code>huntblockcode</code>
Код: <code>transferTimeout</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Код объекта доменного центра hunt. Применяется в случае указания huntblockenabled=true
|Компонент, которому передается управление при завершении по таймауту.
|-
|-
|Название: <code>Переход, время подписки</code>
|Название: <code>Переход, ошибка</code>


Код: <code>transferSubTerminated</code>
Код: <code>transferError</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление, если истекло время подписки, а подтверждения получения окончательного ответа не последовало.
|Компонент, которому передается управление в случае возникновения ошибки.
|-
|}
|Название: <code>Переход, отказ</code>


Код: <code>transferRejected</code>


Усл. видимости: <code>нет</code>


По умолчанию: — 
==== Компонент Перевод с подменой плеча ====
|Компонент, которому передается управление в случае, если при вызове получен неудачный окончательный ответ: <code>3xx-6xx</code> (на REFER или INVITE).
Производит перевод абонента текущего звонка на другой указанный диалог путем отправки одному из его абонентов SIP-запроса REFER с атрибутом Replaces.
|-
После успешного завершения операции выполнение основной ветки сценария прерывается.
|Название: <code>Переход, время</code>


Код: <code>transferTimeout</code>
Автоматически производит подписку на получение событий о состоянии перевода.


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


По умолчанию: — 
Компонент предназначен исключительно для внутренних нужд системы.
|Компонент, которому передается управление в случае, если за ограниченное время не получен окончательный ответ на отправленный SIP-запрос re-INVITE или REFER.
|}
 
 
=== Компонент Перевод с контролируемым вызовом ===
Производит контролируемый перевод на номер. Осуществляет самостоятельный вызов номера посредством нового экземпляра обработчика сценариев IVR, откладывая непосредственно перевод до момента, когда абонент уже ответил и ожидает. После ответа абонента, ему может быть предварительно воспроизведен IVR сценарий. Непосредственно перевод осуществляется отправкой абоненту SIP-запроса REFER с атрибутом Replaces.
Вызов абонента может быть осуществлен с любыми параметрами, в том числе и без последующего выполнения IVR-сценария. После успешного завершения операции выполнение основной ветки сценария прерывается. На любом шаге процесса может произойти плановый отказ, тогда управление передается следующему компоненту по соответствующей ветке перехода.
 
Автоматически производит подписку на получение событий о состоянии перевода. Общее время работы компонента складывается из времени набора указанного номера, ожидания ответа, активности IVR-сценария предварительного воспроизведения.
 
Некоторые абонентские устройства и приложения осуществляют запрос к пользователю с ожиданием его подтверждения при подмене звонка. Это может неограниченно увеличить время операции. Однако спустя 60 секунд управление в любом случае будет передано следующему компоненту по ветке "Время подписки".
 
При вызове абонента по номеру используется стандартный процесс маршрутизации от имени текущего сценария IVR.
 
При необходимости следует заполнять интервал ожидания соединения мелодией фонового воспроизведения (предварительно установленный компонент воспроизведения). Медиа-режим sendonly с автоматически подключаемой мелодией ожидания активируется только непосредственно перед отправкой запроса REFER, и в случае компонента контролируемого перевода является кратковременным и не обеспечивает функциональности воспроизведения в полной мере.
{| class="wikitable"
{| class="wikitable"
|+Table 1. Системные характеристики
|+Table 1. Системные характеристики
Строка 1653: Строка 1666:
|-
|-
|Индекс
|Индекс
|<code>217</code>
|<code>215</code>
|-
|-
|Краткое название
|Краткое название
|<code>refer_attended</code>
|<code>refer_replace</code>
|-
|-
|Типы сценариев
|Типы сценариев
Строка 1662: Строка 1675:
|-
|-
|Стартовый модуль
|Стартовый модуль
|<code>r_sip_ivr_script_component_refer_attended</code>
|<code>r_sip_ivr_script_component_refer_replace</code>
|-
|-
|Режим
|Режим
Строка 1673: Строка 1686:
|Разветвляющий, прерывающий
|Разветвляющий, прерывающий
|}
|}
 
'''Свойства'''
==== Свойства ====
{| class="wikitable"
{| class="wikitable"
|+Table 2. Свойства
|+Table 2. Свойства
Строка 1680: Строка 1692:
!Описание
!Описание
|-
|-
|Название: <code>Номер</code>
|Название: <code>URI адресата</code>


Код: <code>number</code>
Код: <code>referToUri</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Аргумент, содержащий телефонный номер абонента для осущствления на перевода.
|Аргумент, содержащий значение заголовка <code>ReferTo</code> отправляемого SIP-запроса REFER.
|-
|Название: <code>Исходящий номер</code>


Код: <code>callerId</code>
Определяет URI абонента, соответствующий значению URI в заголовке <code>To</code> или <code>From</code> подменяемого диалога.
 
Например: <code><nowiki>sip:user1@domain1</nowiki></code>.
|-
|Название: <code>Замещаемый CallId</code>
 
Код: <code>replacesCallId</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Аргумент, содержащий CallerId – значение username для подстановки в URI заголовка <code>From</code> отправляемого SIP-запроса INVITE.
|Аргумент, содержащий основное значение параметра <code>Replaces</code> в заголовке <code>ReferTo</code> отправляемого SIP-запроса REFER.
 
Определяет CallId подменяемого плеча.
|-
|-
|Название: <code>Исходящее имя</code>
|Название: <code>Замещаемый To-tag</code>


Код: <code>callerName</code>
Код: <code>replacesToTag</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Аргумент, содержащий CallerName – значение displayname для подстановки в URI заголовка <code>From</code> отправляемого SIP-запроса INVITE.
|Аргумент, содержащий значение атрибута <code>to-tag</code> параметра <code>Replaces</code> в заголовке <code>ReferTo</code> отправляемого SIP-запроса REFER.
|-
|-
|Название: <code>Время набора, с</code>
|Название: <code>Замещаемый From-tag</code>


Код: <code>dialingTimeout</code>
Код: <code>replacesFromTag</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Нижнее ограничение на время вызова абонента.
|Аргумент, содержащий значение атрибута <code>from-tag</code> параметра <code>Replaces</code> в заголовке <code>ReferTo</code> отправляемого SIP-запроса REFER.
 
По умолчанию время вызова внутренних абонентов 30 секунд, и может быть изменено в свойствах учетной записи SIP-пользователя.
|-
|-
|Название: <code>Источник сценария IVR</code>
|Название: <code>Режим re-INVITE</code>


Код: <code>setScrMode</code>
Код: <code>reinviteMode</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: ``
По умолчанию: <code>Не использовать</code>
|Способ выбора IVR-сценария для предварительного воспроизведения вызываемому абоненту.
|Выбор режима предварительного преобразования медиа-сессии текущего диалога перед отправкой SIP-запроса REFER.


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


* <code>Не использовать</code> (<code>none</code>,<code>3</code>) – Не использовать сценарий, только осуществить дозвон, проконтролировать ответ и переключить.
* <code>Не использовать</code> (<code>not_used</code>, <code>0</code>) – Не производит преобразования.
* <code>Из списка</code> (<code>code_sel</code>,<code>2</code>) – Указание кода сценария с помощью аргумента. Применяет значение свойства <code>Сценарий</code>.
* <code>Авто</code> (<code>auto</code>, <code>1</code>) – По текущим настройкам системы аналогично режиму <code>inactive</code>.
* <code>По коду</code> (<code>code</code>,<code>0</code>) – Указание кода сценария с помощью аргумента. Применяет значение свойства <code>Код сценария</code>.
* <code>sendonly</code> (<code>2</code>) – Переводит медиа-сессию в режим удержания путем отправки re-INVITE с SDP, где у медиа-стримов выставлен атрибут <code>a=sendonly</code>.
* <code>JSON</code> (<code>body</code>,<code>1</code>) – Указание кода сценария с помощью аргумента. Применяет значение свойства <code>Тело сценария</code>.
* <code>inactive</code> (<code>3</code>) – Переводит медиа-сессию в режим удержания путем отправки re-INVITE с SDP, где у медиа-стримов выставлен атрибут <code>a=inactive</code> (не соответствует RFC-6337 п.5.3.).
|-
|Название: <code>Применять huntblock</code>
 
Код: <code>huntblockenabled</code>
 
Усл. видимости: <code>нет</code>


Сценарий предварительного воспроизведения должен успеть до таймаута завершиться компонентом Стоп для успешного осуществления перевода.
По умолчанию: false
|Включить/выключить применение huntblock.
|-
|-
|Название: <code>Код сценария</code>
|Название: <code>Код hunt</code>


Код: <code>ivrScriptCode</code>
Код: <code>huntblockcode</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Аргумент с кодом IVR-сценария в текущем домене.
|Код объекта доменного центра hunt. Применяется в случае указания huntblockenabled=true
|-
|-
|Название: <code>Тело сценария</code>
|Название: <code>Переход, время подписки</code>


Код: <code>ivrScriptJson</code>
Код: <code>transferSubTerminated</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Аргумент, содержащий JSON-структуру с телом IVR-сценария (упакованный в строку JSON-массив).
|Компонент, которому передается управление, если истекло время подписки, а подтверждения получения окончательного ответа не последовало.
 
Формат структуры аналогичен разделу `scriptdata.objects`" в сущности IVR сценария.
|-
|-
|Название: <code>Сценарий</code>
|Название: <code>Переход, отказ</code>


Код: <code>ivrScriptCodeSel</code>
Код: <code>transferRejected</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Выпадающий список с кодами сценариев. Содержит все доступные (нескрытые) IVR сценарии, содержащиеся в текущем домене.
|Компонент, которому передается управление в случае, если при вызове получен неудачный окончательный ответ: <code>3xx-6xx</code> (на REFER или INVITE).
|-
|-
|Название: <code>Значения переменных</code>
|Название: <code>Переход, время</code>


Код: <code>ivrScriptVarValuesT</code>
Код: <code>transferTimeout</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Таблица начальных значений для локальных переменных IVR сценария, запускаемого для предварительного воспроизведения вызываемому абоненту.
|Компонент, которому передается управление в случае, если за ограниченное время не получен окончательный ответ на отправленный SIP-запрос re-INVITE или REFER.
|}


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


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


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


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


Установленные таким образом значения приоритетны перед значениями по умолчанию внутри сценария IVR.
Некоторые абонентские устройства и приложения осуществляют запрос к пользователю с ожиданием его подтверждения при подмене звонка. Это может неограниченно увеличить время операции. Однако спустя 60 секунд управление в любом случае будет передано следующему компоненту по ветке "Время подписки".
|-
|Название: <code>Параметр 1</code>


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


Усл. видимости: <code>да</code>
При необходимости следует заполнять интервал ожидания соединения мелодией фонового воспроизведения (предварительно установленный компонент воспроизведения). Медиа-режим sendonly с автоматически подключаемой мелодией ожидания активируется только непосредственно перед отправкой запроса REFER, и в случае компонента контролируемого перевода является кратковременным и не обеспечивает функциональности воспроизведения в полной мере.
 
{| class="wikitable"
По умолчанию: — 
|+Table 1. Системные характеристики
|Первый параметр для инициируемого IVR-сценария. Доступ к значению осуществляется через функцию выражений <code>startparam(1)</code> или через сохранение значения в компоненте Старт.
!
!
|-
|Индекс
|<code>217</code>
|-
|-
|Название: <code>Параметр 2</code>
|Краткое название
 
|<code>refer_attended</code>
Код: <code>param2</code>
 
Усл. видимости: <code>да</code>
 
По умолчанию: — 
|Второй параметр для инициируемого IVR-сценария. Доступ к значению осуществляется через функцию выражений <code>startparam(2)</code>.
|-
|-
|Название: <code>Параметр 3</code>
|Типы сценариев
 
|<code>IVR</code>
Код: <code>param3</code>
|-
|Стартовый модуль
|<code>r_sip_ivr_script_component_refer_attended</code>
|-
|Режим
|Асинхронный
|-
|Иконка
|
|-
|Характер разветвления
|Разветвляющий, прерывающий
|}
'''Свойства'''
{| class="wikitable"
|+Table 2. Свойства
!Спецификация
!Описание
|-
|Название: <code>Номер</code>


Усл. видимости: <code>да</code>
Код: <code>number</code>
 
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Третий параметр для инициируемого IVR-сценария Доступ к значению осуществляется через функцию выражений <code>startparam(3)</code>.
|Аргумент, содержащий телефонный номер абонента для осущствления на перевода.
|-
|-
|Название: <code>Параметр 4</code>
|Название: <code>Исходящий номер</code>


Код: <code>param4</code>
Код: <code>callerId</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Четвертый параметр для инициируемого IVR-сценария. Доступ к значению осуществляется через функцию выражений <code>startparam(4)</code>.
|Аргумент, содержащий CallerId – значение username для подстановки в URI заголовка <code>From</code> отправляемого SIP-запроса INVITE.
|-
|-
|Название: <code>Параметр 5</code>
|Название: <code>Исходящее имя</code>


Код: <code>param5</code>
Код: <code>callerName</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Пятый параметр для инициируемого IVR-сценария. Доступ к значению осуществляется через функцию выражений <code>startparam(5)</code>.
|Аргумент, содержащий CallerName – значение displayname для подстановки в URI заголовка <code>From</code> отправляемого SIP-запроса INVITE.
|-
|-
|Название: <code>Прочие параметры</code>
|Название: <code>Время набора, с</code>


Код: <code>paramsOther</code>
Код: <code>dialingTimeout</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|JSON-массив, содержащий параметры 6, 7, 8 и т.д. для инициируемого IVR-сценария. Доступ к значению осуществляется через функцию выражений <code>startparam(N)</code>, где N > 6.
|Нижнее ограничение на время вызова абонента.
 
По умолчанию время вызова внутренних абонентов 30 секунд, и может быть изменено в свойствах учетной записи SIP-пользователя.
|-
|-
|Название: <code>Время IVR, c</code>
|Название: <code>Источник сценария IVR</code>


Код: <code>ivrTimeout</code>
Код: <code>setScrMode</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: ``
|Таймаут ожидания выполнения IVR сценария.
|Способ выбора IVR-сценария для предварительного воспроизведения вызываемому абоненту.
|-
 
|Название: <code>Режим re-INVITE</code>
Возможные значения:


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


Усл. видимости: <code>нет</code>
Сценарий предварительного воспроизведения должен успеть до таймаута завершиться компонентом Стоп для успешного осуществления перевода.
|-
|Название: <code>Код сценария</code>


По умолчанию: <code>Не использовать</code>
Код: <code>ivrScriptCode</code>
|Выбор режима предварительного преобразования медиа-сессии текущего диалога перед отправкой SIP-запроса REFER.


Возможные варианты:
Усл. видимости: <code>да</code>


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


Код: <code>resultCode</code>
Код: <code>ivrScriptJson</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: — 
|Переменная для сохранения кода внутренней ошибки.
|Аргумент, содержащий JSON-структуру с телом IVR-сценария (упакованный в строку JSON-массив).


Возможные варианты:
Формат структуры аналогичен разделу `scriptdata.objects`" в сущности IVR сценария.
 
* <code>"001"</code> – Ошибка инициации вызова.
* <code>"002"</code> – Неудача вызова.
|-
|-
|Название: <code>Описание результата в переменную</code>
|Название: <code>Сценарий</code>


Код: <code>resultDescription</code>
Код: <code>ivrScriptCodeSel</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Переменная для сохранения текстового описания внутренней ошибки.
|Выпадающий список с кодами сценариев. Содержит все доступные (нескрытые) IVR сценарии, содержащиеся в текущем домене.
|-
|-
|Название: <code>SIP-код ответа в переменную</code>
|Название: <code>Значения переменных</code>


Код: <code>resultSipCode</code>
Код: <code>ivrScriptVarValuesT</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: — 
|Переменная для сохранения кода SIP-ответа на исходящий запрос INVITE.
|Таблица начальных значений для локальных переменных IVR сценария, запускаемого для предварительного воспроизведения вызываемому абоненту.
|-
|Название: <code>Причина SIP ответа в переменную</code>


Код: <code>resultSipReason</code>
Доступно только если используется сценарий IVR предварительного воспроизведения вызываемому абоненту.


Усл. видимости: <code>нет</code>
Ключи - названия переменных сценария IVR.


По умолчанию: — 
Сопоставление происходит по именам переменных, значения присваиваются только тем переменным, которые определены в сценарии.
|Переменная для сохранения фразы SIP-ответа на исходящий запрос INVITE.
|-
|Название: <code>Заголовки SIP ответа в переменную</code>


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


Усл. видимости: <code>нет</code>
Установленные таким образом значения приоритетны перед значениями по умолчанию внутри сценария IVR.
 
По умолчанию: — 
|Переменная для сохранения совокупности заголовков SIP-ответа на исходящий запрос INVITE.
|-
|-
|Название: <code>Переход, время подписки</code>
|Название: <code>Параметр 1</code>


Код: <code>transferSubTerminated</code>
Код: <code>param1</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


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


Код: <code>transferRejected</code>
Код: <code>param2</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление в случае, если при вызове получен неудачный окончательный ответ: <code>3xx-6xx</code> (на REFER или INVITE).
|Второй параметр для инициируемого IVR-сценария. Доступ к значению осуществляется через функцию выражений <code>startparam(2)</code>.
|-
|-
|Название: <code>Переход, время</code>
|Название: <code>Параметр 3</code>


Код: <code>transferTimeout</code>
Код: <code>param3</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление в случае, если за ограниченное время не получен окончательный ответ на отправленный SIP-запрос re-INVITE или REFER.
|Третий параметр для инициируемого IVR-сценария Доступ к значению осуществляется через функцию выражений <code>startparam(3)</code>.
|-
|-
|Название: <code>Переход, неудача</code>
|Название: <code>Параметр 4</code>


Код: <code>transferFailed</code>
Код: <code>param4</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление в случае, если вызываемый абонент не ответил, либо ответил неудачным окончательным кодом 3xx-6xx.
|Четвертый параметр для инициируемого IVR-сценария. Доступ к значению осуществляется через функцию выражений <code>startparam(4)</code>.
|-
|-
|Название: <code>Переход, ошибка</code>
|Название: <code>Параметр 5</code>


Код: <code>transferError</code>
Код: <code>param5</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление в случае, если истекло время ожидания окончательного ответа на отправленный SIP-запрос INVITE, либо завершения IVR сценария предварительного воспроизведения.
|Пятый параметр для инициируемого IVR-сценария. Доступ к значению осуществляется через функцию выражений <code>startparam(5)</code>.
|}
|-
|Название: <code>Прочие параметры</code>


Код: <code>paramsOther</code>


=== Компонент Парковка ===
Усл. видимости: <code>да</code>
Осуществляет постановку текущего звонка на паркову (размещает информацию в хранилище), либо взятие абонента с парковки (переключает текущего абонента на абонента из парковки).
 
Компонент используется в сценариях постановки и взятия с парковки, применяемым в ходе вызова featurecode с типом parking. Может использоваться и в других сценариях.
По умолчанию: — 
{| class="wikitable"
|JSON-массив, содержащий параметры 6, 7, 8 и т.д. для инициируемого IVR-сценария. Доступ к значению осуществляется через функцию выражений <code>startparam(N)</code>, где N > 6.
|+Table 1. Системные характеристики
!
!
|-
|-
|Индекс
|Название: <code>Время IVR, c</code>
|<code>218</code>
 
Код: <code>ivrTimeout</code>
 
Усл. видимости: <code>нет</code>
 
По умолчанию: — 
|Таймаут ожидания выполнения IVR сценария.
|-
|-
|Краткое название
|Название: <code>Режим re-INVITE</code>
|<code>parking</code>
 
|-
Код: <code>reinviteMode</code>
|Типы сценариев
 
|<code>IVR</code>
Усл. видимости: <code>нет</code>
|-
 
|Стартовый модуль
По умолчанию: <code>Не использовать</code>
|<code>r_sip_ivr_script_component_parking</code>
|Выбор режима предварительного преобразования медиа-сессии текущего диалога перед отправкой SIP-запроса REFER.
|-
 
|Режим
Возможные варианты:
|Асинхронный
|-
|Иконка
|
|-
|Характер разветвления
|Разветвляющий, замыкающий
|}


==== Свойства ====
* <code>Не использовать</code> (<code>not_used</code>, <code>0</code>) – Не производит преобразования.
{| class="wikitable"
* <code>Авто</code> (<code>auto</code>, <code>1</code>) – По текущим настройкам системы аналогично режиму <code>inactive</code>.
|+Table 2. Свойства
* <code>sendonly</code> (<code>2</code>) – Переводит медиа-сессию в режим удержания путем отправки re-INVITE с SDP, где у медиа-стримов выставлен атрибут <code>a=sendonly</code>.
!Спецификация
* <code>inactive</code> (<code>3</code>) – Переводит медиа-сессию в режим удержания путем отправки re-INVITE с SDP, где у медиа-стримов выставлен атрибут <code>a=inactive</code> (не соответствует RFC-6337 п.5.3.).
!Описание
|-
|-
|Название: <code>Действие</code>
|Название: <code>Код результата в переменную</code>


Код: <code>action</code>
Код: <code>resultCode</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>Разместить на парковке</code>
По умолчанию: — 
|Возможные значения:
|Переменная для сохранения кода внутренней ошибки.
 
Возможные варианты:


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


Код: <code>parkingCode</code>
Код: <code>resultDescription</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Аргумент, содержащий номер парковки, с которым связана текущая операция.
|Переменная для сохранения текстового описания внутренней ошибки.
 
Операция размещения может быть успешно проведена только если указанный номер в журнале парковки отсутствует, то есть парковочное место свободно.
|-
|-
|Название: <code>Код ошибки в переменную</code>
|Название: <code>SIP-код ответа в переменную</code>


Код: <code>errorCodeVar</code>
Код: <code>resultSipCode</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Переменная для сохранения кода ошибки.
|Переменная для сохранения кода SIP-ответа на исходящий запрос INVITE.
|-
|-
|Название: <code>Переход</code>
|Название: <code>Причина SIP ответа в переменную</code>


Код: <code>transfer</code>
Код: <code>resultSipReason</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается упрваление при успешном завершении операции размещения на парковку.
|Переменная для сохранения фразы SIP-ответа на исходящий запрос INVITE.
|-
|-
|Название: <code>Переход, занято</code>
|Название: <code>Заголовки SIP ответа в переменную</code>


Код: <code>transferBusy</code>
Код: <code>resultSipHeaders</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление в случае, если при размещении на парковку указанное парковочное место занято.
|Переменная для сохранения совокупности заголовков SIP-ответа на исходящий запрос INVITE.
|-
|-
|Название: <code>Переход, не найдено</code>
|Название: <code>Переход, время подписки</code>


Код: <code>transferNotFound</code>
Код: <code>transferSubTerminated</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление если при попытке взять абонента с парковки указанное парковочное место пусто.
|Компонент, которому передается управление, если истекло время подписки, а подтверждения получения окончательного ответа не последовало.
|-
|-
|Название: <code>Переход, ошибка</code>
|Название: <code>Переход, отказ</code>


Код: <code>transferError</code>
Код: <code>transferRejected</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление при возникновении ошибки.
|Компонент, которому передается управление в случае, если при вызове получен неудачный окончательный ответ: <code>3xx-6xx</code> (на REFER или INVITE).
|}
|-
|Название: <code>Переход, время</code>


Код: <code>transferTimeout</code>


=== Компонент Синтез речи (MRCPv2) ===
Усл. видимости: <code>нет</code>
Осуществляет синтез речи по тексту и воспроизведение текущему абоненту.
 
Взаимодействует с произвольным сервером TTS по протоколу MRCPv2. Может иметь технические ограничения горизонтальной масштабируемости из-за односерверного исполнения.
По умолчанию: — 
|Компонент, которому передается управление в случае, если за ограниченное время не получен окончательный ответ на отправленный SIP-запрос re-INVITE или REFER.
|-
|Название: <code>Переход, неудача</code>
 
Код: <code>transferFailed</code>
 
Усл. видимости: <code>нет</code>
 
По умолчанию: — 
|Компонент, которому передается управление в случае, если вызываемый абонент не ответил, либо ответил неудачным окончательным кодом 3xx-6xx.
|-
|Название: <code>Переход, ошибка</code>
 
Код: <code>transferError</code>
 
Усл. видимости: <code>нет</code>
 
По умолчанию: — 
|Компонент, которому передается управление в случае, если истекло время ожидания окончательного ответа на отправленный SIP-запрос INVITE, либо завершения IVR сценария предварительного воспроизведения.
|}
 
 
 
==== Компонент Парковка ====
Осуществляет постановку текущего звонка на паркову (размещает информацию в хранилище), либо взятие абонента с парковки (переключает текущего абонента на абонента из парковки).
Компонент используется в сценариях постановки и взятия с парковки, применяемым в ходе вызова featurecode с типом parking. Может использоваться и в других сценариях.
{| class="wikitable"
{| class="wikitable"
|+Table 1. Системные характеристики
|+Table 1. Системные характеристики
Строка 2075: Строка 2131:
|-
|-
|Индекс
|Индекс
|<code>220</code>
|<code>218</code>
|-
|-
|Краткое название
|Краткое название
|<code>tts</code>
|<code>parking</code>
|-
|-
|Типы сценариев
|Типы сценариев
Строка 2084: Строка 2140:
|-
|-
|Стартовый модуль
|Стартовый модуль
|<code>r_sip_ivr_script_component_tts</code>
|<code>r_sip_ivr_script_component_parking</code>
|-
|-
|Режим
|Режим
|Асинхронный
|Асинхронный
|-
|-
|Состояние
|Иконка
|Реализация отложена
|
|}
|-
 
|Характер разветвления
=== Компонент Распознавание речи (MRCPv2) ===
|Разветвляющий, замыкающий
Осуществляет распознавание речи абонента в текстовый вид.
|}
Взаимодействует с произвольным сервером ASR по протоколу MRCPv2. Может иметь технические ограничения горизонтальной масштабируемости из-за односерверного исполнения.
'''Свойства'''
{| class="wikitable"
{| class="wikitable"
|+Table 1. Системные характеристики
|+Table 2. Свойства
!
!Спецификация
!
!Описание
|-
|-
|Индекс
|Название: <code>Действие</code>
|<code>221</code>
|-
|Краткое название
|<code>asr</code>
|-
|Типы сценариев
|<code>IVR</code>
|-
|Стартовый модуль
|<code>r_sip_ivr_script_component_asr</code>
|-
|Режим
|Асинхронный
|-
|Состояние
|Реализация отложена
|}


Код: <code>action</code>


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


Порядок регистрации учетной записи Yandex-облака и стоимость сервиса см. на Яндексе.
По умолчанию: <code>Разместить на парковке</code>
|Возможные значения:


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


Позволяет воспроизводить результат, а также просто записывать его в аудио-файл.
Усл. видимости: <code>нет</code>


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


Скорость синтеза речи ориентировочно в 10 раз быстрее реального времени ее воспроизведения.
Операция размещения может быть успешно проведена только если указанный номер в журнале парковки отсутствует, то есть парковочное место свободно.
{| class="wikitable"
|+Table 1. Системные характеристики
!
!
|-
|-
|Индекс
|Название: <code>Код ошибки в переменную</code>
|<code>222</code>
 
Код: <code>errorCodeVar</code>
 
Усл. видимости: <code>нет</code>
 
По умолчанию: — 
|Переменная для сохранения кода ошибки.
|-
|-
|Краткое название
|Название: <code>Переход</code>
|<code>tts_yandex</code>
 
Код: <code>transfer</code>
 
Усл. видимости: <code>нет</code>
 
По умолчанию: — 
|Компонент, которому передается упрваление при успешном завершении операции размещения на парковку.
|-
|-
|Типы сценариев
|Название: <code>Переход, занято</code>
|<code>IVR</code>
 
|-
Код: <code>transferBusy</code>
|Стартовый модуль
 
|<code>r_sip_ivr_script_component_tts_yandex</code>
Усл. видимости: <code>нет</code>
|-
|Режим
|Асинхронный
|-
|Иконка
|
|-
|Характер разветвления
|Разветвляющий, прерывающий
|}


==== Свойства ====
По умолчанию: — 
{| class="wikitable"
|Компонент, которому передается управление в случае, если при размещении на парковку указанное парковочное место занято.
|+Table 2. Свойства
!Спецификация
!Описание
|-
|-
|Название: <code>Аккаунт Яндекс</code>
|Название: <code>Переход, не найдено</code>


Код: <code>accountKey</code>
Код: <code>transferNotFound</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>default</code>
По умолчанию: — 
|Указание на аккаунт Яндекса, опции которого берутся для подключения к яндексу.
|Компонент, которому передается управление если при попытке взять абонента с парковки указанное парковочное место пусто.
 
В список попадает значение 'default', устанавливающее к использованию корневые поля 'speech' и 'storage' в объекте 'settings.yandex_cloud'.
 
Дополнительно в список попадают ключи объекта 'settings.yandex_cloud.accounts', за каждым из которых также находится объект с отдельно настроенными параметрами доступа.
|-
|-
|Название: <code>Режим</code>
|Название: <code>Переход, ошибка</code>


Код: <code>mode</code>
Код: <code>transferError</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>Воспроизведение</code>
По умолчанию: — 
|Режим работы компонента после получения ответа от сервиса TTS Yandex Cloud SpeechKit.
|Компонент, которому передается управление при возникновении ошибки.
|}


Возможные варианты:
= Компоненты синтеза и распознавания речи =


* <code>Воспроизведение</code> (<code>play</code>, <code>0</code>) – Воспроизведение синтезированной речи абоненту с последующим удалением файла.
==== Компонент Синтез речи (MRCPv2) ====
* <code>Генерация файла</code> (<code>file</code>, <code>1</code>) – Сохранение аудио-файла в локальный временный каталог и возврат пути к файлу в переменную.
Осуществляет синтез речи по тексту и воспроизведение текущему абоненту.
Взаимодействует с произвольным сервером TTS по протоколу MRCPv2. Может иметь технические ограничения горизонтальной масштабируемости из-за односерверного исполнения.
{| class="wikitable"
|+Table 1. Системные характеристики
!
!
|-
|Индекс
|<code>220</code>
|-
|Краткое название
|<code>tts</code>
|-
|Типы сценариев
|<code>IVR</code>
|-
|Стартовый модуль
|<code>r_sip_ivr_script_component_tts</code>
|-
|-
|Название: <code>Текст</code>
|Режим
 
|Асинхронный
Код: <code>text</code>
 
Усл. видимости: <code>нет</code>
 
По умолчанию: — 
|Текст, подлежащий синтезу и последующему воспроизведению. Ограничение на длину строки: 5000 символов.
|-
|-
|Название: <code>Язык</code>
|Состояние
|Реализация отложена
|}


Код: <code>lang</code>
==== Компонент Распознавание речи (MRCPv2) ====
 
Осуществляет распознавание речи абонента в текстовый вид.
Усл. видимости: <code>нет</code>
Взаимодействует с произвольным сервером ASR по протоколу MRCPv2. Может иметь технические ограничения горизонтальной масштабируемости из-за односерверного исполнения.
 
{| class="wikitable"
По умолчанию: <code>Русский</code>
|+Table 1. Системные характеристики
|Параметр сервиса TTS Yandex Cloud SpeechKit: язык синтеза.
!
!
|-
|Индекс
|<code>221</code>
|-
|Краткое название
|<code>asr</code>
|-
|Типы сценариев
|<code>IVR</code>
|-
|Стартовый модуль
|<code>r_sip_ivr_script_component_asr</code>
|-
|Режим
|Асинхронный
|-
|Состояние
|Реализация отложена
|}


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


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


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


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


По умолчанию: <code>Alyss (ж)</code>
Настройка токенов производится в разделе настройки домена, поле 'yandex_cloud'.
|Параметр сервиса TTS Yandex Cloud SpeechKit: голос синтезируемой речи.
 
Позволяет воспроизводить результат, а также просто записывать его в аудио-файл.


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


* <code>Alyss (ж)</code> (<code>0</code>)
Скорость синтеза речи ориентировочно в 10 раз быстрее реального времени ее воспроизведения.
* <code>Jane (ж)</code> (<code>1</code>)
{| class="wikitable"
* <code>Oksana (ж)</code> (<code>2</code>)
|+Table 1. Системные характеристики
* <code>Omazh (ж)</code> (<code>3</code>)
!
* <code>Zahar (м)</code> (<code>4</code>)
!
* <code>Ermil (м)</code> (<code>5</code>)
|-
* <code>Alena (ж)</code> (<code>6</code>)
|Индекс
* <code>Filipp (м)</code> (<code>7</code>)
|<code>222</code>
* <code>Другой</code> (<code>other</code>, <code>100</code>) – Указание произвольного голоса через аргумент.
|-
|-
|Название: <code>Другой голос</code>
|Краткое название
 
|<code>tts_yandex</code>
Код: <code>voiceOther</code>
 
Усл. видимости: <code>нет</code>
 
По умолчанию: — 
|Аргумент, содержащий название голоса для сервиса TTS Yandex Cloud SpeechKit. Поддерживаемые голоса
|-
|-
|Название: <code>Эмоция</code>
|Типы сценариев
 
|<code>IVR</code>
Код: <code>emotion</code>
|-
 
|Стартовый модуль
Усл. видимости: <code>нет</code>
|<code>r_sip_ivr_script_component_tts_yandex</code>
 
|-
По умолчанию: <code>Good</code>
|Режим
|Параметр сервиса TTS Yandex Cloud SpeechKit: эмоциональный эффект синтезируемой речи, амплуа.
|Асинхронный
 
|-
Возможные варианты:
|Иконка
 
|
* <code>Good</code> (<code>0</code>)
|-
* <code>Evil</code> (<code>1</code>)
|Характер разветвления
* <code>Neutral</code> (<code>2</code>)
|Разветвляющий, прерывающий
|}
'''Свойства'''
{| class="wikitable"
|+Table 2. Свойства
!Спецификация
!Описание
|-
|-
|Название: <code>Темп речи (0.1 – 3.0)</code>
|Название: <code>Аккаунт Яндекс</code>


Код: <code>speed</code>
Код: <code>accountKey</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>1.0</code>
По умолчанию: <code>default</code>
|Параметр сервиса TTS Yandex Cloud SpeechKit: темп синтезируемой речи.
|Указание на аккаунт Яндекса, опции которого берутся для подключения к яндексу.
 
В список попадает значение 'default', устанавливающее к использованию корневые поля 'speech' и 'storage' в объекте 'settings.yandex_cloud'.


Дробное значение от <code>0.1</code> до <code>3.0</code> с размерностью <code>0.1</code>
Дополнительно в список попадают ключи объекта 'settings.yandex_cloud.accounts', за каждым из которых также находится объект с отдельно настроенными параметрами доступа.
|-
|-
|Название: <code>Прерывать по DTMF</code>
|Название: <code>Режим</code>


Код: <code>checkDTMF</code>
Код: <code>mode</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>Нет</code>
По умолчанию: <code>Воспроизведение</code>
|Выключатель детектора DTMF. Открывает настройки режимов сохранения символов и прерывания операции.
|Режим работы компонента после получения ответа от сервиса TTS Yandex Cloud SpeechKit.
 
Возможные варианты:
 
* <code>Воспроизведение</code> (<code>play</code>, <code>0</code>) – Воспроизведение синтезированной речи абоненту с последующим удалением файла.
* <code>Генерация файла</code> (<code>file</code>, <code>1</code>) – Сохранение аудио-файла в локальный временный каталог и возврат пути к файлу в переменную.
|-
|-
|Название: <code>Буфер для DTMF</code>
|Название: <code>Текст</code>


Код: <code>dtmfBuffer</code>
Код: <code>text</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Переменная для сохранения получаемых DTMF-символов.
|Текст, подлежащий синтезу и последующему воспроизведению. Ограничение на длину строки: 5000 символов.
|-
|-
|Название: <code>Очистить буфер DTMF</code>
|Название: <code>Язык</code>
 
Код: <code>lang</code>
 
Усл. видимости: <code>нет</code>


Код: <code>clearDtmfBuffer</code>
По умолчанию: <code>Русский</code>
|Параметр сервиса TTS Yandex Cloud SpeechKit: язык синтеза.


Усл. видимости: <code>да</code>
Возможные варианты:


По умолчанию: <code>Да</code>
* <code>ru-RU</code> (<code>0</code>) – Русский
|Выключатель предварительной очистки буфера DTMF.
* <code>en-US</code> (<code>1</code>) – Английский
* <code>de-DE</code> (<code>2</code>) – Немецкий
* <code>he-IL</code> (<code>6</code>) – Иврит
* <code>kk-KZ</code> (<code>8</code>) – Казахский
* <code>uz-UZ</code> (<code>15</code>) – Узбекский
|-
|-
|Название: <code>Количество символов</code>
|Название: <code>Голос</code>


Код: <code>maxSymbolCount</code>
Код: <code>voice</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: <code>Alyss (ж)</code>
|Аргумент, содержащий ограничение на количество вводимых символов.
|Параметр сервиса TTS Yandex Cloud SpeechKit: голос синтезируемой речи.


После получения во время исполнения компонента указанного количества символов DTMF завершается операции воспроизведения.
Возможные варианты:
|-
|Название: <code>Символы прерывания</code>


Код: <code>interruptSymbols</code>
* <code>Alyss (ж)</code> (<code>0</code>)
 
* <code>Jane (ж)</code> (<code>1</code>)
Усл. видимости: <code>да</code>
* <code>Oksana (ж)</code> (<code>2</code>)
 
* <code>Omazh (ж)</code> (<code>3</code>)
По умолчанию: — 
* <code>Zahar (м)</code> (<code>4</code>)
|Строка, содержащая последовательности символов прерывания через запятую.
* <code>Ermil (м)</code> (<code>5</code>)
 
* <code>Alena (ж)</code> (<code>6</code>)
После обнаружения на конце буфера DTMF последовательности символов, совпадающей с одной из указанных последовательностей прерывания, завершается операция воспроизведения.
* <code>Filipp (м)</code> (<code>7</code>)
 
* <code>Другой</code> (<code>other</code>, <code>100</code>) – Указание произвольного голоса через аргумент.
Например, <code>*, 7, 123, 9395</code>.
|-
|-
|Название: <code>Таймаут ожидания ответа, с</code>
|Название: <code>Другой голос</code>


Код: <code>responseTimeoutSec</code>
Код: <code>voiceOther</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Таймаут ожидания ответа от сервиса TTS Yandex Cloud SpeechKit после отправки ему запроса.
|Аргумент, содержащий название голоса для сервиса TTS Yandex Cloud SpeechKit. Поддерживаемые голоса
 
По истечении таймаута управление передается следующему компоненту по ветке <code>Время</code>.
|-
|-
|Название: <code>Код ответа в переменную</code>
|Название: <code>Эмоция</code>


Код: <code>varHttpCode</code>
Код: <code>emotion</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: <code>Good</code>
|Переменная для сохранения кода HTTP-ответа сервиса распознавания.
|Параметр сервиса TTS Yandex Cloud SpeechKit: эмоциональный эффект синтезируемой речи, амплуа.
 
Возможные варианты:
 
* <code>Good</code> (<code>0</code>)
* <code>Evil</code> (<code>1</code>)
* <code>Neutral</code> (<code>2</code>)
|-
|-
|Название: <code>Путь к файлу в переменную</code>
|Название: <code>Темп речи (0.1 – 3.0)</code>


Код: <code>varFile</code>
Код: <code>speed</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: <code>1.0</code>
|Переменная для сохранения пути к аудио-файлу с синтезированной речью в локальном временном каталоге.
|Параметр сервиса TTS Yandex Cloud SpeechKit: темп синтезируемой речи.


Для длительного сохранения файла требуется дальнейшее перемещение файла сценарием в место стационарного хранения.
Дробное значение от <code>0.1</code> до <code>3.0</code> с размерностью <code>0.1</code>
|-
|-
|Название: <code>Переход</code>
|Название: <code>Прерывать по DTMF</code>


Код: <code>transfer</code>
Код: <code>checkDTMF</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: <code>Нет</code>
|Компонент, которому передается управление в случае успешного завершения операции.
|Выключатель детектора DTMF. Открывает настройки режимов сохранения символов и прерывания операции.
|-
|-
|Название: <code>Переход, время</code>
|Название: <code>Буфер для DTMF</code>


Код: <code>transferTimeout</code>
Код: <code>dtmfBuffer</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление в случае истечения времени ожидания HTTP-ответа от сервиса.
|Переменная для сохранения получаемых DTMF-символов.
|-
|-
|Название: <code>Переход, ошибка</code>
|Название: <code>Очистить буфер DTMF</code>


Код: <code>transferError</code>
Код: <code>clearDtmfBuffer</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>
 
По умолчанию: <code>Да</code>
|Выключатель предварительной очистки буфера DTMF.
|-
|Название: <code>Количество символов</code>
 
Код: <code>maxSymbolCount</code>
 
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление в случае возникновения ошибки.
|Аргумент, содержащий ограничение на количество вводимых символов.
|}
 
После получения во время исполнения компонента указанного количества символов DTMF завершается операции воспроизведения.
|-
|Название: <code>Символы прерывания</code>


Код: <code>interruptSymbols</code>


=== Компонент Распознавание речи (Yandex Cloud SpeechKit) ===
Усл. видимости: <code>да</code>
Осуществляет распознавание речи абонента в текстовый вид.
Сервис предоставляется облаком Yandex Cloud SpeechKit по протоколу HTTP. Не имеет технических ограничений по производительности.


Порядок регистрации учетной записи Yandex-облака и стоимость сервиса см. на Яндексе.
По умолчанию: — 
|Строка, содержащая последовательности символов прерывания через запятую.


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


Позволяет прерывать по тишине после произнесенной фразы.
Например, <code>*, 7, 123, 9395</code>.
{| class="wikitable"
|+Table 1. Системные характеристики
!
!
|-
|-
|Индекс
|Название: <code>Таймаут ожидания ответа, с</code>
|<code>223</code>
 
|-
Код: <code>responseTimeoutSec</code>
|Краткое название
 
|<code>asr_yandex</code>
Усл. видимости: <code>нет</code>
|-
 
|Типы сценариев
По умолчанию: — 
|<code>IVR</code>
|Таймаут ожидания ответа от сервиса TTS Yandex Cloud SpeechKit после отправки ему запроса.
|-
|Стартовый модуль
|<code>r_sip_ivr_script_component_asr_yandex</code>
|-
|Режим
|Асинхронный
|-
|Иконка
|
|-
|Характер разветвления
|Разветвляющий, прерывающий
|}


==== Свойства ====
По истечении таймаута управление передается следующему компоненту по ветке <code>Время</code>.
{| class="wikitable"
|+Table 2. Свойства
!Спецификация
!Описание
|-
|-
|Название: <code>Аккаунт Яндекс</code>
|Название: <code>Код ответа в переменную</code>


Код: <code>accountKey</code>
Код: <code>varHttpCode</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>default</code>
По умолчанию: — 
|Указание на аккаунт Яндекса, опции которого берутся для подключения к яндексу.
|Переменная для сохранения кода HTTP-ответа сервиса распознавания.
|-
|Название: <code>Путь к файлу в переменную</code>


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


Дополнительно в список попадают ключи объекта 'settings.yandex_cloud.accounts', за каждым из которых также находится объект с отдельно настроенными параметрами доступа.
Усл. видимости: <code>да</code>
|-
|Название: <code>Тема</code>


Код: <code>topic</code>
По умолчанию: — 
|Переменная для сохранения пути к аудио-файлу с синтезированной речью в локальном временном каталоге.


Усл. видимости: <code>нет</code>
Для длительного сохранения файла требуется дальнейшее перемещение файла сценарием в место стационарного хранения.
|-
|Название: <code>Переход</code>


По умолчанию: <code>general</code>
Код: <code>transfer</code>
|Параметр сервиса распознавания Yandex Cloud SpeechKit: тема распознавания.


Возможные варианты:
Усл. видимости: <code>нет</code>


* <code>general</code> (<code>0</code>)
По умолчанию: — 
* <code>maps</code> (<code>1</code>)
|Компонент, которому передается управление в случае успешного завершения операции.
* <code>dates</code> (<code>2</code>)
* <code>names</code> (<code>3</code>)
* <code>numbers</code> (<code>4</code>)
* <code>Другая</code> (<code>custom</code>, <code>100</code>) – Указание произвольной темы через аргумент.
|-
|-
|Название: <code>Пользовательская тема</code>
|Название: <code>Переход, время</code>


Код: <code>topicCustom</code>
Код: <code>transferTimeout</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Аргумент, содержащий пользовательскую тему для сервиса распознавания Yandex Cloud SpeechKit.
|Компонент, которому передается управление в случае истечения времени ожидания HTTP-ответа от сервиса.
|-
|-
|Название: <code>Язык</code>
|Название: <code>Переход, ошибка</code>


Код: <code>lang</code>
Код: <code>transferError</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>Русский</code>
По умолчанию: — 
|Параметр сервиса распознавания Yandex Cloud SpeechKit: язык распознавания.
|Компонент, которому передается управление в случае возникновения ошибки.
|}
 


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


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


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


Усл. видимости: <code>нет</code>
Настройка токенов производится в разделе настройки домена, поле 'yandex_cloud'..


По умолчанию: <code>Выключить</code>
Позволяет прерывать по тишине после произнесенной фразы.
|Параметр сервиса распознавания Yandex Cloud SpeechKit: выключатель фильтра ненормативной лексики.
{| class="wikitable"
|+Table 1. Системные характеристики
!
!
|-
|-
|Название: <code>Таймаут записи, с</code>
|Индекс
 
|<code>223</code>
Код: <code>recordTimeoutSec</code>
 
Усл. видимости: <code>нет</code>
 
По умолчанию: <code>30</code>
|Максимально допустимое время записи с момента завершения предварительного воспроизведения, в секундах.
|-
|-
|Название: <code>Прерывать по DTMF</code>
|Краткое название
|<code>asr_yandex</code>
|-
|Типы сценариев
|<code>IVR</code>
|-
|Стартовый модуль
|<code>r_sip_ivr_script_component_asr_yandex</code>
|-
|Режим
|Асинхронный
|-
|Иконка
|
|-
|Характер разветвления
|Разветвляющий, прерывающий
|}
'''Свойства'''
{| class="wikitable"
|+Table 2. Свойства
!Спецификация
!Описание
|-
|Название: <code>Аккаунт Яндекс</code>


Код: <code>checkDTMF</code>
Код: <code>accountKey</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>нет</code>
По умолчанию: <code>default</code>
|Выключатель детектора DTMF. Открывает настройки режимов сохранения символов и прерывания операции.
|Указание на аккаунт Яндекса, опции которого берутся для подключения к яндексу.
 
В список попадает значение 'default', устанавливающее к использованию корневые поля 'speech' и 'storage' в объекте 'settings.yandex_cloud'.
 
Дополнительно в список попадают ключи объекта 'settings.yandex_cloud.accounts', за каждым из которых также находится объект с отдельно настроенными параметрами доступа.
|-
|-
|Название: <code>Буфер для DTMF</code>
|Название: <code>Тема</code>


Код: <code>dtmfBuffer</code>
Код: <code>topic</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: <code>general</code>
|Переменная для сохранения получаемых DTMF-символов.
|Параметр сервиса распознавания Yandex Cloud SpeechKit: тема распознавания.
|-
|Название: <code>Очистить буфер DTMF</code>


Код: <code>clearDtmfBuffer</code>
Возможные варианты:


Усл. видимости: <code>да</code>
* <code>general</code> (<code>0</code>)
 
* <code>maps</code> (<code>1</code>)
По умолчанию: <code>Да</code>
* <code>dates</code> (<code>2</code>)
|Выключатель предварительной очистки буфера DTMF.
* <code>names</code> (<code>3</code>)
* <code>numbers</code> (<code>4</code>)
* <code>Другая</code> (<code>custom</code>, <code>100</code>) – Указание произвольной темы через аргумент.
|-
|-
|Название: <code>Количество символов</code>
|Название: <code>Пользовательская тема</code>


Код: <code>maxSymbolCount</code>
Код: <code>topicCustom</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: — 
|Аргумент, содержащий ограничение на количество вводимых символов.
|Аргумент, содержащий пользовательскую тему для сервиса распознавания Yandex Cloud SpeechKit.
 
После получения во время исполнения компонента указанного количества символов DTMF производится автоматическое завершение записи и отправка последней порции голосовых данных сервису распознавания.
|-
|-
|Название: <code>Символы прерывания</code>
|Название: <code>Язык</code>


Код: <code>interruptSymbols</code>
Код: <code>lang</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: <code>Русский</code>
|Строка, содержащая последовательности символов прерывания через запятую.
|Параметр сервиса распознавания Yandex Cloud SpeechKit: язык распознавания.


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


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


Код: <code>abortOnSilence</code>
Код: <code>profanityFilter</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>Да</code>
По умолчанию: <code>Выключить</code>
|Выключатель детектора голоса (VAD) для автоматического завершения записи и отправки последней порции голосовых данных сервису распознавания.
|Параметр сервиса распознавания Yandex Cloud SpeechKit: выключатель фильтра ненормативной лексики.
 
Критерием для остановки является наличие голоса в течение не менее чем 300 мс и последующее его отсутствие в течение указанного интервала.
|-
|-
|Название: <code>Интервал тишины, с</code>
|Название: <code>Таймаут записи, с</code>


Код: <code>silenceTimeoutSec</code>
Код: <code>recordTimeoutSec</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>2</code>
По умолчанию: <code>30</code>
|Аргумент, содержащий время таймаута при обнаружении тишины в секундах. При появлении голоса выше порога чувствительности в течение указанного таймаута, таймер сбрасывается вплоть до обнаружения тишины снова.
|Максимально допустимое время записи с момента завершения предварительного воспроизведения, в секундах.
|-
|Название: <code>Прерывать по DTMF</code>


В большинстве случаев 2 секунды - комфортный интервал.
Код: <code>checkDTMF</code>


Может указываться в формате десятичной дроби, например, '1.6'.
Усл. видимости: <code>нет</code>
 
По умолчанию: <code>нет</code>
|Выключатель детектора DTMF. Открывает настройки режимов сохранения символов и прерывания операции.
|-
|-
|Название: <code>Порог VAD, -дБ</code>
|Название: <code>Буфер для DTMF</code>


Код: <code>vadThreshold</code>
Код: <code>dtmfBuffer</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>30</code>
По умолчанию: — 
|Аргумент, устанавливающий порог VAD. Параметр VAD-детектора.
|Переменная для сохранения получаемых DTMF-символов.
|-
|Название: <code>Очистить буфер DTMF</code>


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


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


Таким образом, детектор имеет два состояния: голос и тишина. При переходе между состояниями генерируется событие о переходе в другое состояние. Изначально детектор находится в состоянии тишины.
По умолчанию: <code>Да</code>
|Выключатель предварительной очистки буфера DTMF.
|-
|Название: <code>Количество символов</code>


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


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


При значении 30 детектор лучше определяет тишину, при значении 40 детектор лучше определяет появление голоса.
По умолчанию: — 
|Аргумент, содержащий ограничение на количество вводимых символов.


Выход из компонента происходит по истечении таймаута, указанного в поле <code>Интервал тишины, с</code>, отсчитывая с начала отрезка тишины, обнаруженного детектором из состояния голоса.
После получения во время исполнения компонента указанного количества символов DTMF производится автоматическое завершение записи и отправка последней порции голосовых данных сервису распознавания.
|-
|-
|Название: <code>Голос, мин. длительность, мс</code>
|Название: <code>Символы прерывания</code>


Код: <code>vadVoiceMinMs</code>
Код: <code>interruptSymbols</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>120</code>
По умолчанию: — 
|Аргумент, устанавливающий минимальную пороговую длительность VAD для генерации сигнала VAD UP.
|Строка, содержащая последовательности символов прерывания через запятую.


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


Для генерации сигнала необходимо несколько фреймов по 20 мс подряд со средним уровнем выше установленного порога VAD.
Например, <code>*, 7, 123, 9395</code>.
 
Через указанное значение определяется количество фреймов.
|-
|-
|Название: <code>Голос, допустимое отклонение, %</code>
|Название: <code>Прерывать при обнаружении тишины</code>


Код: <code>vadVoiceTol</code>
Код: <code>abortOnSilence</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>20</code>
По умолчанию: <code>Да</code>
|Аргумент, устанавливающий допустимое отклонение в последовательности голосовых фреймов.
|Выключатель детектора голоса (VAD) для автоматического завершения записи и отправки последней порции голосовых данных сервису распознавания.


Параметр VAD-детектора.
Критерием для остановки является наличие голоса в течение не менее чем 300 мс и последующее его отсутствие в течение указанного интервала.
 
Например минимальная длительность задана 210 (мс), отклонение 20 (%). Таким образом для сигнализации о наличии голоса будет требоваться последовательность из 11 фреймов, 9 из которых должны быть голосовыми.
 
Значение 0 означает что все 11 фреймов подряд должны быть голосовыми (иметь средний уровень выше порога VAD).
|-
|-
|Название: <code>Тишина, мин. длительность, мс</code>
|Название: <code>Интервал тишины, с</code>


Код: <code>vadSilenceMinMs</code>
Код: <code>silenceTimeoutSec</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>500</code>
По умолчанию: <code>2</code>
|Аргумент, устанавливающий минимальную пороговую длительность фреймов с тишиной для генерации сигнала VAD DOWN.
|Аргумент, содержащий время таймаута при обнаружении тишины в секундах. При появлении голоса выше порога чувствительности в течение указанного таймаута, таймер сбрасывается вплоть до обнаружения тишины снова.


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


Для генерации сигнала необходимо несколько фреймов по 20 мс подряд со средним уровнем ниже установленного порога VAD.
Может указываться в формате десятичной дроби, например, '1.6'.
 
Через указанное значение определяется количество фреймов.
|-
|-
|Название: <code>Тишина, допустимое отклонение, %</code>
|Название: <code>Порог VAD, -дБ</code>


Код: <code>vadSilenceTol</code>
Код: <code>vadThreshold</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>10</code>
По умолчанию: <code>30</code>
|Аргумент, устанавливающий допустимое отклонение в последовательности голосовых фреймов.
|Аргумент, устанавливающий порог VAD. Параметр VAD-детектора.


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


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


Значение 0 означает что все 11 фреймов подряд должны быть тишиной (иметь средний уровень ниже порога VAD).
Таким образом, детектор имеет два состояния: голос и тишина. При переходе между состояниями генерируется событие о переходе в другое состояние. Изначально детектор находится в состоянии тишины.
|-
|Название: <code>Таймаут ожидания ответа, с</code>


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


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


По умолчанию: <code>5</code>
При значении 30 детектор лучше определяет тишину, при значении 40 детектор лучше определяет появление голоса.
|Таймаут ожидания ответа от сервиса распознавания Yandex Cloud SpeechKit после отправки ему последней порции голосовых данных.


По истечении таймаута управление передается следующему компоненту по ветке <code>Время</code>.
Выход из компонента происходит по истечении таймаута, указанного в поле <code>Интервал тишины, с</code>, отсчитывая с начала отрезка тишины, обнаруженного детектором из состояния голоса.
|-
|-
|Название: <code>Результат в переменную</code>
|Название: <code>Голос, мин. длительность, мс</code>


Код: <code>varText</code>
Код: <code>vadVoiceMinMs</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: <code>120</code>
|Переменная для сохранения текстового результата распознавания.
|Аргумент, устанавливающий минимальную пороговую длительность VAD для генерации сигнала VAD UP.
|-
|Название: <code>Код ответа в переменную</code>


Код: <code>varHttpCode</code>
Параметр VAD-детектора.


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


По умолчанию: — 
Через указанное значение определяется количество фреймов.
|Переменная для сохранения кода HTTP-ответа сервиса распознавания.
|-
|-
|Название: <code>Тело ответа в переменную</code>
|Название: <code>Голос, допустимое отклонение, %</code>


Код: <code>varHttpBody</code>
Код: <code>vadVoiceTol</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: <code>20</code>
|Переменная для сохранения полного содержания HTTP-ответа сервиса распознавания.
|Аргумент, устанавливающий допустимое отклонение в последовательности голосовых фреймов.
|-
|Название: <code>Сохранить файл записи</code>


Код: <code>saveRec</code>
Параметр VAD-детектора.


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


По умолчанию: <code>Нет</code>
Значение 0 означает что все 11 фреймов подряд должны быть голосовыми (иметь средний уровень выше порога VAD).
|Выключатель сохранения файла записи, отправленного сервису распознавания.
|-
|-
|Название: <code>Путь к файлу в переменную</code>
|Название: <code>Тишина, мин. длительность, мс</code>


Код: <code>varRecordPath</code>
Код: <code>vadSilenceMinMs</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: <code>500</code>
|Переменная для сохранения пути к файлу записи.
|Аргумент, устанавливающий минимальную пороговую длительность фреймов с тишиной для генерации сигнала VAD DOWN.


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


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


Запись осуществляется на сервере с ролью mg, обслуживающим текущий звонок, а затем переносится на сервер с ролью ivr, обслуживающей текущий сценарий. Перенос всегда происходит внутри сайта.
Через указанное значение определяется количество фреймов.
|-
|-
|Название: <code>Предварительное воспроизведение</code>
|Название: <code>Тишина, допустимое отклонение, %</code>


Код: <code>prePlayFile</code>
Код: <code>vadSilenceTol</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: <code>10</code>
|Звуковой файл предварительного воспроизведения абоненту, во время которого также активирован голосовой детектор.
|Аргумент, устанавливающий допустимое отклонение в последовательности голосовых фреймов.


При отсутствии голоса от абонента (с учетом шумового порога VAD-детектора), отправка данных на сервис распознавания не производится.
Параметр VAD-детектора.


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


* статический файл, приложенный к сценарию (загружается из приложения Редактор сценариев или через API);
Значение 0 означает что все 11 фреймов подряд должны быть тишиной (иметь средний уровень ниже порога VAD).
* сформированный аргументами путь, который должен включать одну из файловых категорий.
|-
|-
|Название: <code>Переход</code>
|Название: <code>Таймаут ожидания ответа, с</code>


Код: <code>transfer</code>
Код: <code>responseTimeoutSec</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: <code>5</code>
|Компонент, которому передается упраление в случае успешного завершения операции.
|Таймаут ожидания ответа от сервиса распознавания Yandex Cloud SpeechKit после отправки ему последней порции голосовых данных.
 
По истечении таймаута управление передается следующему компоненту по ветке <code>Время</code>.
|-
|-
|Название: <code>Переход, время</code>
|Название: <code>Результат в переменную</code>


Код: <code>transferTimeout</code>
Код: <code>varText</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление в случае истечения времени ожидания HTTP-ответа от сервиса распознавания.
|Переменная для сохранения текстового результата распознавания.
|-
|-
|Название: <code>Переход, ошибка</code>
|Название: <code>Код ответа в переменную</code>


Код: <code>transferError</code>
Код: <code>varHttpCode</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление в случае возникновения ошибки.
|Переменная для сохранения кода HTTP-ответа сервиса распознавания.
|}
|-
|Название: <code>Тело ответа в переменную</code>


Код: <code>varHttpBody</code>


=== Компонент Синтез речи (Sber SaluteSpeech) ===
Усл. видимости: <code>нет</code>
Осуществляет синтез речи по тексту и воспроизведение текущему абоненту.
Используется on-premise сервис Sber SaluteSpeech, канал GRPC. +


Настройка точек подключения в разделе настройки домена, поле 'sber_salute'.
По умолчанию: — 
|Переменная для сохранения полного содержания HTTP-ответа сервиса распознавания.
|-
|Название: <code>Сохранить файл записи</code>


Позволяет воспроизводить результат, а также просто записывать его в аудио-файл.
Код: <code>saveRec</code>


<nowiki>:</nowiki>description1: В режиме воспроизведения речь начинает воспроизводиться при появлении в буфере данных длительностью на 1.5 секунды.
Усл. видимости: <code>нет</code>


В зависимости от того, настроено ли на сервисе синтеза кэширование и имеются ли данные для синтезируемого текста, выдача первых полутора секунд может производиться от 300 до 1500 мс.
По умолчанию: <code>Нет</code>
{| class="wikitable"
|Выключатель сохранения файла записи, отправленного сервису распознавания.
|+Table 1. Системные характеристики
!
!
|-
|-
|Индекс
|Название: <code>Путь к файлу в переменную</code>
|<code>226</code>
|-
|Краткое название
|<code>tts_sber</code>
|-
|Типы сценариев
|<code>IVR</code>
|-
|Стартовый модуль
|<code>r_sip_ivr_script_component_tts_sber</code>
|-
|Режим
|Асинхронный
|-
|Иконка
|
|-
|Характер разветвления
|Разветвляющий, прерывающий
|}


==== Свойства ====
Код: <code>varRecordPath</code>
{| class="wikitable"
|+Table 2. Свойства
!Спецификация
!Описание
|-
|Название: <code>Аккаунт Сбер Салют</code>


Код: <code>accountKey</code>
Усл. видимости: <code>да</code>


Усл. видимости: <code>нет</code>
По умолчанию: — 
|Переменная для сохранения пути к файлу записи.


По умолчанию: <code>default</code>
Файл размещается во временном каталоге сценария и будет удален после завершения работы сценария.
|Указание на аккаунт, определяющего точки подключения к сервису Sber SaluteSpeech.


В список попадает значение 'default', устанавливающее к использованию корневые поля 'speech' в объекте 'settings.sber_salute'.
Для длительного сохранения файла требуется дальнейшее перемещение файла сценарием в место стационарного хранения.


Дополнительно в список попадают ключи объекта 'settings.sber_salute.accounts', за каждым из которых также находится объект с отдельно настроенными параметрами доступа.
Запись осуществляется на сервере с ролью mg, обслуживающим текущий звонок, а затем переносится на сервер с ролью ivr, обслуживающей текущий сценарий. Перенос всегда происходит внутри сайта.
|-
|-
|Название: <code>Режим</code>
|Название: <code>Предварительное воспроизведение</code>


Код: <code>mode</code>
Код: <code>prePlayFile</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>Воспроизведение</code>
По умолчанию: — 
|Режим работы компонента после получения ответа от сервиса TTS Sber SaluteSpeech.
|Звуковой файл предварительного воспроизведения абоненту, во время которого также активирован голосовой детектор.
 
При отсутствии голоса от абонента (с учетом шумового порога VAD-детектора), отправка данных на сервис распознавания не производится.


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


* <code>Воспроизведение</code> (<code>play</code>, <code>0</code>) – Воспроизведение синтезированной речи абоненту с последующим удалением файла.
* статический файл, приложенный к сценарию (загружается из приложения Редактор сценариев или через API);
* <code>Генерация файла</code> (<code>file</code>, <code>1</code>) – Сохранение аудио-файла в локальный временный каталог и возврат пути к файлу в переменную.
* сформированный аргументами путь, который должен включать одну из файловых категорий.
|-
|-
|Название: <code>Тип контента</code>
|Название: <code>Переход</code>


Код: <code>contentType</code>
Код: <code>transfer</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>TEXT</code>
По умолчанию: — 
|Параметр сервиса TTS Sber SluteSpeech: формат данных, передаваемых в теле запроса (content_type).
|Компонент, которому передается упраление в случае успешного завершения операции.
|-
|Название: <code>Переход, время</code>


Возможные варианты:
Код: <code>transferTimeout</code>


* <code>TEXT</code> (<code>text</code>, <code>0</code>) – простой текст.
Усл. видимости: <code>нет</code>
* <code>SSML</code> (<code>ssml</code>, <code>1</code>) – SSML-разметка с текстом.
|-
|Название: <code>Текст</code>
 
Код: <code>text</code>
 
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Текст, подлежащий синтезу и последующему воспроизведению, либо SSML-разметка с текстом (необходимо установить тип контента: SSML).
|Компонент, которому передается управление в случае истечения времени ожидания HTTP-ответа от сервиса распознавания.
|-
|-
|Название: <code>Язык</code>
|Название: <code>Переход, ошибка</code>


Код: <code>lang</code>
Код: <code>transferError</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>ru-RU</code>
По умолчанию: — 
|Параметр сервиса TTS Sber SaluteSpeech: язык синтеза.
|Компонент, которому передается управление в случае возникновения ошибки.
|}


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


* <code>ru-RU</code> (<code>0</code>) – Русский язык
* <code>en-US</code> (<code>1</code>) – Английский язык
* <code>kk-KZ</code> (<code>2</code>) – Казахский язык
|-
|Название: <code>Голос</code>


Код: <code>voice</code>
==== Компонент Синтез речи (Sber SaluteSpeech) ====
Осуществляет синтез речи по тексту и воспроизведение текущему абоненту.
Используется on-premise сервис Sber SaluteSpeech, канал GRPC. +


Усл. видимости: <code>нет</code>
Настройка точек подключения в разделе настройки домена, поле 'sber_salute'.


По умолчанию: <code>Alyss (ж)</code>
Позволяет воспроизводить результат, а также просто записывать его в аудио-файл.
|Параметр сервиса TTS Sber SaluteSpeech: голос синтезируемой речи (voice).


Возможные варианты:
<nowiki>:</nowiki>description1: В режиме воспроизведения речь начинает воспроизводиться при появлении в буфере данных длительностью на 1.5 секунды.


* <code>Наталья (ж)</code> (<code>0</code>)
В зависимости от того, настроено ли на сервисе синтеза кэширование и имеются ли данные для синтезируемого текста, выдача первых полутора секунд может производиться от 300 до 1500 мс.
* <code>Борис (м)</code> (<code>1</code>)
{| class="wikitable"
* <code>Марфа (ж)</code> (<code>2</code>)
|+Table 1. Системные характеристики
* <code>Тарас (м)</code> (<code>3</code>)
!
* <code>Александра (ж)</code> (<code>4</code>)
!
* <code>Сергей (м)</code> (<code>5</code>)
|-
* <code>Kira (ж, англ)</code> (<code>5</code>)
|Индекс
* <code>Другой</code> (<code>other</code>, <code>100</code>) – Указание произвольного голоса через аргумент.
|<code>226</code>
|-
|Краткое название
|<code>tts_sber</code>
|-
|Типы сценариев
|<code>IVR</code>
|-
|Стартовый модуль
|<code>r_sip_ivr_script_component_tts_sber</code>
|-
|Режим
|Асинхронный
|-
|Иконка
|
|-
|Характер разветвления
|Разветвляющий, прерывающий
|}
'''Свойства'''
{| class="wikitable"
|+Table 2. Свойства
!Спецификация
!Описание
|-
|-
|Название: <code>Другой голос</code>
|Название: <code>Аккаунт Сбер Салют</code>


Код: <code>voiceOther</code>
Код: <code>accountKey</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: <code>default</code>
|Аргумент, содержащий название голоса для сервиса TTS Sber SaluteSpeech.
|Указание на аккаунт, определяющего точки подключения к сервису Sber SaluteSpeech.
|-
|Название: <code>Кэширование</code>


Код: <code>useCache</code>
В список попадает значение 'default', устанавливающее к использованию корневые поля 'speech' в объекте 'settings.sber_salute'.
 
Дополнительно в список попадают ключи объекта 'settings.sber_salute.accounts', за каждым из которых также находится объект с отдельно настроенными параметрами доступа.
|-
|Название: <code>Режим</code>
 
Код: <code>mode</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>нет</code>
По умолчанию: <code>Воспроизведение</code>
|Режим кэширования результатов синтеза речи.
|Режим работы компонента после получения ответа от сервиса TTS Sber SaluteSpeech.


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


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


Первый раз при остутствии значения файл генерируется с помощью сервиса и сохраняется в папку ':GlobalShare/domains/DOMAIN/cache/sber_tts/…​'.
Код: <code>contentType</code>


В дальнейшем при обнаружении в кэше файла, обращений к сервису TTS Sber SaluteSpeech не происходит, файл копируется из кэша.
Усл. видимости: <code>нет</code>


В уникальном имени файла скрывается отображение параметров синтеза: текст, язык, голос.
По умолчанию: <code>TEXT</code>
 
|Параметр сервиса TTS Sber SluteSpeech: формат данных, передаваемых в теле запроса (content_type).
Файлы из кэша автоматически не удаляются. Необходимо отдельно настраивать процедуру удаления устаревающих данных. Критерием может являться, например, время последнего обращения к файлу.


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


* <code>Выключить</code> (<code>0</code>) – Кэширование не используется. Каждый запрос отправляется на синтез в сервис TTS Sber SaluteSpeech.
* <code>TEXT</code> (<code>text</code>, <code>0</code>) – простой текст.
* <code>Включить</code> (<code>1</code>) – Кэширование используется.
* <code>SSML</code> (<code>ssml</code>, <code>1</code>) – SSML-разметка с текстом.
|-
|-
|Название: <code>Прерывать по DTMF</code>
|Название: <code>Текст</code>


Код: <code>checkDTMF</code>
Код: <code>text</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>Нет</code>
По умолчанию: — 
|Выключатель детектора DTMF. Открывает настройки режимов сохранения символов и прерывания операции.
|Текст, подлежащий синтезу и последующему воспроизведению, либо SSML-разметка с текстом (необходимо установить тип контента: SSML).
|-
|-
|Название: <code>Буфер для DTMF</code>
|Название: <code>Язык</code>


Код: <code>dtmfBuffer</code>
Код: <code>lang</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: <code>ru-RU</code>
|Переменная для сохранения получаемых DTMF-символов.
|Параметр сервиса TTS Sber SaluteSpeech: язык синтеза.
|-
|Название: <code>Очистить буфер DTMF</code>


Код: <code>clearDtmfBuffer</code>
Возможные варианты:


Усл. видимости: <code>да</code>
* <code>ru-RU</code> (<code>0</code>) – Русский язык
 
* <code>en-US</code> (<code>1</code>) – Английский язык
По умолчанию: <code>Да</code>
* <code>kk-KZ</code> (<code>2</code>) – Казахский язык
|Выключатель предварительной очистки буфера DTMF.
|-
|-
|Название: <code>Количество символов</code>
|Название: <code>Голос</code>


Код: <code>maxSymbolCount</code>
Код: <code>voice</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: <code>Alyss (ж)</code>
|Аргумент, содержащий ограничение на количество вводимых символов.
|Параметр сервиса TTS Sber SaluteSpeech: голос синтезируемой речи (voice).


После получения во время исполнения компонента указанного количества символов DTMF завершается операции воспроизведения.
Возможные варианты:
|-
|Название: <code>Символы прерывания</code>


Код: <code>interruptSymbols</code>
* <code>Наталья (ж)</code> (<code>0</code>)
 
* <code>Борис (м)</code> (<code>1</code>)
Усл. видимости: <code>да</code>
* <code>Марфа (ж)</code> (<code>2</code>)
 
* <code>Тарас (м)</code> (<code>3</code>)
По умолчанию: — 
* <code>Александра (ж)</code> (<code>4</code>)
|Строка, содержащая последовательности символов прерывания через запятую.
* <code>Сергей (м)</code> (<code>5</code>)
 
* <code>Kira (ж, англ)</code> (<code>5</code>)
После обнаружения на конце буфера DTMF последовательности символов, совпадающей с одной из указанных последовательностей прерывания, завершается операция воспроизведения.
* <code>Другой</code> (<code>other</code>, <code>100</code>) – Указание произвольного голоса через аргумент.
 
Например, <code>*, 7, 123, 9395</code>.
|-
|-
|Название: <code>Таймаут ожидания ответа, с</code>
|Название: <code>Другой голос</code>


Код: <code>responseTimeoutSec</code>
Код: <code>voiceOther</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Таймаут ожидания ответа от сервиса TTS Sber SaluteSpeech после отправки ему запроса.
|Аргумент, содержащий название голоса для сервиса TTS Sber SaluteSpeech.
 
По истечении таймаута управление передается следующему компоненту по ветке <code>Время</code>.
|-
|-
|Название: <code>Код ответа в переменную</code>
|Название: <code>Кэширование</code>


Код: <code>varHttpCode</code>
Код: <code>useCache</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: <code>нет</code>
|Переменная для сохранения кода HTTP-ответа сервиса распознавания.
|Режим кэширования результатов синтеза речи.
|-
|Название: <code>Путь к файлу в переменную</code>


Код: <code>varFile</code>
Кэширование призвано при частом обращении с одними и теми же заданиями к сервису синтеза ускорить выдачу результата, а также сократить нагрузку на сервис синтеза.


Усл. видимости: <code>да</code>
Если данные синтеза регулярно изменяются, такие операции вредно кэшировать, поскольку придется определять и настраивать процедуру их периодической очистки.


По умолчанию: — 
Первый раз при остутствии значения файл генерируется с помощью сервиса и сохраняется в папку ':GlobalShare/domains/DOMAIN/cache/sber_tts/…​'.
|Переменная для сохранения пути к аудио-файлу с синтезированной речью в локальном временном каталоге.


Для длительного сохранения файла требуется дальнейшее перемещение файла сценарием в место стационарного хранения.
В дальнейшем при обнаружении в кэше файла, обращений к сервису TTS Sber SaluteSpeech не происходит, файл копируется из кэша.
|-
|Название: <code>Переход</code>


Код: <code>transfer</code>
В уникальном имени файла скрывается отображение параметров синтеза: текст, язык, голос.
 
Файлы из кэша автоматически не удаляются. Необходимо отдельно настраивать процедуру удаления устаревающих данных. Критерием может являться, например, время последнего обращения к файлу.


Усл. видимости: <code>нет</code>
Возможные варианты:


По умолчанию: — 
* <code>Выключить</code> (<code>0</code>) – Кэширование не используется. Каждый запрос отправляется на синтез в сервис TTS Sber SaluteSpeech.
|Компонент, которому передается управление в случае успешного завершения операции.
* <code>Включить</code> (<code>1</code>) – Кэширование используется.
|-
|-
|Название: <code>Переход, время</code>
|Название: <code>Прерывать по DTMF</code>


Код: <code>transferTimeout</code>
Код: <code>checkDTMF</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: <code>Нет</code>
|Компонент, которому передается управление в случае истечения времени ожидания HTTP-ответа от сервиса.
|Выключатель детектора DTMF. Открывает настройки режимов сохранения символов и прерывания операции.
|-
|-
|Название: <code>Переход, ошибка</code>
|Название: <code>Буфер для DTMF</code>


Код: <code>transferError</code>
Код: <code>dtmfBuffer</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление в случае возникновения ошибки.
|Переменная для сохранения получаемых DTMF-символов.
|}
|-
|Название: <code>Очистить буфер DTMF</code>


Код: <code>clearDtmfBuffer</code>


=== Компонент Распознавание речи (Sber SaluteSpeech) ===
Усл. видимости: <code>да</code>
Осуществляет распознавание речи абонента в текстовый вид.
Используется on-premise сервис Sber SaluteSpeech, канал GRPC.


Настройка точек подключения производится в разделе настройки домена, поле 'sber_salute'.
По умолчанию: <code>Да</code>
|Выключатель предварительной очистки буфера DTMF.
|-
|Название: <code>Количество символов</code>


Позволяет запускать предварительное воспроизведение файла, прерываемое голосом абонента.
Код: <code>maxSymbolCount</code>


Позволяет прерывать по тишине после произнесенной фразы. Позволяет быстро отсекать одну фразу средствами сервиса распознавания, а также настраивать ожидание нескольких фраз.
Усл. видимости: <code>да</code>
{| class="wikitable"
 
|+Table 1. Системные характеристики
По умолчанию: — 
!
|Аргумент, содержащий ограничение на количество вводимых символов.
!
|-
|Индекс
|<code>223</code>
|-
|Краткое название
|<code>asr_sber</code>
|-
|Типы сценариев
|<code>IVR</code>
|-
|Стартовый модуль
|<code>r_sip_ivr_script_component_asr_sber</code>
|-
|Режим
|Асинхронный
|-
|Иконка
|
|-
|Характер разветвления
|Разветвляющий, прерывающий
|}


==== Свойства ====
После получения во время исполнения компонента указанного количества символов DTMF завершается операции воспроизведения.
{| class="wikitable"
|+Table 2. Свойства
!Спецификация
!Описание
|-
|-
|Название: <code>Аккаунт Сбер Салют</code>
|Название: <code>Символы прерывания</code>


Код: <code>accountKey</code>
Код: <code>interruptSymbols</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>default</code>
По умолчанию: — 
|Указание на аккаунт, определяющего точки подключения к сервису Sber SaluteSpeech.
|Строка, содержащая последовательности символов прерывания через запятую.


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


Дополнительно в список попадают ключи объекта 'settings.sber_salute.accounts', за каждым из которых также находится объект с отдельно настроенными параметрами доступа.
Например, <code>*, 7, 123, 9395</code>.
|-
|-
|Название: <code>Набор грамматик</code>
|Название: <code>Таймаут ожидания ответа, с</code>


Код: <code>model</code>
Код: <code>responseTimeoutSec</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>callcenter</code>
По умолчанию: — 
|Параметр сервиса распознавания Sber SaluteSpeech: название набора грамматик.
|Таймаут ожидания ответа от сервиса TTS Sber SaluteSpeech после отправки ему запроса.
 
По истечении таймаута управление передается следующему компоненту по ветке <code>Время</code>.
|-
|-
|Название: <code>Язык</code>
|Название: <code>Код ответа в переменную</code>


Код: <code>lang</code>
Код: <code>varHttpCode</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>ru-RU</code>
По умолчанию: — 
|Параметр сервиса распознавания Sber SaluteSpeech: язык распознавания.
|Переменная для сохранения кода HTTP-ответа сервиса распознавания.
|-
|Название: <code>Путь к файлу в переменную</code>


Возможные варианты:
Код: <code>varFile</code>


* <code>ru-RU</code> (<code>0</code>) – Русский язык
Усл. видимости: <code>да</code>
* <code>en-US</code> (<code>1</code>) – Английский язык
* <code>kk-KZ</code> (<code>2</code>) – Казахский язык
|-
|Название: <code>Фильтр ненормативной лексики</code>


Код: <code>profanityFilter</code>
По умолчанию: — 
|Переменная для сохранения пути к аудио-файлу с синтезированной речью в локальном временном каталоге.


Усл. видимости: <code>нет</code>
Для длительного сохранения файла требуется дальнейшее перемещение файла сценарием в место стационарного хранения.
 
По умолчанию: <code>Выключить</code>
|Параметр сервиса распознавания Sber SaluteSpeech: выключатель фильтра ненормативной лексики.
|-
|-
|Название: <code>Несколько предложений</code>
|Название: <code>Переход</code>


Код: <code>multiUtterance</code>
Код: <code>transfer</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>Выключить</code>
По умолчанию: — 
|Параметр сервиса распознавания Sber SaluteSpeech: ожидание нескольких предложений.
|Компонент, которому передается управление в случае успешного завершения операции.
|-
|Название: <code>Переход, время</code>


Если выключено, то ответ приходит быстро вместе с обнаружением окончания первого предложения.
Код: <code>transferTimeout</code>
 
Если включено, то собираются и склеиваются все результаты. Окончание распознавания определяется параметрами <nowiki>'Таймаут записи, с' и ''Интервал тишины, с'</nowiki>".
 
"Название: <code>Длина предложения максимальная, с</code>
 
Код: <code>maxSpeechTimeoutSec</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>20</code>
По умолчанию: — 
|Компонент, которому передается управление в случае истечения времени ожидания HTTP-ответа от сервиса.
|-
|-
|Параметр сервиса распознавания Sber SaluteSpeech: максимальная длительность предложения.
|Название: <code>Переход, ошибка</code>
|Название: <code>В кириллицу</code>


Код: <code>forceCyrillic</code>
Код: <code>transferError</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>Выключить</code>
По умолчанию: — 
|-
|Компонент, которому передается управление в случае возникновения ошибки.
|Параметр сервиса распознавания Sber SaluteSpeech: Принудительное преобразование результата в кириллицу.
|}
|Название: <code>Таймаут записи, с</code>
 


Код: <code>recordTimeoutSec</code>


Усл. видимости: <code>нет</code>
==== Компонент Распознавание речи (Sber SaluteSpeech) ====
Осуществляет распознавание речи абонента в текстовый вид.
Используется on-premise сервис Sber SaluteSpeech, канал GRPC.


По умолчанию: <code>30</code>
Настройка точек подключения производится в разделе настройки домена, поле 'sber_salute'.
|-
|Максимально допустимое время записи с момента завершения предварительного воспроизведения, в секундах.
|Название: <code>Прерывать по DTMF</code>


Код: <code>checkDTMF</code>
Позволяет запускать предварительное воспроизведение файла, прерываемое голосом абонента.


Усл. видимости: <code>нет</code>
Позволяет прерывать по тишине после произнесенной фразы. Позволяет быстро отсекать одну фразу средствами сервиса распознавания, а также настраивать ожидание нескольких фраз.
 
{| class="wikitable"
По умолчанию: <code>нет</code>
|+Table 1. Системные характеристики
!
!
|-
|Индекс
|<code>223</code>
|-
|-
|Выключатель детектора DTMF. Открывает настройки режимов сохранения символов и прерывания операции.
|Краткое название
|Название: <code>Буфер для DTMF</code>
|<code>asr_sber</code>
 
Код: <code>dtmfBuffer</code>
 
Усл. видимости: <code>да</code>
 
По умолчанию: — 
|-
|-
|Переменная для сохранения получаемых DTMF-символов.
|Типы сценариев
|Название: <code>Очистить буфер DTMF</code>
|<code>IVR</code>
 
Код: <code>clearDtmfBuffer</code>
 
Усл. видимости: <code>да</code>
 
По умолчанию: <code>Да</code>
|-
|-
|Выключатель предварительной очистки буфера DTMF.
|Стартовый модуль
|Название: <code>Количество символов</code>
|<code>r_sip_ivr_script_component_asr_sber</code>
|-
|Режим
|Асинхронный
|-
|Иконка
|
|-
|Характер разветвления
|Разветвляющий, прерывающий
|}
'''Свойства'''
{| class="wikitable"
|+Table 2. Свойства
!Спецификация
!Описание
|-
|Название: <code>Аккаунт Сбер Салют</code>
 
Код: <code>accountKey</code>


Код: <code>maxSymbolCount</code>
Усл. видимости: <code>нет</code>
 
По умолчанию: <code>default</code>
|Указание на аккаунт, определяющего точки подключения к сервису Sber SaluteSpeech.


Усл. видимости: <code>да</code>
В список попадает значение 'default', устанавливающее к использованию корневые поля 'speech' в объекте 'settings.sber_salute'.


По умолчанию: — 
Дополнительно в список попадают ключи объекта 'settings.sber_salute.accounts', за каждым из которых также находится объект с отдельно настроенными параметрами доступа.
|-
|-
|Аргумент, содержащий ограничение на количество вводимых символов.
|Название: <code>Набор грамматик</code>


После получения во время исполнения компонента указанного количества символов DTMF производится автоматическое завершение записи и отправка последней порции голосовых данных сервису распознавания.
Код: <code>model</code>
|Название: <code>Символы прерывания</code>


Код: <code>interruptSymbols</code>
Усл. видимости: <code>нет</code>


Усл. видимости: <code>да</code>
По умолчанию: <code>callcenter</code>
 
|Параметр сервиса распознавания Sber SaluteSpeech: название набора грамматик.
По умолчанию: — 
|-
|-
|Строка, содержащая последовательности символов прерывания через запятую.
|Название: <code>Язык</code>


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


Например, <code>*, 7, 123, 9395</code>.
Усл. видимости: <code>нет</code>
|Название: <code>Прерывать при обнаружении тишины</code>


Код: <code>abortOnSilence</code>
По умолчанию: <code>ru-RU</code>
|Параметр сервиса распознавания Sber SaluteSpeech: язык распознавания.


Усл. видимости: <code>нет</code>
Возможные варианты:


По умолчанию: <code>Да</code>
* <code>ru-RU</code> (<code>0</code>) – Русский язык
* <code>en-US</code> (<code>1</code>) – Английский язык
* <code>kk-KZ</code> (<code>2</code>) – Казахский язык
|-
|-
|Выключатель детектора голоса (VAD) для автоматического завершения записи и отправки последней порции голосовых данных сервису распознавания.
|Название: <code>Фильтр ненормативной лексики</code>


Критерием для остановки является наличие голоса в течение не менее чем 300 мс и последующее его отсутствие в течение указанного интервала.
Код: <code>profanityFilter</code>
|Название: <code>Интервал тишины, с</code>


Код: <code>silenceTimeoutSec</code>
Усл. видимости: <code>нет</code>


Усл. видимости: <code>да</code>
По умолчанию: <code>Выключить</code>
|Параметр сервиса распознавания Sber SaluteSpeech: выключатель фильтра ненормативной лексики.
|-
|Название: <code>Несколько предложений</code>


По умолчанию: <code>2</code>
Код: <code>multiUtterance</code>
|-
|Аргумент, содержащий время таймаута при обнаружении тишины в секундах. При появлении голоса выше порога чувствительности в течение указанного таймаута, таймер сбрасывается вплоть до обнаружения тишины снова.


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


Может указываться в формате десятичной дроби, например, '1.6'.
По умолчанию: <code>Выключить</code>
|Название: <code>Порог VAD, -дБ</code>
|Параметр сервиса распознавания Sber SaluteSpeech: ожидание нескольких предложений.


Код: <code>vadThreshold</code>
Если выключено, то ответ приходит быстро вместе с обнаружением окончания первого предложения.


Усл. видимости: <code>да</code>
Если включено, то собираются и склеиваются все результаты. Окончание распознавания определяется параметрами <nowiki>'Таймаут записи, с' и ''Интервал тишины, с'</nowiki>".


По умолчанию: <code>30</code>
"Название: <code>Длина предложения максимальная, с</code>
|-
|Аргумент, устанавливающий порог VAD. Параметр VAD-детектора.


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


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


Таким образом, детектор имеет два состояния: голос и тишина. При переходе между состояниями генерируется событие о переходе в другое состояние. Изначально детектор находится в состоянии тишины.
По умолчанию: <code>20</code>
|-
|Параметр сервиса распознавания Sber SaluteSpeech: максимальная длительность предложения.
|Название: <code>В кириллицу</code>


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


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


При значении 30 детектор лучше определяет тишину, при значении 40 детектор лучше определяет появление голоса.
По умолчанию: <code>Выключить</code>
|-
|Параметр сервиса распознавания Sber SaluteSpeech: Принудительное преобразование результата в кириллицу.
|Название: <code>Таймаут записи, с</code>


Выход из компонента происходит по истечении таймаута, указанного в поле <code>Интервал тишины, с</code>, отсчитывая с начала отрезка тишины, обнаруженного детектором из состояния голоса.
Код: <code>recordTimeoutSec</code>
|Название: <code>Голос, мин. длительность, мс</code>


Код: <code>vadVoiceMinMs</code>
Усл. видимости: <code>нет</code>


Усл. видимости: <code>да</code>
По умолчанию: <code>30</code>
 
По умолчанию: <code>120</code>
|-
|-
|Аргумент, устанавливающий минимальную пороговую длительность VAD для генерации сигнала VAD UP.
|Максимально допустимое время записи с момента завершения предварительного воспроизведения, в секундах.
|Название: <code>Прерывать по DTMF</code>


Параметр VAD-детектора.
Код: <code>checkDTMF</code>


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


Через указанное значение определяется количество фреймов.
По умолчанию: <code>нет</code>
|Название: <code>Голос, допустимое отклонение, %</code>
|-
|Выключатель детектора DTMF. Открывает настройки режимов сохранения символов и прерывания операции.
|Название: <code>Буфер для DTMF</code>


Код: <code>vadVoiceTol</code>
Код: <code>dtmfBuffer</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>20</code>
По умолчанию: — 
|-
|-
|Аргумент, устанавливающий допустимое отклонение в последовательности голосовых фреймов.
|Переменная для сохранения получаемых DTMF-символов.
|Название: <code>Очистить буфер DTMF</code>


Параметр VAD-детектора.
Код: <code>clearDtmfBuffer</code>


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


Значение 0 означает что все 11 фреймов подряд должны быть голосовыми (иметь средний уровень выше порога VAD).
По умолчанию: <code>Да</code>
|Название: <code>Тишина, мин. длительность, мс</code>
|-
|Выключатель предварительной очистки буфера DTMF.
|Название: <code>Количество символов</code>


Код: <code>vadSilenceMinMs</code>
Код: <code>maxSymbolCount</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>500</code>
По умолчанию: — 
|-
|-
|Аргумент, устанавливающий минимальную пороговую длительность фреймов с тишиной для генерации сигнала VAD DOWN.
|Аргумент, содержащий ограничение на количество вводимых символов.


Параметр VAD-детектора.
После получения во время исполнения компонента указанного количества символов DTMF производится автоматическое завершение записи и отправка последней порции голосовых данных сервису распознавания.
|Название: <code>Символы прерывания</code>


Для генерации сигнала необходимо несколько фреймов по 20 мс подряд со средним уровнем ниже установленного порога VAD.
Код: <code>interruptSymbols</code>
 
Через указанное значение определяется количество фреймов.
|Название: <code>Тишина, допустимое отклонение, %</code>
 
Код: <code>vadSilenceTol</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: <code>10</code>
По умолчанию: — 
|-
|-
|Аргумент, устанавливающий допустимое отклонение в последовательности голосовых фреймов.
|Строка, содержащая последовательности символов прерывания через запятую.


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


Например минимальная длительность задана 210 мс, отклонение 20%. Таким образом для сигнализации о наличии голоса будет требоваться последовательность из 11 фреймов, 9 из которых должны быть голосовыми.
Например, <code>*, 7, 123, 9395</code>.
|Название: <code>Прерывать при обнаружении тишины</code>


Значение 0 означает что все 11 фреймов подряд должны быть тишиной (иметь средний уровень ниже порога VAD).
Код: <code>abortOnSilence</code>
|Название: <code>Таймаут ожидания ответа, с</code>
 
Код: <code>responseTimeoutSec</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>5</code>
По умолчанию: <code>Да</code>
|-
|-
|Таймаут ожидания ответа от сервиса распознавания Sber SaluteSpeech после отправки ему последней порции голосовых данных.
|Выключатель детектора голоса (VAD) для автоматического завершения записи и отправки последней порции голосовых данных сервису распознавания.


По истечении таймаута управление передается следующему компоненту по ветке <code>Время</code>.
Критерием для остановки является наличие голоса в течение не менее чем 300 мс и последующее его отсутствие в течение указанного интервала.
|Название: <code>Результат в переменную</code>
|Название: <code>Интервал тишины, с</code>


Код: <code>varText</code>
Код: <code>silenceTimeoutSec</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: <code>2</code>
|-
|-
|Переменная для сохранения текстового результата распознавания.
|Аргумент, содержащий время таймаута при обнаружении тишины в секундах. При появлении голоса выше порога чувствительности в течение указанного таймаута, таймер сбрасывается вплоть до обнаружения тишины снова.
|Название: <code>Нормализованный результат в переменную</code>


Код: <code>varNormText</code>
В большинстве случаев 2 секунды - комфортный интервал.


Усл. видимости: <code>нет</code>
Может указываться в формате десятичной дроби, например, '1.6'.
|Название: <code>Порог VAD, -дБ</code>


По умолчанию: — 
Код: <code>vadThreshold</code>
|-
|Переменная для сохранения нормализованного текстового результата распознавания.
|Название: <code>Код ответа в переменную</code>


Код: <code>varCode</code>
Усл. видимости: <code>да</code>


Усл. видимости: <code>нет</code>
По умолчанию: <code>30</code>
|-
|Аргумент, устанавливающий порог VAD. Параметр VAD-детектора.


По умолчанию: — 
Указанное значение применяется с отрицательным знаком (в децибеллах) для определения порога отсечения тишины относительно возможного максимума.
|-
|Переменная для сохранения кода ответа сервиса распознавания (код эмулируется по аналогии с HTTP: 200, 408, 500).
|Название: <code>Тело ответа в переменную</code>


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


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


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


Если одно высказывание - объект, если несколько высказываний - массив объектов.
Генерация сигнала обнаружения тишины происходит в состоянии голоса тогда, после того, как несколько фреймов подряд признаны тишиной (параметр 'Порог тишины, мс').
|Название: <code>Сохранить файл записи</code>


Код: <code>saveRec</code>
При значении 30 детектор лучше определяет тишину, при значении 40 детектор лучше определяет появление голоса.


Усл. видимости: <code>нет</code>
Выход из компонента происходит по истечении таймаута, указанного в поле <code>Интервал тишины, с</code>, отсчитывая с начала отрезка тишины, обнаруженного детектором из состояния голоса.
|Название: <code>Голос, мин. длительность, мс</code>


По умолчанию: <code>Нет</code>
Код: <code>vadVoiceMinMs</code>
|-
|Выключатель сохранения файла записи, отправленного сервису распознавания.
|Название: <code>Путь к файлу в переменную</code>
 
Код: <code>varRecordPath</code>


Усл. видимости: <code>да</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: <code>120</code>
|-
|-
|Переменная для сохранения пути к файлу записи.
|Аргумент, устанавливающий минимальную пороговую длительность VAD для генерации сигнала VAD UP.


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


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


Запись осуществляется на сервере с ролью mg, обслуживающим текущий звонок, а затем переносится на сервер с ролью ivr, обслуживающей текущий сценарий. Перенос всегда происходит внутри сайта.
Через указанное значение определяется количество фреймов.
|Название: <code>Предварительное воспроизведение</code>
|Название: <code>Голос, допустимое отклонение, %</code>


Код: <code>prePlayFile</code>
Код: <code>vadVoiceTol</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: <code>20</code>
|-
|-
|Звуковой файл предварительного воспроизведения абоненту, во время которого также активирован голосовой детектор.
|Аргумент, устанавливающий допустимое отклонение в последовательности голосовых фреймов.


При отсутствии голоса от абонента (с учетом шумового порога VAD-детектора), отправка данных на сервис распознавания не производится.
Параметр VAD-детектора.


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


* статический файл, приложенный к сценарию (загружается из приложения Редактор сценариев или через API);
Значение 0 означает что все 11 фреймов подряд должны быть голосовыми (иметь средний уровень выше порога VAD).
* сформированный аргументами путь, который должен включать одну из файловых категорий.
|Название: <code>Тишина, мин. длительность, мс</code>
|Название: <code>Переход</code>


Код: <code>transfer</code>
Код: <code>vadSilenceMinMs</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: <code>500</code>
|-
|-
|Компонент, которому передается упраление в случае успешного завершения операции.
|Аргумент, устанавливающий минимальную пороговую длительность фреймов с тишиной для генерации сигнала VAD DOWN.
|Название: <code>Переход, время</code>


Код: <code>transferTimeout</code>
Параметр VAD-детектора.


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


По умолчанию: — 
Через указанное значение определяется количество фреймов.
|-
|Название: <code>Тишина, допустимое отклонение, %</code>
|Компонент, которому передается управление в случае истечения времени ожидания HTTP-ответа от сервиса распознавания.
|Название: <code>Переход, ошибка</code>


Код: <code>transferError</code>
Код: <code>vadSilenceTol</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: — 
По умолчанию: <code>10</code>
|}
|-
|Аргумент, устанавливающий допустимое отклонение в последовательности голосовых фреймов.
 
Параметр VAD-детектора.
 
Например минимальная длительность задана 210 мс, отклонение 20%. Таким образом для сигнализации о наличии голоса будет требоваться последовательность из 11 фреймов, 9 из которых должны быть голосовыми.
 
Значение 0 означает что все 11 фреймов подряд должны быть тишиной (иметь средний уровень ниже порога VAD).
|Название: <code>Таймаут ожидания ответа, с</code>


Код: <code>responseTimeoutSec</code>


=== Компонент Внешнее управление через API ===
Усл. видимости: <code>нет</code>
Переводит сценарий во время своей активности под внешнее управление через API (HTTP/WebSocket). +
Если диалог еще не установлен (в событии `api_start` поле `state` имеет значение, отличное от `dialog`), то от управляющей системы требуется соблюдение SIP workflow. То есть необходимо отправлять соответствующие ответов прежде, чем использовать функционал воспроизведения, записи, переводов.


Событие `api_start` может сообщить о следующих состояниях: `dialog`, `early`, `ringing`, `incoming`. В соответствии с ними, а также пользуясь передаваемыми параметрами, внешняя система может определить текущее состояние и выбрать правильное поведение.
По умолчанию: <code>5</code>
|-
|Таймаут ожидания ответа от сервиса распознавания Sber SaluteSpeech после отправки ему последней порции голосовых данных.


До момента отправки ответа 2хх следует: а) Перевод (203, refer) заменять отправкой ответа 3хх (202, `answer`). б) Завершение разговора (201, bye) следует заменять отправкой ответа 4хх-6хх (202, `answer`). в) Не использовать компоненты перевода. г) Не использовать компоненты по работе с медиа-трафиком (воспроизведение, запись и т.д.), за исключением случая, когда текущее состояние диалога - `early`, то есть последний отправленный ответ был `183 Session Progress`.
По истечении таймаута управление передается следующему компоненту по ветке <code>Время</code>.
|Название: <code>Результат в переменную</code>


О начале и завершении работы компонента генерируются события типов `ivrevents.api_start` и `ivrevents.api_stop`. Они отправляются в том числе по подписке в websocket-подключения (сообщение `notify` в рамках token-api `subscribe`).
Код: <code>varText</code>


Управление может перехватить только одна из подключенных систем - та, которая первой отправит сообщение `"ivrapi_accept"` в рамках своего websocket-подключения (token-api: `ivrapi`).
Усл. видимости: <code>нет</code>


Дальнейшее управление производится через websocket token-api `ivrapi`.
По умолчанию: — 
{| class="wikitable"
|+Table 1. Системные характеристики
!
!
|-
|-
|Индекс
|Переменная для сохранения текстового результата распознавания.
|<code>224</code>
|Название: <code>Нормализованный результат в переменную</code>
 
Код: <code>varNormText</code>
 
Усл. видимости: <code>нет</code>
 
По умолчанию: — 
|-
|-
|Краткое название
|Переменная для сохранения нормализованного текстового результата распознавания.
|<code>api</code>
|Название: <code>Код ответа в переменную</code>
|-
|Типы сценариев
|<code>IVR</code>
|-
|Стартовый модуль
|<code>era_sip_ivr_script_component_api</code>
|-
|Режим
|Асинхронный
|-
|Иконка
|
|-
|Характер разветвления
|Разветвляющий, замыкающий
|}


==== Свойства ====
Код: <code>varCode</code>
{| class="wikitable"
|+Table 2. Свойства
!Спецификация
!Описание
|-
|Название: <code>Ключ</code>
 
Код: <code>key</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Аргумент, содержащий ключ. Передается внешней системе в сообщении о начале работы компонента (событие <code>ivrevents.api_start</code>) и завершении работы компонента (событие <code>ivrevents.api_stop</code>).
Внешняя система должна указывать этот ключ рядом с указанием идентификатора IVR-диалога в каждом запросе, отправляемом в рамках websocket token-api <code>ivrapi</code> с целью осуществления внешнего управления этим компонентом.
|-
|-
|Название: <code>Параметры</code>
|Переменная для сохранения кода ответа сервиса распознавания (код эмулируется по аналогии с HTTP: 200, 408, 500).
|Название: <code>Тело ответа в переменную</code>


Код: <code>params</code>
Код: <code>varBody</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


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


Указанные параметры передаются в сообщении о начале работы компонента (событие <code>ivrevents.api_start</code>).
Если одно высказывание - объект, если несколько высказываний - массив объектов.
|Название: <code>Сохранить файл записи</code>
 
Код: <code>saveRec</code>
 
Усл. видимости: <code>нет</code>
 
По умолчанию: <code>Нет</code>
|-
|-
|Название: <code>Таймаут подтверждения взятия управления, мс</code>
|Выключатель сохранения файла записи, отправленного сервису распознавания.
|Название: <code>Путь к файлу в переменную</code>


Код: <code>reportTimeoutMs</code>
Код: <code>varRecordPath</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>да</code>


По умолчанию: 3000
По умолчанию: — 
|Аргумент, определяющий таймаут ожидания подтверждения от одной из подключенных по websocket token api внешних систем, в миллисекундах.
|-
|-
|Название: <code>Причина выхода в переменную</code>
|Переменная для сохранения пути к файлу записи.
 
Файл размещается во временном каталоге сценария и будет удален после завершения работы сценария.
 
Для длительного сохранения файла требуется дальнейшее перемещение файла сценарием в место стационарного хранения.
 
Запись осуществляется на сервере с ролью mg, обслуживающим текущий звонок, а затем переносится на сервер с ролью ivr, обслуживающей текущий сценарий. Перенос всегда происходит внутри сайта.
|Название: <code>Предварительное воспроизведение</code>


Код: <code>varReason</code>
Код: <code>prePlayFile</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Переменная, куда заносится причина завершения работы компонента.
|-
|-
|Звуковой файл предварительного воспроизведения абоненту, во время которого также активирован голосовой детектор.
При отсутствии голоса от абонента (с учетом шумового порога VAD-детектора), отправка данных на сервис распознавания не производится.
Может быть выбран в одном из режимов:
* статический файл, приложенный к сценарию (загружается из приложения Редактор сценариев или через API);
* сформированный аргументами путь, который должен включать одну из файловых категорий.
|Название: <code>Переход</code>
|Название: <code>Переход</code>


Строка 3553: Строка 3601:


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление после завершения работы компонента отключением внешней системы.
|-
|-
|Компонент, которому передается упраление в случае успешного завершения операции.
|Название: <code>Переход, время</code>
|Название: <code>Переход, время</code>


Строка 3562: Строка 3610:


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление при завершении по таймауту.
|-
|-
|Компонент, которому передается управление в случае истечения времени ожидания HTTP-ответа от сервиса распознавания.
|Название: <code>Переход, ошибка</code>
|Название: <code>Переход, ошибка</code>


Строка 3571: Строка 3619:


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление в случае возникновения ошибки.
|}
|}


= Другие компоненты =


=== Компонент CPD (детектор ответов) ===
==== Компонент Внешнее управление через API ====
Применяется в исходящих кампаниях для детекции ответа "живого" человека.
Переводит сценарий во время своей активности под внешнее управление через API (HTTP/WebSocket). +
Выполняет запись разговора в течении указанного времени (5-7 секунд), в течение которых пытается определить тип источника звука.
Если диалог еще не установлен (в событии `api_start` поле `state` имеет значение, отличное от `dialog`), то от управляющей системы требуется соблюдение SIP workflow. То есть необходимо отправлять соответствующие ответов прежде, чем использовать функционал воспроизведения, записи, переводов.


Определение человека производится по истечении секунды тишины после окончания приветственной реплики абонента.
Событие `api_start` может сообщить о следующих состояниях: `dialog`, `early`, `ringing`, `incoming`. В соответствии с ними, а также пользуясь передаваемыми параметрами, внешняя система может определить текущее состояние и выбрать правильное поведение.


Определение роботов и автоматов производится по окончанию таймаута или длительной (более 2 секунд) приветственной реплики робота.
До момента отправки ответа 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`).


Алгоритм CPD, используемый компонентом, не требователен к ресурсам системы.
Дальнейшее управление производится через websocket token-api `ivrapi`.
{| class="wikitable"
{| class="wikitable"
|+Table 1. Системные характеристики
|+Table 1. Системные характеристики
Строка 3594: Строка 3642:
|-
|-
|Индекс
|Индекс
|<code>225</code>
|<code>224</code>
|-
|-
|Краткое название
|Краткое название
|<code>cpd</code>
|<code>api</code>
|-
|-
|Типы сценариев
|Типы сценариев
Строка 3603: Строка 3651:
|-
|-
|Стартовый модуль
|Стартовый модуль
|<code>era_sip_ivr_script_component_cpd</code>
|<code>era_sip_ivr_script_component_api</code>
|-
|-
|Режим
|Режим
Строка 3614: Строка 3662:
|Разветвляющий, замыкающий
|Разветвляющий, замыкающий
|}
|}
 
'''Свойства'''
==== Свойства ====
{| class="wikitable"
{| class="wikitable"
|+Table 2. Свойства
|+Table 2. Свойства
Строка 3621: Строка 3668:
!Описание
!Описание
|-
|-
|Название: <code>Таймаут, с</code>
|Название: <code>Ключ</code>


Код: <code>collectTimeSec</code>
Код: <code>key</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: 5
По умолчанию: — 
|Аргумент, содержащий время в секундах. Определяет сколько времени будет накапливаться запись разговора для дальнейшего анализа детектором ответа.
|Аргумент, содержащий ключ. Передается внешней системе в сообщении о начале работы компонента (событие <code>ivrevents.api_start</code>) и завершении работы компонента (событие <code>ivrevents.api_stop</code>).
 
Внешняя система должна указывать этот ключ рядом с указанием идентификатора IVR-диалога в каждом запросе, отправляемом в рамках websocket token-api <code>ivrapi</code> с целью осуществления внешнего управления этим компонентом.
|-
|-
|Название: <code>Сохранить файл записи</code>
|Название: <code>Параметры</code>


Код: <code>saveRecord</code>
Код: <code>params</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: <code>Нет</code>
По умолчанию: — 
|Признак сохранения файла записи, отправленного сервису детектора ответа. Сохранение выполняется в каталог <code>/var/lib/era_files/answer_detector_records/<domain>/<type></code>
|Аргумент, содержащий дополнительные параметры для внешней системы.


* domain - домен в рамках которого выполнялся разговор.
Указанные параметры передаются в сообщении о начале работы компонента (событие <code>ivrevents.api_start</code>).
* type - тип результата, который вернул детектор ответа.
|-
|Название: <code>Таймаут подтверждения взятия управления, мс</code>
 
Код: <code>reportTimeoutMs</code>
 
Усл. видимости: <code>нет</code>
 
По умолчанию: 3000
|Аргумент, определяющий таймаут ожидания подтверждения от одной из подключенных по websocket token api внешних систем, в миллисекундах.
|-
|-
|Название: <code>Результат в переменную</code>
|Название: <code>Причина выхода в переменную</code>


Код: <code>result</code>
Код: <code>varReason</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>
Строка 3651: Строка 3708:
|Переменная, куда заносится причина завершения работы компонента.
|Переменная, куда заносится причина завершения работы компонента.
|-
|-
|Название: <code>Переход, обнаружено</code>
|Название: <code>Переход</code>


Код: <code>transferFound</code>
Код: <code>transfer</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление после обнаружения "живого" человека детектором ответа.
|Компонент, которому передается управление после завершения работы компонента отключением внешней системы.
|-
|-
|Название: <code>Переход, не обнаружено</code>
|Название: <code>Переход, время</code>


Код: <code>transferNotFound</code>
Код: <code>transferTimeout</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Компонент, которому передается управление в случае если детектор ответа не обнаружил в записи "живого" человека.
|Компонент, которому передается управление при завершении по таймауту.
|-
|-
|Название: <code>Переход, ошибка</code>
|Название: <code>Переход, ошибка</code>
Строка 3679: Строка 3736:
|}
|}


==== Параметризация ====
Анализ CPD проводится входящим в состав платформы консольным приложения cpd (/era_sip/priv/cpd/cpd).


Компонент запускает CPD в режиме анализа.


В режиме анализа приложение принимает на input порции аудио-данных (PCM 8000Hz 16bit mono), и выдает один из возможных результатов:
==== Компонент CPD (детектор ответов) ====
Применяется в исходящих кампаниях для детекции ответа "живого" человека.
Выполняет запись разговора в течении указанного времени (5-7 секунд), в течение которых пытается определить тип источника звука.


* human
Определение человека производится по истечении секунды тишины после окончания приветственной реплики абонента.
* ivr
* tone
* fax
* silence


Компонент завершается успехом только при результате 'human'.
Определение роботов и автоматов производится по окончанию таймаута или длительной (более 2 секунд) приветственной реплики робота.


Алгоритм может параметризоваться. В качестве параметров используются файлы SettingsML.json и SettingsSpectrum.json.
Определение тишины производится по окончании указанного интервала времени.


Файлы располагаются в каталоге ':SYNC/common/cpd'.
Определение факса производится почти сразу при обнаружении соответствующего тонального сигнала.


Пример командной строки запуска в режиме анализа:
Алгоритм 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
{| class="wikitable"
Расшифровка параметров:
|+Table 1. Системные характеристики
--ml-settings-path  -  путь к json-файлу с ML-параметрами, полученными в результате обучения. Необязательный параметр. Если не задавать, то используются некоторые зашитые (и неоптимальные) ML-параметры.
!
!
--spectrum-settings-path  -  путь к json-файлу с частотными параметрами, сформированными инженером. Необязательный параметр. Если не задавать, то частотный анализатор не используется.
|-
|Индекс
--timeout  -  полный таймаут работы анализатора в мс; через это время анализатор выдает получившийся результат. Необязательный параметр. По умолчанию 7000.
|<code>225</code>
|-
--recv-timeout  -  таймаут на прием очередной порции данных через stdin; если столько времени нет входящих данных, анализатор выдает получившийся результат. Необязательный параметр. По умолчанию 3000.
|Краткое название
Приложение поддерживает режим машинного обучения.
|<code>cpd</code>
 
|-
Обучение – это подбор оптимальных параметров для заранее размеченного (разложенного по папкам) набора голосовых файлов с учетом биаса (отклонения).
|Типы сценариев
 
|<code>IVR</code>
Биас позволяет задать приоритет – допустить потерю живых ответов или допустить плохие звонки на операторов.
|-
 
|Стартовый модуль
Для обучения нужно:
|<code>era_sip_ivr_script_component_cpd</code>
 
|-
# Подготовить файлы и разместить рядом с анализатором в папке ML в пяти подпапках (Human, IVR, Tone, Fax, Silence)
|Режим
# Запустить анализатор из командной строки с двум параметрами – биас (от -9 до 9, 0 – нейтрально) и количество итераций обучения (рекомендуется 1 для вывода текущей статистики и 10000 для реального обучения).  По результатам обучения выводится отчет о достигнутой точности, средней продолжительности определения человека и выставленных параметрах (которые при этом сохраняются рядом в файле SettingsML.json для дальнейшего использования в боевом режиме).
|Асинхронный
# Результат SettingsML.json для применения компонентом следует разместить в каталоге ':SYNC/common/cpd', заменив предыдущий.
|-
|Иконка
|
|-
|Характер разветвления
|Разветвляющий, замыкающий
|}
'''Свойства'''
{| class="wikitable"
|+Table 2. Свойства
!Спецификация
!Описание
|-
|Название: <code>Таймаут, с</code>


Пример командной строки запуска в режиме обучения:
Код: <code>collectTimeSec</code>
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.


Файлы должны быть сгруппированы по типу содержимого и размещаться внутри подпапок:
Усл. видимости: <code>нет</code>


* Fax - примеры записи факса;
По умолчанию: 5
* Human - примеры живых ответов людей;
|Аргумент, содержащий время в секундах. Определяет сколько времени будет накапливаться запись разговора для дальнейшего анализа детектором ответа.
* IVR - примеры IVR (музыка, роботы, голосовое меню и т.п.);
|-
* Silence - примеры тишины;
|Название: <code>Сохранить файл записи</code>
* Tone - различные тональные сигналы, гудки, пр.


Код: <code>saveRecord</code>


=== Компонент Колл-центр ===
Усл. видимости: <code>нет</code>
Переводит сценарий во время своей активности под внешнее управление коллцентра.
 
Позволяет:
По умолчанию: <code>Нет</code>
|Признак сохранения файла записи, отправленного сервису детектора ответа. Сохранение выполняется в каталог <code>/var/lib/era_files/answer_detector_records/<domain>/<type></code>


<nowiki>*</nowiki> ставить вызов в очередь под управление колл-центра;
* domain - домен в рамках которого выполнялся разговор.
* type - тип результата, который вернул детектор ответа.
|-
|Название: <code>Результат в переменную</code>


<nowiki>*</nowiki> запускать сценарии колл-центра;
Код: <code>result</code>


<nowiki>*</nowiki> изменять контекст вызова;
Усл. видимости: <code>нет</code>


<nowiki>*</nowiki> присваивать метки к вызову.
По умолчанию: — 
{| class="wikitable"
|Переменная, куда заносится причина завершения работы компонента.
|+Table 1. Системные характеристики
!
!
|-
|-
|Индекс
|Название: <code>Переход, обнаружено</code>
|<code>228</code>
 
Код: <code>transferFound</code>
 
Усл. видимости: <code>нет</code>
 
По умолчанию: — 
|Компонент, которому передается управление после обнаружения "живого" человека детектором ответа.
|-
|-
|Краткое название
|Название: <code>Переход, не обнаружено</code>
|<code>api_сс</code>
 
|-
Код: <code>transferNotFound</code>
|Типы сценариев
 
|<code>IVR</code>
Усл. видимости: <code>нет</code>
|-
|Стартовый модуль
|<code>era_sip_ivr_script_component_api_сс</code>
|-
|Режим
|Асинхронный
|-
|Иконка
|
|-
|Характер разветвления
|Разветвляющий, замыкающий
|}


==== Свойства ====
По умолчанию: — 
{| class="wikitable"
|Компонент, которому передается управление в случае если детектор ответа не обнаружил в записи "живого" человека.
|+Table 2. Свойства
!Спецификация
!Описание
|-
|-
|Название: <code>Действие</code>
|Название: <code>Переход, ошибка</code>


Код: <code>action</code>
Код: <code>transferError</code>


Усл. видимости: <code>нет</code>
Усл. видимости: <code>нет</code>


По умолчанию: — 
По умолчанию: — 
|Возможные значения:
|Компонент, которому передается управление в случае возникновения ошибки.
|}


* Поставить в очередь (<code>acd</code>) - размещает вызов в очереди под управлением колл-центра.
===== Параметризация =====
* Запустить сценарий (<code>scenario</code>) - запускает сценарий колл-центра.
Анализ CPD проводится входящим в состав платформы консольным приложения cpd (/era_sip/priv/cpd/cpd).
* Изменить контекст (<code>context</code>) - изменяет контекст вызова, делая доступными данные о звонке в карточках и сценариях колл-центра.
* Присвоить метку (<code>addtag</code>) - добавляет метку к вызову, позволяя разветвлять логику в сценариях колл-центра и производить фильтрацию в отчетах по вызовам.
|-
|Название: <code>Код очереди</code>


Код: <code>acdCode</code>
Компонент запускает CPD в режиме анализа.


Усл. видимости: <code>да</code>
В режиме анализа приложение принимает на input порции аудио-данных (PCM 8000Hz 16bit mono), и выдает один из возможных результатов:


По умолчанию: — 
* human
|Аргумент, содержащий код очереди в колл-центре. Очередь должна существовать.
* ivr
* tone
* fax
* silence


Доступно только для действия 'Поставить в очередь'.
Компонент завершается успехом только при результате 'human'.
|-
|Название: <code>Приоритет</code>


Код: <code>priority</code>
Алгоритм может параметризоваться. В качестве параметров используются файлы SettingsML.json и SettingsSpectrum.json.


Усл. видимости: <code>да</code>
Файлы располагаются в каталоге ':SYNC/common/cpd'.


По умолчанию: 100
Пример командной строки запуска в режиме анализа:
|Аргумент, определяющий приоритет текущего вызова в очереди. Чем меньше значение, тем больше приоритет.
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.
Приложение поддерживает режим машинного обучения.


Доступно только для действия 'Поставить в очередь'.
Обучение – это подбор оптимальных параметров для заранее размеченного (разложенного по папкам) набора голосовых файлов с учетом биаса (отклонения).
|-
|Название: <code>Подменять предыдущий вызов</code>


Код: <code>deleteLastArchiveACDCall</code>
Биас позволяет задать приоритет – допустить потерю живых ответов или допустить плохие звонки на операторов.


Усл. видимости: <code>да</code>
Для обучения нужно:


По умолчанию: нет
# Подготовить файлы и разместить рядом с анализатором в папке ML в пяти подпапках (Human, IVR, Tone, Fax, Silence)
|Выключатель режима подмены предыдущего сохраненного вызова в архиве сеанса текущим вызовом. Применяется в том случае, если необходимо в статистике по вызову видеть только одну очередь, даже если вызов прошел через несколько очередей.
# Запустить анализатор из командной строки с двум параметрами – биас (от -9 до 9, 0 – нейтрально) и количество итераций обучения (рекомендуется 1 для вывода текущей статистики и 10000 для реального обучения).  По результатам обучения выводится отчет о достигнутой точности, средней продолжительности определения человека и выставленных параметрах (которые при этом сохраняются рядом в файле SettingsML.json для дальнейшего использования в боевом режиме).
# Результат 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
|Название: <code>Код сценария</code>
Расшифровка параметров:
--learn-bias  -  приоритет от -9 до +9, где -9 - допускать потерю живых ответов, 9 - допускать плохие звонки на операторов, 0 - нейтрально. Необязательный параметр. По умолчанию 0.
--learn-iterations  -  количество итераций обучения. Необязательный параметр. По умолчанию 10000.
--learn-data-dir-path  -  путь к папке с размеченными данными для обучения. Обязательный параметр.
--learn-output-file-path  -  путь к выходному файлу с результатом обучения. Необязательный параметр. Если не задавать, то результат просто распечается в консоли.
Папка с размеченными данными должна содержать примеры аудио-записей для обучающего прогона. Формат файлов: *.wav PCM 8000Hz 16bit mono.


Код: <code>scenarioCode</code>
Файлы должны быть сгруппированы по типу содержимого и размещаться внутри подпапок:


Усл. видимости: <code>да</code>
* Fax - примеры записи факса;
 
* Human - примеры живых ответов людей;
По умолчанию: — 
* IVR - примеры IVR (музыка, роботы, голосовое меню и т.п.);
|Аргумент, содержащий код сценария колл-центра, подлежащий синхронному исполнению.
* Silence - примеры тишины;
 
* Tone - различные тональные сигналы, гудки, пр.
Доступно только для действия 'Запустить сценарий'.
|-
|Название: <code>Контекст</code>
 
Код: <code>context</code>
 
Усл. видимости: <code>да</code>
 
По умолчанию: — 
|Таблица опций вида Ключ-Значение, обновляющая текущий контекст. Пустые ключи игнорируются, пустые значения приводят к обнулению поля с соответствующим ключом в контексте.
 
Доступно только для действий 'Поставить в очередь' и 'Изменить контекст'.
|-
|Название: <code>Параметры вызова</code>
 
Код: <code>queueOpts</code>
 
Усл. видимости: <code>да</code>
 
По умолчанию: — 
|Таблица опций вида Ключ-Значение, обновляющая параметры вызова в очереди. Пустые ключи игнорируются.
 
Доступно только для действия 'Поставить в очередь'.
|-
|Название: <code>Метка</code>


Код: <code>tag</code>
Усл. видимости: <code>да</code>
По умолчанию: — 
|Аргумент, содержащий новую метку (строка).
Доступно только для действия 'Добавить метку'.
|-
|Название: <code>Переход</code>
Код: <code>transfer</code>
Усл. видимости: <code>нет</code>
По умолчанию: — 
|Компонент, которому передается управление после завершения работы компонента отключением внешней системы.
|-
|Название: <code>Переход, время</code>
Код: <code>transferTimeout</code>
Усл. видимости: <code>нет</code>
По умолчанию: — 
|Компонент, которому передается управление при завершении по таймауту принятия управления сервисами колл-центра (3 секунды).
|-
|Название: <code>Переход, ошибка</code>
Код: <code>transferError</code>
Усл. видимости: <code>нет</code>
По умолчанию: — 
|Компонент, которому передается управление в случае возникновения ошибки.
|}




Строка 3940: Строка 3939:
|Разветвляющий, прерывающий
|Разветвляющий, прерывающий
|}
|}
 
'''Свойства'''
==== Свойства ====
{| class="wikitable"
{| class="wikitable"
|+Table 2. Свойства
|+Table 2. Свойства

Текущая версия от 14:28, 11 декабря 2024

Сценарии 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. Системные характеристики
Индекс 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

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

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

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


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

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

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

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 - различные тональные сигналы, гудки, пр.


Компонент Распознавание речи (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

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

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

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