Тональный набор
В сценарии бот может принимать и отправлять сигналы DTMF — цифры и символы, набранные в тональном режиме.
Запрос ввода от пользователя
Для запроса сигналов DTMF добавьте в нужном стейте сценария ответ с типом dtmf.
В следующем ответе от абонента бот будет ожидать тональный набор.
предупреждение
Речевой ввод в контексте такого стейта будет проигнорирован.
Обработка сообщения
Чтобы распознать ввод, используйте паттерн для чисел.
Если абонент не ввел сообщение в течение установленного времени, возникает событие noDtmfAnswerEvent.
Пример: запрос ввода от пользователя
state: Input
a: Введите PIN-код.
script:
$response.replies = $response.replies || [];
$response.replies.push({
"type": "dtmf",
"max": 4, // Максимальное количество цифр, которое ожидается от абонента
"timeout": 15000 // Интервал ожидания ввода от абонента в миллисекундах
});
state: Digits
q: $regexp<\d+>
a: Вы набрали {{$parseTree.text}}.
state: NoInput
event: noDtmfAnswerEvent
a: Вы ничего не набрали.
Отправка сигналов во внешнюю систему
Бот также может отправлять DTMF-сигналы во внешнюю систему, например в IVR или АТС.
Для этого используйте ответ с типом dtmf и свойством digits.
Пример: отправка сигналов во внешнюю систему
state: SendDtmf
script:
$response.replies = $response.replies || [];
$response.replies.push({
"type": "dtmf",
"digits": "*1234#" // Цифры и символы, которые бот отправляет в тональном режиме
});