首页 > 解决方案 > Twilio Ougoing 语音呼叫:令牌不允许首次尝试拨出电话

问题描述

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

每次我刷新浏览器时,我的初始调用都会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. 发起呼叫。

在这两种情况下:

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

标签: twiliotwilio-apitwilio-twimltwilio-programmable-voice

解决方案


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

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

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


推荐阅读