我的问题是我无法在Android应用程序(LTE/4G/3G)和使用JavaScript编写的Deskop应用程序(连接到WiFi) 。Webrtc在cellurar上失败,但在Wifi上工作(也是不同的wifis)
来电:Android应用程序 被叫:桌面Web应用程序
我使用STUN从XirSys(模拟账户)& TURN服务器。
主要有以下几种情况:
- Android应用程序(Wifi1) - >桌面应用程序(Wifi1) - 工作
- Android应用程序(Wifi2) - >桌面应用程序(Wifi1) - 工作
- Android应用程序(Lte/4G/3G) - >桌面应用程序(Wifi1) - 无法正常工作
奇怪的是,IceCandidates已交换。 在被调用方,它会抛出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套接字交换候选人,但它总是将IceconnectionState更改为被叫方失败。
ANOTHER编辑:
的WebRTC内幕都呈现以下
好像这个问题是不匹配的候选人...
网络基础知识:是的,**你不能**无需公网IP和它无关android ... – Selvin
@Selvin我的服务器运行在一个公共IP地址上。我忘了提到这一点。所以你的答案是不解决问题... – John
@Selvin 它的工作原理,如果你在AppRTC例子上测试它。所以它必须有办法做到这一点。也许我的Turn Servers不能按我想要的方式工作。我试图在cygwin atm上建立一个Coturn服务器...如果它的工作,我会给出一个响应。 – John