muaz-khan / WebRTC-Experiment

WebRTC, WebRTC and WebRTC. Everything here is all about WebRTC!!
https://www.webrtc-experiment.com/
MIT License
11.76k stars 3.95k forks source link

Chrome Android crashes making a Video-Call over 3G network #87

Open RonMen opened 11 years ago

RonMen commented 11 years ago

Hi @muaz-khan,

I tried your Video-Conferencing sample in Chrome on desktop and also Chrome on Android (both stable version) but Chrome on Android is crashing all the time. I also tried via local WLAN and it was working fine on both.

I also tried other samples via 3G and most times it seems to not work. Could there by limitations from the provider I'm using via 3G? Any ideas?

THX.

muaz-khan commented 11 years ago

Try this demo; hope it works. It is not setting any application specific bandwidth parameter for media tracks in the session descriptions; AFAIK, b=AS is not supported both on Firefox and Chrome for Android devices.

If connection is established; however ICE Agent was unable to find most suitable candidate for RTCP streaming; then obviously it is NAT traversing issue.

STUN is useful in 92% of the networks to setup a direct connection; otherwise TURN is used. That's why WebRTC specification suggested to use both STUN and TURN for each peer connection.

RonMen commented 11 years ago

Hi @muaz-khan, thx for the sample. I'm using Chrome on both, Android mobile and Desktop and it seem to work there with your sample. On Android I couldn't see the other one coming from Desktop, but on Desktop I could see the Android mobile user.

In my sample implementation I use a TURN server, and both are using same Chrome browser but I couldn't get it working. Something seems braking the flow for me in my sample implementation.

The problem I have is somebody else using the same network provider with a data SIM card only it seems to work with this setting on Android 4.0.3 using same Chrome version but on the Nexus 4 I'm using it won't work.

muaz-khan commented 11 years ago

A while ago; it appeared to me that (same like firefox) we need to manually call play to render remote media stream in video element on Android devices:

video.controls = true;
video.autoplay = true;

video.play();

Can you share session descriptions generated by both ends? Direction must be "sendrecv"; otherwise it could be attachment issue.

Each latest TURN server has built-in STUN support, though. However, it is still recommended to try a standalone STUN server; because its expected usage is about 92%.

Did you try a few other TURN implementations too?

RonMen commented 11 years ago

Hi @muaz-khan,

both, offer and answer, have "sendrecv" but it seems to not go on with the network provider.

The PeerConns are using TURN only for now. It is really strange when we use a tablet running Chrome on Android using same network provider with a special SIM card only for internet traffic without the option to make phone calls.

So both, Android using Chrome und Desktop using Chrome are running Chrome latest stable 28.0.1500.x

PS: I tried using another one your are using in your implementation and this one worked well, so it seems to be the TURN implementation we are using. We are investigating more to find the issue.

Regards.