0

我最近开始遇到奇怪的行为,试图发起拨出电话浏览器 - > 电话。

每次我刷新浏览器时,我的初始调用都会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)

  • phonecallParams 是相同的

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

4

1 回答 1

0

好的,所以这原来是那些愚蠢的事情之一......

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

我现在在我的页面加载时请求我的拨出电话令牌,并且当用户想要发起呼叫时,令牌已经完全设置,无论它需要在哪里。

于 2019-11-15T11:15:58.547 回答