我想使用 twilio 实现 VoIP 调用中的一项功能。例如,如果有人调用客户服务号码,在这种情况下,他们必须调用一些号码进行导航,例如调用一些号码选择语言并调用一些号码与代表交谈。
因此,为了在我的应用程序中通过 VoIP 调用实现这一点,到目前为止我已经尝试过了。
这是我在 VoIP 启动时生成的 TwiML 响应
<Response>
<Dial timeLimit="7200" callerId="+19782880482" record="record-from-answer-dual">
<Number statusCallbackEvent="initiated ringing answered completed" statusCallback="http://0affe80b.ngrok.io/call/twilio/events" statusCallbackMethod="POST"></Number>
</Dial>
<Record timeout="10" maxLength="7200"/>
</Response>
在前端部分,按每个数字我都会向当前事件连接发送一个数字,如下所示,
function onNumberPress(number){
var connection = Twilio.Device.activeConnection();
connection.sendDigits(number);
}
但是,现在在 sendDigits
函数时,我收到此错误
TypeError: a.match is not a function
at a.sendDigits (twilio-1.3.21.min.js:19)
注意:我可以在此处获得事件连接。
冲浪后我发现我需要在 TwiML 中提供 Gather
关键字。但在这种情况下我需要通过这些吗?我认为在我描述的情况下不需要它。
我走在正确的道路上吗?这有可能实现吗?如果那么我在这里缺少什么?
最佳答案
这里是 Twilio 开发者布道者。
connection.sendDigits
函数接受一个字符串作为参数(因为它可以是任何数字以及 # 或 *)。我认为您可能会向其传递一个数字。尝试确保您发送的数字是字符串。
关于Twilio JS 在 VoIP 调用中发送数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50796511/