有没有办法知道Twilio调用失败而不调用REST API?

时间:2016-09-07 23:42:26

标签: javascript twilio twilio-click-to-call

我在Angular应用中使用Twilio.Device,如果由于号码无效而导致呼叫失败,我需要显示一条消息。我知道您可以拨打Twilio's REST API来获取通话状态,但是有没有办法在不拨打额外电话的情况下获取状态?

例如,我希望您在connection处理程序中返回的disconnect对象会为您提供状态,如下所示:

Twilio.Device.disconnect(function(connection) {
  if (connection.status === 'failed') {
    // display error message
  }
});

然而,这是不可能的,或者我没有找对地方。

我的另一个想法是,当我将debug设置为true时,我可以在拨打无效号码时看到这个有用的日志:

[Connection] Received HANGUP from gateway
[Connection] Disconnecting...

但有没有办法访问HANGUP事件?

提前致谢!

2 个答案:

答案 0 :(得分:1)

我不确定您需要哪个,但在acceptconnect方法中,请尝试侦听发出的'hangup''error'个事件通过Connection类:

Twilio.Device.connect(function(connection) {
  connection.on('hangup', function (err) {
    console.log(err)
  })
})

答案 1 :(得分:0)

Twilio开发者传道者在这里。

您实际上可以在Twilio.Connection对象上获得通常需要Twilio REST API的所有详细信息。只需查看parameters attribute,它就会包含所有正常Twilio voice request parameters,包括CallStatus