【问题标题】:Twilio Ougoing Voice Call : Token does not allow outgoing calls on first attemptTwilio Ougoing 语音呼叫:令牌不允许首次尝试拨出电话
【发布时间】:2019-11-14 13:15:28
【问题描述】:

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

每次我刷新浏览器时,我对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 相同

有人知道会发生什么吗?

【问题讨论】:

  • 这很奇怪。你能分享生成令牌的代码吗?另外,您能否检查jwt.io 中的示例令牌并确保在第一个令牌上设置了传出应用程序 sid?

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


【解决方案1】:

好吧,结果证明这是那些愚蠢的事情之一......

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    • 2018-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多