Enconter ICE failed at some case

43 views
Skip to first unread message

王一

unread,
Aug 27, 2015, 10:01:41 PM8/27/15
to eas...@googlegroups.com
Hi Eric,

To resolved the Error of 'ICE failed' , We had installed a STUN server, Of course find more free STUN server for testing.
But always encounter 'ICE'. the detail is:
  • A , B, C are in different city.   B & C is Geographically close to some
  • A & B use the same service of NSP(network service provider ), and C use others (different with A & B).
  • A videos with B  works well,
  • B videos with C works well too.
But When A videos C, the demon ICE shows.

TO the problem, I have no idea about it. Could you please give me some idea?
Thank you very much.


On other hand.
For A & C can connect each other in website "https://apprtc.appspot.com/" via VPN,  
But can't connect with easyui,  and we has tested demo 'demos/demo_audio_video_simple.html' too , the result is can't connect each other.





Eric Davies

unread,
Aug 27, 2015, 11:45:17 PM8/27/15
to EasyRTC
sounds like A and C are behind symmetric NATs, while B isn't.
In theory, you can get by with STUN if only one of the parties is behind a symmetric NAT.
The answer is most likely that you need a TURN server. 
You can check this out by trying out our demos at demo.easyrtc.com, it's back by a TURN server. If A and C can chat with our demo, but not with yours, it's time to get yourself a TURN server. There are open source implementations, like coturn and rfc5766 .

王一

unread,
Aug 29, 2015, 5:22:36 AM8/29/15
to EasyRTC
Yes, A can video with C after using TURN server.
Thank you very much.

BTW, Can I increase waiting time for ICE, some time show the ICE failed too. I wait to increase the waiting time,
OR how can i catch the ice failed error for enhancing friend UI.

Eric Davies

unread,
Aug 31, 2015, 10:49:30 AM8/31/15
to EasyRTC
You can't change the waiting time, that's hard coded in the browser.
If you want to catch the ice failed error, your best bet is use the failure callback parameter for easyrtc.call.
Beyond that, you'd need to modify the block of code that starts with 
      pc.oniceconnectionstatechange = function(ev) {

王一

unread,
Sep 1, 2015, 2:40:02 AM9/1/15
to EasyRTC
Thank you for your reply.
Reply all
Reply to author
Forward
0 new messages