javascript - JSSIP WebRTC 手机 30 秒后自动断开连接

标签 javascript webrtc voip freeswitch jssip

我已嵌入JSSIP http://tryit.jssip.net/打电话到我们的应用程序,它使用 Freeswitch对于调用,除了调用之外的所有文字都会在 30 秒左右后断开连接,并且在浏览器 JS 控制台日志中我们看到以下内容,

Freeswitch我看到来自 JSSIP 的重新邀请电话,目前Freeswitch配置于 bypass_media=true模式。

JS控制台登录浏览器:

JsSIP:InviteServerTransaction Timer L expired for transaction z9hG4bK9mjrH9cZ6FHtK +30s
jssip.js:21403 JsSIP:Transport received WebSocket text message:

BYE sip:50hn96ps@h1bf3jcld769.invalid;transport=ws SIP/2.0
Via: SIP/2.0/WSS 10.20.20.212:7443;branch=z9hG4bKDSQUrNgDUKa5H
Max-Forwards: 70
From: "Satish" <sip:1003@10.20.20.212>;tag=6aQ2K8U19X09j
To: <sip:50hn96ps@h1bf3jcld769.invalid;transport=ws>;tag=5vuctmpuh3
Call-ID: 07a9b5e7-7d8e-1233-c2bf-2a1507b53463
CSeq: 75946179 BYE
User-Agent: FreeSWITCH-mod_sofia/1.4.18-3-1~64bit
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
Supported: timer, path, replaces
Reason: Q.850;cause=96;text="MANDATORY_IE_MISSING"
Content-Length: 0


 +29s
jssip.js:21403 JsSIP:RTCSession receiveRequest() +12ms
jssip.js:21403 JsSIP:Transport sending WebSocket message:

SIP/2.0 200 OK
Via: SIP/2.0/WSS 10.20.20.212:7443;branch=z9hG4bKDSQUrNgDUKa5H
To: <sip:50hn96ps@h1bf3jcld769.invalid;transport=ws>;tag=5vuctmpuh3
From: "Satish" <sip:1003@10.20.20.212>;tag=6aQ2K8U19X09j
Call-ID: 07a9b5e7-7d8e-1233-c2bf-2a1507b53463
CSeq: 75946179 BYE
Supported: outbound
Content-Length: 0


 +0ms
jssip.js:21403 JsSIP:RTCSession session ended +1ms
jssip.js:21403 JsSIP:RTCSession close() +0ms
jssip.js:21403 rtcninja:RTCPeerConnection close() +0ms
jssip.js:21403 JsSIP:RTCSession close() | closing local MediaStream +7ms
jssip.js:21403 rtcninja:Adapter closeMediaStream() | calling stop() on all the MediaStreamTrack +1ms
jssip.js:21403 JsSIP:Dialog dialog 07a9b5e7-7d8e-1233-c2bf-2a1507b534635vuctmpuh36aQ2K8U19X09j deleted +1ms
jssip.js:21403 JsSIP:NonInviteServerTransaction Timer J expired for transaction z9hG4bKDSQUrNgDUKa5H +2ms
jssip.js:21403 rtcninja:RTCPeerConnection oniceconnectionstatechange() | iceConnectionState: closed +0ms
jssip.js:21403 rtcninja:RTCPeerConnection onsignalingstatechange() | signalingState: closed +1ms

更新:以上问题仅适用于 JSSIP 电话,它可以在 http://sipml5.org/ 上正常工作。网络电话。

最佳答案

对于手机来说,这是正常现象,这可能是非事件应用程序的操作系统限制。

对于 iOS 应用程序网络事件超时约为 30 秒。此应用程序之后网络请求将不会发送。

对于 Android 应用程序网络事件超时约为 30 秒到 3 分钟。

但请注意,关于 WebRTC Communications Consent :

Implementations MUST verify continuing consent at least every 30 seconds

关于javascript - JSSIP WebRTC 手机 30 秒后自动断开连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30442224/

相关文章:

iphone - 如何通过 wifi 和 3G 网络设置语音聊天?

javascript - 单击 D3 饼图段时 this.set() 不是函数

webrtc - 为什么 WebRTC 需要远程端的本地 IP?

javascript - Angular.js 与 $sce 的问题阻止我将我想要的内容传递到我的指令中

javascript - 是否未检测到 turnserver?

node.js - 如何设置 Node/Express 作为 STUN 服务器?

android启动蓝牙sco不在 Lollipop 中路由麦克风

voip - 使用 Asterisk Sip 拨出 - 线路繁忙错误

javascript - 为每个第三个元素添加类并排除具有 X 类的元素

javascript - 如何通过动画显示正在排序的 HTML 元素