【问题标题】:Twilio webRTC call cuts off after exactly 10 minutesTwilio webRTC 通话恰好在 10 分钟后中断
【发布时间】:2016-11-29 02:04:37
【问题描述】:

使用 Twilio.js 通过 webRTC 录制通话。工作正常,除了在 10 分钟标记(准确!)电话挂断。 TwiML 上的最长记录时间设置为 7200 秒。

浏览器控制台显示:
[Twilio.PeerConnection] signalingState is "stable" twilio.js:1843 [Twilio.PeerConnection] iceConnection State is "checking" twilio.js:1843 [Twilio.PeerConnection] iceConnection State is "connected" twilio.js:1843 [Twilio.PeerConnection] iceConnection State is "completed"

[10 分钟后...]

twilio.js:1843 [Connection] Received HANGUP from gateway twilio.js:1843 [Connection] Disconnecting...

Chrome://webrtc-internals 转储没有用: { "time": "11/28/2016, 4:35:48 PM", "type": "iceConnectionStateChange", "value": "ICEConnectionStateCompleted" }, { "time": "11/28/2016, 4:45:51 PM", "type": "stop", "value": "" },

中断 twilio.js 库,我看到有东西发送了一个带有有效负载的 websocket 消息:{"payload":{"callsid":"CA18974349269fb9f24977185c5deaa62c"},"type":"hangup","version":""},这显然会导致客户端挂断呼叫。

对为什么会发生这种情况有任何想法吗?它发生在桌面和移动浏览器中。

【问题讨论】:

  • 这里是 Twilio 开发人员传道者。我建议您将此报告发送至 help@twilio.com,以便他们可以与 Twilio 中的正确团队一起升级此问题。我们希望确保为您解决此问题,因为 WebRTC 调用没有 10 分钟的限制。

标签: javascript webrtc twilio


【解决方案1】:

事实证明,Twilio 在 600 秒后切断了 webRTC 调用。不完全确定为什么,但我猜它与 Turn Servers 的 --stale-nonce 参数有关,巧合的是,它有 600 秒的超时。也许吧?

编辑并修复。

最终,Twilio 回复了我们的请求,并提供了一种解决方法来启用 WEBRTC 10 分钟以上的录制。恕我直言,这很 hacky,但它确实有效。

当呼叫者加入时,将一个出站 API 调用注入会议,其中播放无声 mp3,可以是很长的,也可以是循环的短的。这个outbound leg是开始会议所必需的,静音mp3会双向发送RTP。 另一个相当相似的方法是让客户端这样拨入:

<Response>
   <Dial record="true" action="record_action">
    <Conference waitUrl="url_to_nearly_silent_audio_file">record</Conference>
  </Dial>
</Response>

您需要为 waitURL 中的循环制作一个低容量的 WAV 文件,以防完全静默的 WAV 文件不生成 RTP 数据包。

https://www.twilio.com/docs/api/twiml/conference

【讨论】:

    【解决方案2】:

    我知道我说的是显而易见的,但你的答案就在这里:

    [After 10 minutes...]
    
    twilio.js:1843 [Connection] Received HANGUP from gateway
    

    这可能是因为 Twilio 中的某些内容正在超时。您是否需要发送心跳以使其保持活力?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-18
      • 1970-01-01
      • 1970-01-01
      • 2013-06-15
      • 2013-12-27
      • 1970-01-01
      • 2018-09-11
      相关资源
      最近更新 更多