问题描述
我正在尝试通过我的节点服务器在我的移动应用程序上发起呼叫(入站呼叫)。我已经在 env 文件中设置了所有凭据并多次交叉检查它们。我正在使用 Twiml 这样做。 我将下面的 Twiml 响应发送给 Twilio,但调用只是不断路由回 Webhook URL。如果这不是正确的方法,我该如何在设备上路由呼叫。
Twiml 响应:
<Response>
<Dial>
<Number>+12528881526</Number>
</Dial>
</Response>
我的 Node.js 代码
let twimlResponse = new VoiceResponse()
const dial = twimlResponse.dial()
dial.number({},"+1234567891")
console.log(twimlResponse.toString())
return response.send(twimlResponse.toString())
解决办法: 我们需要使用该身份发起呼叫,Twilio 将开始发送 VoIP 通知
let twimlResponse = new VoiceResponse()
const dial = twimlResponse.dial()
dial.client({},"alice")
console.log(twimlResponse.toString())
return response.send(twimlResponse.toString())
解决方法
在 Twilio 上,您可以创建一个新项目,选择您要进行调用,他们将为您提供正确的代码,只需复制它并在您的应用程序中使用 node index.js。此外,如果您有试用版,则只能您验证的电话号码。
,我相信您使用的过程是将收到的呼叫重定向到另一个号码“new VoiceResponse()”,我相信您应该使用下面的代码发起呼叫。请让我知道这是否有效。
const accountSid = process.env.TWILIO_ACCOUNT_SID;
const authToken = process.env.TWILIO_AUTH_TOKEN;
const client = require('twilio')(accountSid,authToken);
client.calls
.create({
twiml: '<Response><Say>Ahoy there!</Say></Response>',to: '+15558675310',from: '+15552223214'
})
.then(call => console.log(call.sid));