【问题标题】:Recording multiple user answers in Twilio call在 Twilio 通话中记录多个用户的回答
【发布时间】:2017-09-21 19:10:21
【问题描述】:

我正在使用 Twilio 构建交互式语音助手。我的目标是录制部分对话,处理录制的音频和

这是 /voice webhook 的答案(将收到 Twilio 的呼叫)

<Response>
    <Play>./welcome</Play>
    <Record maxLength="10" action="/processing" recordingStatusCallback="/getRecording"></Record>
</Response>

处理音频并提供答案可能需要很长时间,所以我在 /processing 末尾添加了暂停:

<Response>
    <Play>./ok</Play>
    <Pause length="10"></Pause>
</Response>

这是使用 /getRecording 完成后的答案

<Response>
    <Play>./answer</Play>
    <Record maxLength="10" action="/processing" recordingStatusCallback="/getRecording "></Record>
</Response>

/welcome、/ok 和 /answer 指向相应的音频文件。

所以我能够执行所有步骤,我可以在我的日志中检查 /getRecording 实际执行到最后并且 twiml 再次发回,但是 /getRecording 之后的 /answer 永远不会被 Twilio 执行(并且调用刚刚结束)。

您对此有什么指导吗? Twilio 是否接受同一通话的多个录音?

注意:出于某种原因,如果我不使用“recordingStatusCallback”,而是使用 /getrecording 作为“动作”,它确实可以工作......但是我们不能确定我们正在使用的录音是真的生成的,对吗?

感谢您的帮助!

【问题讨论】:

  • 你的第一句话好像少了什么
  • @Andy 似乎语法没问题,至少它对我有用。问题是如下 philnash 解释的,我们无法在 /getRecording webhook 中发送新的 twiml,但实际上一旦过程完成,就会将调用重定向到另一个。谢谢!

标签: twilio twilio-twiml


【解决方案1】:

这里是 Twilio 开发者宣传员。

您的 /getRecording 端点被调用,但这是调用上下文中的异步 webhook。将 TwiML 返回到 recordingStatusCallback 不会影响当前调用。

相反,您应该使用 REST API 到 modify the call,方法是根据对录制文件的响应将其重定向到您要执行的下一个 TwiML。

希望录音的暂停时间少于您正在使用的 10 秒,但您可能希望在您的 /processing 端点中添加一个循环,以便呼叫不会挂断您的呼叫者。你可以通过redirecting调用者重新开始:

<Response>
    <Play>./ok</Play>
    <Pause length="10"></Pause>
    <Redirect>./processing</Redirect>
</Response>

然后,当您收到录音回调时,您会将呼叫者重定向到此循环之外。

让我知道这是否有帮助。

【讨论】:

  • 谢谢,这正是我们正在寻找的解决方案,它是有道理的。我已将 /getRecording twiml 移动到不同的 /sendRecording,它在音频处理后被重定向并且它可以工作。还要感谢关于循环的提示,它特别有用,因为这样我们还可以向用户播放不同的消息,具体取决于处理需要多少。
猜你喜欢
  • 2021-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-27
  • 1970-01-01
相关资源
最近更新 更多