当我从浏览器拨打电话到电话时,我正试图恢复状态。
当用户单击浏览器中的拨号时,我将以下响应发送给Twilio:
const dial = twiml.dial({
callerId: Meteor.settings.private.twilio.TWILIO_CALLER_ID,
answerOnBridge: true,
record: "record-from-answer-dual",
StatusCallbackEvent: ["initiated", "ringing", "answered", "completed"],
StatusCallback,
recordingStatusCallback: recordURLCallback,
});
dial.number(toNumber);
我都在Twilio控制台上注册了Webhook,并且还通过命令发送,但我没有收到"铃声",从Twilio
回答了"已回答"事件 WebApp.connectHandlers.use("/twilio-status-callback", function( req, res, next ) {
console.log('***status url callback***');
var body = "";
req.on('data', Meteor.bindEnvironment(function (data) {
body += data;
}));
req.on('end', Meteor.bindEnvironment(function () {
body = qs.parse(body)
console.log(body);
res.end();
}));
});
我只收到completed
事件,如何获得其他状态,以便在回答时可以显示响铃UI?
twilio开发人员在这里。
在您的示例代码中,您不包含StatusCallback
的选项,因此没有Webhook可以致电,只有recordingStatusCallback
。另外,节点库实际上会将键中的键转换为较低的库,因此键应为 statusCallback
。尝试将代码更新为这样的内容,并让我知道它的发展:
const dial = twiml.dial({
callerId: Meteor.settings.private.twilio.TWILIO_CALLER_ID,
answerOnBridge: true,
record: "record-from-answer-dual",
statusCallbackEvent: ["initiated", "ringing", "answered", "completed"],
statusCallback: statusURLCallback,
recordingStatusCallback: recordURLCallback,
});
dial.number(toNumber);