Problem with EasyRTC and custom STUN/TURN (XirSys)

432 views
Skip to first unread message

Zoran Krnetic

unread,
Jul 23, 2014, 3:19:48 PM7/23/14
to eas...@googlegroups.com
We have built video calling app based on EasyRTC and we are experiencing the following issue:

When we use custom XirSys STUN/TURN (set up as described here: http://xirsys.com/easyrtc/ ) every now and then video/audio fails and we have black box instead of video and no audio. That started happening with latest Chrome/Chromium update. It fails sometimes on first attempt, but always at 10th attempt most. Once that happens, every further attempt to call from that caller would fail until he refreshes browser page. 

We experience the  same issue with EasyRTC simple audio video demo with XirSys config on server side.

This is happening between two parties at remote locations. On the other hand, when testing in local network connections always succeed. Also, when we replace XirSys on our server.js with just Google's public STUN it always works. 

Has anybody experienced similar problems? Do you have any recommendation for debugging this?

Thanks,
Zoran

Eric Davies

unread,
Jul 23, 2014, 4:55:24 PM7/23/14
to eas...@googlegroups.com
Xirsys has contacted us and we're looking into it.

Zoran Krnetic

unread,
Jul 23, 2014, 5:55:46 PM7/23/14
to eas...@googlegroups.com
Thanks for such quick response!

Zoran

Eric Davies

unread,
Jul 23, 2014, 8:04:28 PM7/23/14
to eas...@googlegroups.com
Hi Zoran,

I just pushed a commit to the easyrtc beta branch. It contains a new method:

setUseFreshIceEachPeerConnection(value)

         Determines whether fresh ice server configuration should be requested from the server for each peer connection.
    Parameters:
NameTypeDescription
valueBooleanthe default is false.

Just add the call   
     easyrtc.setUseFreshIceEachPeerConnection(true);
to your setup code and the client will request a new ice config from the server before building the peer connection. The call and answer actually wait for the response before continuing.

That said, if you are doing a chat system that requires human interaction to "answer" a call, I'd suggest doing your own message to offer a "call" and "accept" it, and then do the easyrtc.call itself with automatic acceptance on the receiving side so you aren't waiting for a human to click a button while your turn server credential expires. It's what we do in tawk.

Hope this solves your problems!

Eric.

Zoran Krnetic

unread,
Jul 24, 2014, 3:06:24 AM7/24/14
to eas...@googlegroups.com
Eric, 

thank you! I will give it a try and let you know if it solves the problem.

Zoran

Zoran Krnetic

unread,
Jul 24, 2014, 5:07:39 PM7/24/14
to eas...@googlegroups.com
Problem is solved in beta branch. Thank you Eric!

Reply all
Reply to author
Forward
0 new messages