【发布时间】:2022-01-16 14:15:17
【问题描述】:
您好,我正在使用 Twilio 进行出站呼叫,我有本地节点应用程序可以发起呼叫。我也有 Twilio 状态回调函数来监控通话状态。我想在通话状态更改为“响铃”时取消/结束通话 我已尝试通过挂断方式结束通话并拒绝 TwiML。我原以为电话会自动取消,但我的电话一直在响。
用于拨打电话的节点代码
router.post('/call', async (requ, resp) => {
const accountSid = myaccoundsid;
const authToken = myauthtoken;
const client = require('twilio')(accountSid, authToken);
client.calls
.create({
to: 'to_number',
from: 'from_number',
url: 'http://demo.twilio.com/docs/voice.xml',
statusCallback: 'url_to_my_status_call_back_function',
statusCallbackMethod: 'POST',
statusCallbackEvent: ['initiated', 'ringing', 'answered', 'completed'],
})
.then((call) => {
console.log(call.status);
});
});
我的终端返回的通话状态是排队的。
我的状态回调函数
const VoiceResponse = require('twilio').twiml.VoiceResponse;
const response = new VoiceResponse();
exports.handler = function(context, event, callback) {
if(event.CallStatus ==='ringing'){
console.log("Call status changed: "+ event.CallStatus);
response.hangup();
console.log(response.toString());
}
callback(null, response);
};
Twilio 控制台
任何帮助将不胜感激,谢谢
【问题讨论】: