Twilio语音通话:令牌首次尝试不允许拨出电话

时间:2019-11-14 13:15:28

标签: twilio twilio-api twilio-twiml twilio-programmable-voice

我最近开始尝试启动拨出电话浏览器->电话时遇到异常行为。

每次刷新浏览器时,我对Twilio.Device.connect(phonecallParams)的初始调用都会导致错误:

Received an error from the gateway: {code: 31002, connection: Connection, message: "Token does not allow outgoing calls."}

如果我再次拨打Twilio.Device.connect(phonecallParams),它会起作用。
同样,每个后续调用均有效。但是,如果我刷新浏览器,则第一个调用将再次失败。

它曾经是第一次工作,每次都工作。但是我上个星期才进行测试。 现在,它每次都第一次失败。

第一个失败的通话:

  1. 我打电话给后端以获取令牌
  2. 我将令牌返回给JS方法
  3. 我打电话给Twilio.Device.connect(phonecallParams)
  4. 我收到错误消息。
  5. 没有其他事情发生。没有尝试调用我的TwiML处理程序。

第二次成功呼叫:

  1. 我打电话给后端以获取令牌
  2. 我将令牌返回给JS方法
  3. 我打电话给Twilio.Device.connect(phonecallParams)
  4. 我处理TwiML的后端方法称为
  5. 开始通话。

在两种情况下:

  • 令牌的构造方法与创建令牌的相同方法相同(并包含new OutgoingClientScope(_twilioAccount.TwiMLApplicationSid)

  • 电话通话参数相同

有人会知道发生了什么吗?

1 个答案:

答案 0 :(得分:0)

好吧,这真是愚蠢的事情之一……

我在请求我的令牌后立即/太早调用Twilio.Device.connect()-请求令牌的同一触发器也触发了Twilio.Device.connect()。

现在,当我的页面加载时,以及用户想要发起呼叫时,我都要求我的外发电话令牌,令牌已经完全建立在任何地方。