Я пытаюсь заставить работать следующий поток:
- Абонент набирает номер twilio #
- Мы задаем вопрос вызывающему абоненту, и он отвечает, говоря
- Как только получена расшифровка (не аудиофайл), мы отвечаем, задавая им еще один вопрос ... это продолжается в течение 2-3 вопросов
Проблема, с которой я столкнулся это разделение вызовов на основной обработчик webhook и обработчик расшифровки.
У меня есть основной обработчик вызовов, отвечающий на первый вопрос, следующим образом:
<!-- [/ handler] initial response, with the first question -->
<Response>
<Say voice="alice">What is your favorite color? Press any key when done.</Say>
<Record transcribe="true" transcribeCallback="/transcript" maxLength="60"/>
</Response>
Затем мы получаем второй запрос к основному обработчику вызовов, когда запись завершена. Я пока не могу ответить другим вопросом (бизнес-требования), поэтому мы отвечаем с расплывчатым подтверждением:
<!-- [/ handler] vague confirmation response
<Response>
<Say voice="alice">Got it. Give me a couple seconds to write that down.</Say>
</Response>
Затем я получаю совпадение с обработчиком /transcript
с расшифровкой, на которую я отвечаю с:
<!-- [/transcript handler] Second question -->
<Response>
<Say voice="alice">What is the air-speed velocity of an unladen swallow? Press any key when done.</Say>
<Record transcribe="true" transcribeCallback="/transcription" maxLength="60"/>
</Response>
Но, очевидно, вы не можете ответить на этот обработчик с TWiML? После второго ответа от обработчика /
вызывающий абонент зависает.
Есть идеи, как мне это реализовать? Я не думаю, что действительно могу заставить пользователя молча ждать, прежде чем ответить на второй /
запрос обработчика ...