我的问题是我无法在Android应用程序(LTE / 4G / 3G)和用JavaScript编写的Deskop应用程序(连接到WiFi)之间建立成功的连接。
来电者:Android App Callee:桌面Web应用程序
我正在使用XirSys的STUN和TURN服务器(模拟账户)。
有以下场景:
奇怪的是IceCandidates被交换了。在Callee方面,它会抛出iceGatheringState Complete。在呼叫者方面,它首先抛出完成然后失败。
我会得到所有帮助,我将不胜感激。如果我必须发布任何进一步的细节(代码,日志等),请告诉我。
亲切的问候
Android输出:
12-12 11:27:40.841 4211-4238/xx.webrtc_android E/onIceConnectionChange: FAILED
12-12 11:27:40.841 4211-4238/xx.webrtc_android E/RESTARTING: PEERCONNECTION
12-12 11:27:40.844 4211-4238/xx.webrtc_android E/onIceConnectionChange: CLOSED
JMD
编辑:也许我用错误的方式表达了问题...我可以从LTE / 4G / 3G连接到我的服务器,该服务器运行在公共IP地址上。
问题是当我的Android应用程序在LTE / 4G / 3G网络上运行时,我无法建立对等2对等连接。我可以通过SignalR Socket交换候选者,但它总是将被叫侧的IceconnectionState更改为失败。
另一个编辑:
WebRTC Internals显示以下内容
似乎问题是没有匹配的候选人......
我添加了一些xirsys stun/turn
服务器,现在可以使用了。它表明概览面板中只需要一个昏迷的服务器。 WebRTC Internals显示以下内容:
Statistics Conn-audio-1-0
timestamp 12/15/2016, 3:09:05 PM
googActiveConnection true
bytesReceived 313234
bytesSent 40179
packetsSent 367
googReadable true
requestsSent 7
consentRequestsSent 1
responsesSent 7
requestsReceived 7
responsesReceived 7
googChannelId Channel-audio-1
googLocalAddress 50.97.253.78:52438
localCandidateId Cand-OPB5vZ00
googLocalCandidateType relay
googRemoteAddress 80.187.103.5:27515
remoteCandidateId Cand-uraNsZG+
googRemoteCandidateType prflx
googRtt 778
packetsDiscardedOnSend 0
googTransportType udp
googWritable true