Включение поддержки DTMF в голосовом агенте

Note

Функции, описанные в этой статье, питаются стандартным жгутом, который использует опции выставления счетов, описанные в разделе «Лицензирование для агентов, работающих на стандартном жгуте». Узнайте, как получить доступ к стандартным функциям в стандартных агентах и потоках агентов доступа.

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

Note

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

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

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

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

Если пользователь нажимает кнопку, которая не привязана к глобальным триггерам DTMF, агент активирует системную тему Неизвестное нажатие номеронабирателя. Вы можете настроить его под свою бизнес-логику.

Important

Когда вы включаете DTMF и взаимодействуете с голосовым агентом в панели Тестирование агента, то, как вы вводите числа, влияет на ответ. Если вы используете цифровую кнопку, например 1, она соответствует порядку опций меню в узле Вопрос. Чтобы смоделировать ввод на DTMF-клавиатуре, нужно ввести DTMF-клавишу, например /DTMFKey 1, чтобы соответствовать назначенным DTMF-клавишам в узле Вопрос.

Включение поддержки DTMF в узле темы

  1. Откройте тему, которую хотите использовать как глобальный ответ DTMF, для редактирования и выберите узел Триггер.

  2. Наведите указатель на поле узла Триггер и выберите значок Изменить триггер.

  3. Выберите Получена глобальная команда DTMF.

    Снимок экрана триггера темы «Получена глобальная команда DTMF».

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

    Снимок экрана: окно «Изменить триггер» с выбранным параметром «Получена глобальная команда DTMF».

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

    Entity Поддержка DTMF
    Варианты множественного выбора Ручное назначение команды DTMF для каждого параметра
    Варианты из переменной списка Автоматическое назначение команды DTMF для каждого параметра
    Весь ответ пользователя Допускается многозначный ввод DTMF
    Возраст Допускается многозначный ввод DTMF
    Boolean Автоматическое назначение команды DTMF для каждого параметра
    Город DTMF не поддерживается
    Цвет DTMF не поддерживается
    Continent DTMF не поддерживается
    Страна или регион DTMF не поддерживается
    Date Допускается многозначный ввод DTMF
    Дата и время DTMF не поддерживается
    Дата и время без часового пояса DTMF не поддерживается
    Duration DTMF не поддерживается
    Эл. почта DTMF не поддерживается
    Event DTMF не поддерживается
    Язык DTMF не поддерживается
    Деньги Допускается многозначный ввод DTMF
    Number Допускается многозначный ввод DTMF
    Порядковый Допускается многозначный ввод DTMF
    Предприятие DTMF не поддерживается
    Процент Допускается многозначный ввод DTMF
    Имя DTMF не поддерживается
    Номер телефона Допускается многозначный ввод DTMF
    Точка интереса DTMF не поддерживается
    Скорость Допускается многозначный ввод DTMF
    Государство DTMF не поддерживается
    Адрес улицы DTMF не поддерживается
    Температура Допускается многозначный ввод DTMF
    URL DTMF не поддерживается
    Вес Допускается многозначный ввод DTMF
    Почтовый индекс Допускается многозначный ввод DTMF

Назначение команд DTMF

Для некоторых типов сущностей укажите, сопоставлены ли варианты, которые агент предоставляет пользователю, с DTMF-клавишами:

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

    Для каждого добавляемого параметра выберите значок - и укажите сигнал DTMF, с которым должна быть сопоставлен параметр.

    Снимок экрана всего узла вопросов.

  • Для типов сущностей Пункты из переменной списка и Логический агент автоматически назначает DTMF-клавиши каждому параметру.

    Агент назначает клавиши в том порядке, в котором они находятся, от 0 до 9.

Чтобы агент автоматически озвучивал сопоставленные варианты:

  1. Нажмите на три точки () узла Вопрос, который вы хотите настроить, затем выберите Свойства. Появится панель Свойства вопроса.

  2. Выберите Распознавание сущностей, затем выберите, должен ли агент озвучивать варианты пользователю агента.

Многозначный ввод DTMF

Для сущностей, поддерживающих ввод DTMF из нескольких цифр, укажите, есть ли минимальное или максимальное число цифр в допустимом ответе пользователя агента. Эти многозначные входные сущности DTMF включают большинство типов сущностей, которые извлекают число из входных данных пользователя агента. Можно указать диапазон допустимого количества цифр (например, «2-5») или фиксированную длину (например, «5»).

Снимок экрана с параметром количества цифр (только DTMF), отображаемым в узле вопроса.

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

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

Вы также можете указать, должен ли агент ждать нажатия определенной клавиши "завершения", указывающей, что пользователь агента закончил вводить свой ответ. Вы можете выбрать отсутствие команды, звездочку (*) или решетку (#). Символ завершения не является обязательным и не учитывается при подсчете длины ввода.

Распознавание DTMF на уровне агента

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

Important

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

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

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

  3. Выберите значок и затем выберите получена глобальная команда DTMF.

    Снимок экрана: панель «Изменить триггер» с выделенным пунктом «Получена глобальная команда DTMF».

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

Кэширование DTMF

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

Благодаря кэшированию DTMF каждое нажатие клавиши кэшируется последовательно и автоматически вводится для каждого последующего запроса.

Для узла DTMF с одной цифрой система кэширует все клавиши после первой для следующего хода.

Для многозначных узлов DTMF агент использует набор правил, которые определяют, как и что кэшировать, исходя из этих настроек:

Сценарий Длина цифры Condition Входные данные пользователя Результат
Автор агента не задал символ завершения, поэтому тайм-аут игнорируется. Когда ввод пользователя достигает максимальной длины, клавиша после максимальной длины (последняя цифра) кэшируется для следующего хода. 3 Время срока равно 0 или клавиша срока отсутствует 1, 2, 3, 1, ... Первые три цифры возвращаются немедленно, а четвертая цифра кэшируется до следующего хода.
Автор агента задал символ завершения. Ввод команды после тайм-аута кэшируется для следующего хода. 3 Клавиша срока — # 1, 2, 3, 1 Первые три цифры ожидают время ожидания завершения перед возвратом. Четвертая цифра кэшируется для следующего хода.
Когда ввод пользователя достигает максимальной длины, запускается время ожидания завершения. 3 Клавиша срока — # 1, 2, 3, затем во время окна тайм-аута 1 Возвращаются первые четыре цифры; однако, поскольку этот вопрос принимает только три цифры, вся входная последовательность считается недействительной, и агент повторно запрашивает вопрос.
Ввод пользователя не достиг максимальной длины (допустимой длины). Ввод команды после того, как таймер между цифрами кэшируется для следующего хода. 2-5 Не имеет значения, если определена клавиша срока 1, 2, 3, затем после таймаута 1 Первые две цифры перед возвратом ожидают таймера между цифрами, а третья и четвертая цифры кэшируются для следующего хода.

Система обрабатывает кэширование DTMF следующим образом:

  • Если следующий шаг не допускает прерывания, система сбрасывает кэшированную клавишу.
  • Если следующий шаг допускает прерывание, система обрабатывает клавишу согласно сценарию:
    • Если поток состоит из нескольких узлов сообщений и за ним следует DTMF-вопрос с несколькими цифрами, система кэширует клавиши только для этого DTMF-вопроса. Глобальная тема DTMF не срабатывает.
    • Если после нескольких узлов сообщений в потоке следует DTMF-узел с вопросом на ввод одной цифры, система кэширует нажатую клавишу для этого однозначного ввода DTMF. Кроме того, система кэширует глобальную тему DTMF. Однако, если они пересекаются, узел вопроса DTMF с одной цифрой имеет приоритет.
    • Если поток состоит из нескольких узлов сообщений и не содержит узла вопроса, система кэширует клавишу для глобальной темы DTMF.

Tip

Чтобы избежать случайного кэширования, выполните следующие действия:

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