Samsung browser

SLM

Member
The built in Chrome mobile browser on Samsung phones will not display a stream and fails with the following error:
"Failed by ICE timeout". Switching udp to tcp doesn't help and results in the same error. Regular Google Play store Chrome or Apple iOS Safari does not have this issue.

Useragent:
Mozilla/5.0 (Linux; Android 11; SAMSUNG SM-A226B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/14.0 Chrome/87.0.4280.141 Mobile Safari/537.36

OS: (Oreo)
5.0 (Linux; Android 11; SAMSUNG SM-A226B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/14.0 Chrome/87.0.4280.141 Mobile Safari/537.36

Server version:
5.2.971

Client JS version:
v.2.0.171-5.2.971-217c232d3e203f2e45cb82a28d82ce42a9302df5

Log:


26-07-2021 14:03:23 [Method:connect
"nodeId":"KCeGX6fomSVd82pPRdBG42V3PDrRGlzY@ww.xx.yy.zz",
"sessionId":"/aa.bb.cc.dd:xxx",
"useWsTunnel":false,
"useWsTunnelPacketization2":false,
"msePacketizationVersion":2,
"useBase64BinaryEncoding":false,
"mediaProviders":["WebRTC","MSE","WSPlayer"],
"clientVersion":"2.0.171",
"clientOSVersion":"5.0 (Linux; Android 11; SAMSUNG SM-A226B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/14.0 Chrome/87.0.4280.141 Mobile Safari/537.36",
"clientBrowserVersion":"Mozilla/5.0 (Linux; Android 11; SAMSUNG SM-A226B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/14.0 Chrome/87.0.4280.141 Mobile Safari/537.36",
"keepAlive":false

26-07-2021 14:03:23 [Method:ConnectionStatusEvent
"nodeId":"KCeGX6fomSVd82pPRdBG42V3PDrRGlzY@ww.xx.yy.zz",
"sessionId":"/aa.bb.cc.dd:xxx",
"useWsTunnel":false,"useWsTunnelPacketization2":false,"msePacketizationVersion":2,"useBase64BinaryEncoding":false,
"mediaProviders":["WebRTC","MSE","WSPlayer"],"authToken":"/aa.bb.cc.dd:xxx",
"status":"ESTABLISHED",
"clientVersion":"2.0.171",
"clientOSVersion":"5.0 (Linux; Android 11; SAMSUNG SM-A226B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/14.0 Chrome/87.0.4280.141 Mobile Safari/537.36",
"clientBrowserVersion":"Mozilla/5.0 (Linux; Android 11; SAMSUNG SM-A226B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/14.0 Chrome/87.0.4280.141 Mobile Safari/537.36",
"keepAlive":false,

26-07-2021 14:03:24 [Method:playStream
"nodeId":"KCeGX6fomSVd82pPRdBG42V3PDrRGlzY@ww.xx.yy.zz",
"sessionId":"/aa.bb.cc.dd:xxx",
"mediaSessionId":"79d91bc0-ee09-11eb-a1de-c1590abc5ced",
"name":"314558fe66cf4ddc03cca51a3662791c","published":false,"hasVideo":true,"hasAudio":true,
"status":"PENDING","record":false,"width":0,"height":0,"bitrate":0,"minBitrate":0,"maxBitrate":0,"quality":0,"history":false,"gop":0,"fps":0,"audioBitrate":0,"codecImpl":"",
"transport":"UDP","cvoExtension":false,"audioState":{"muted":false},"videoState":{"muted":false},
"mediaProvider":"WebRTC",

26-07-2021 14:03:39 [Method:StreamStatusEvent
"nodeId":"KCeGX6fomSVd82pPRdBG42V3PDrRGlzY@ww.xx.yy.zz",
"sessionId":"/aa.bb.cc.dd:xxx",
"mediaSessionId":"79d91bc0-ee09-11eb-a1de-c1590abc5ced",
"name":"314558fe66cf4ddc03cca51a3662791c","published":false,"hasVideo":true,"hasAudio":true,
"status":"FAILED",
"audioCodec":"opus",
"info":"Failed by ICE timeout","record":false,"width":0,"height":0,"bitrate":0,"minBitrate":0,"maxBitrate":0,"quality":0,"history":false,"gop":0,"fps":0,"audioBitrate":0,"codecImpl":"",
"transport":"UDP","cvoExtension":true,"createDate":1627301004155,"mediaType":"play","audioState":{"muted":false},"videoState":{"muted":false},
"mediaProvider":"WebRTC",

26-07-2021 14:03:39 [Method:playStream
"nodeId":"KCeGX6fomSVd82pPRdBG42V3PDrRGlzY@ww.xx.yy.zz",
"sessionId":"/aa.bb.cc.dd:xxx",
"mediaSessionId":"830cc2a0-ee09-11eb-a1de-c1590abc5ced",
"name":"314558fe66cf4ddc03cca51a3662791c","published":false,"hasVideo":true,"hasAudio":true,
"status":"PENDING","record":false,"width":0,"height":0,"bitrate":0,"minBitrate":0,"maxBitrate":0,"quality":0,"history":false,"gop":0,"fps":0,"audioBitrate":0,"codecImpl":"",
"transport":"TCP","cvoExtension":false,"audioState":{"muted":false},"videoState":{"muted":false},
"mediaProvider":"WebRTC",

26-07-2021 14:03:54 [Method:StreamStatusEvent
"nodeId":"KCeGX6fomSVd82pPRdBG42V3PDrRGlzY@ww.xx.yy.zz",
"sessionId":"/aa.bb.cc.dd:xxx",
"mediaSessionId":"830cc2a0-ee09-11eb-a1de-c1590abc5ced",
"name":"314558fe66cf4ddc03cca51a3662791c","published":false,"hasVideo":true,"hasAudio":true,
"status":"FAILED",
"audioCodec":"opus",
"info":"Failed by ICE timeout","record":false,"width":0,"height":0,"bitrate":0,"minBitrate":0,"maxBitrate":0,"quality":0,"history":false,"gop":0,"fps":0,"audioBitrate":0,"codecImpl":"",
"transport":"TCP","cvoExtension":true,"createDate":1627301019651,"mediaType":"play","audioState":{"muted":false},"videoState":{"muted":false},
"mediaProvider":"WebRTC"

 

Max

Administrator
Staff member
Good day.
We cannot reproduce the issue with Samsung S10+ (Android 11, OneUI 3.1), Samsung Browser 14.2: a stream puiblished on our demo server (5.2.998, Web SDK 2.0.180) is playing in Two Way Streaming example successfully. Please try to reproduce the isssue on demo server https://demo.flashphoner.com/client...ming/two_way_streaming/two_way_streaming.html
Also please make sure that media ports in range media_port_from-media_port_to are not blocked by firewall/NAT/mobile operator.
If the problem still persists, collect a report as described here and send using this form.
 

SLM

Member
The demo doesn't work on this new out of the box Samsung A22 5G (SM-A226B/DSN) with SamsungBrowser. It does work on other Android phones and iPhones. Samsung browser version 14.0.1.62

Connect: Ok
Publish stream 8ca9 at 12:07 Brussels time: Ok
Available? : unavailable / stream not found
Play stream 8ca9: Failed
 
Last edited:

Max

Administrator
Staff member
Available? : unavailable / stream not found
This means youi did not published the stream with given name. Please check if state is PUBLISHING:
1627522007841.png

The screenshot is taken from Samsung S10+, Samsung Internet 14.2.1.69
 

SLM

Member
You were correct. The publish action succeeded but after several seconds went to 'Failed by ICE Timeout'. Tested just now.
 

Max

Administrator
Staff member
You were correct. The publish action succeeded but after several seconds went to 'Failed by ICE Timeout'. Tested just now.
If this is reproducing with our demo server from your device, it's definitely a connection problem. Please try to change mobile operator and/or network type (from 4G to Wi-Fi). Please also check local network NAT/firewall as we recommended above.
 

SLM

Member
This is done on Wifi without any connection problems. It also happens on 3g/4g. No firewall blocking.
 

Max

Administrator
Staff member
This is done on Wifi without any connection problems. It also happens on 3g/4g. No firewall blocking.
Do not use 3G for streaming unless you're streaming audio only.
Please clarify: the issue is reproducing with this demo page opened on device? If yes, check the device for VPN clients/adblockers/etc installed.
If the issue is reproducing on your WCS instance only, please collect a report as described here including traffic dump on server side (the traffic dump collection must be started before stream publishing) and send using this form.
 

SLM

Member
It's reproduced on demo.flashphoner as well as our own servers.

There are no vpn clients or adblockers installed. As I've said, it's a newly bought, fresh out of the box Samsung A22 5G (SM-A226B/DSN) with the default Chrome like Samsung internet browser version 14.0.1.62. We did not install any apps on it or changed any settings.

Edit: And it's definitely not a network issue because other mobile phones and computers on the same network can connect and stream without any issues and browsing other sites or viewing Youtube video's do not present any problems.
 

Max

Administrator
Staff member
It's reproduced on demo.flashphoner as well as our own servers.
We cannot reproduce the issue with our test devices (Samsung S10+, S9, S8). So please collect a report on your server as described here including traffic dump on server side (the traffic dump collection must be started before stream publishing) and send using this form.
 

SLM

Member
Hi,

I've collected the logs as requested. The total file size is more than 30 MB so I could not use the form. I've sent it via Wetransfer.

Tests:
12:14 PM : Samsung Internet browser v14.2.3.14 tested 2-way stream demo. Result publish failed by ICE timeout.
12:18 PM : Chrome browser v92.0.4515.115 tested 2-way stream demo. Result publish failed by ICE timeout.
12:24 PM : Firefox v90.1.2 tested 2-way stream demo. Result publish success, playing success.

All tests were done on a stable Wifi connection with a Samsung A22 5G on Android 11 kernel version 4.14.186-21675614. The out-of-the-box phone has been updated to the latest available Samsung Internet version and latest available firmware prior to these tests.
 

Max

Administrator
Staff member
We checked your report.
Seems like your device does not send STUN Binding Request at all while the problem is reproducing. We see STUN traffic for successful WebRTC connection only in the dump provided.
Also you said that the problem is reproducing with Samsung browser only, but according to the logs, it is also reproduced with Chrome browser.
So it seems like STUN traffic is randomly blocked on device or on NAT/router (outgoing traffic to udp ports 31002 and 31006 was locked, but to 31010 was not).
According to report, iptables allows incoming connections to the server ports 30000-33000/udp.
Please check your security group settings for the server instance.
Also please try to perform device hard reset, and try to use other network to connect to the server (not the office Wi-Fi).
 

SLM

Member
Yes I said initially it was only on Samsung Internet browser. This was because I wanted to check if a clean Samsung A22 produced these problems or our customers just had some apps installed that would block certain traffic.

This is not the case. The Samsung A22 produces the same problem on the Samsung Internet browser as on the Chrome app downloaded from the play store.

However, FIrefox does work without any problems on this device, so it's not the device itself persé and not the network or the server but rather the webkit based browsers on this device (combination with cpu/gpu/codec support?). The same issue is produced on your own demo test server with this Samsung model and again FIrefox works.

Also, when I use Samsung Internet browser and Chrome on test.webrtc.org the test fails. If I deny access to the cam/mic the test continues to the network traffic test but then stops at the UDP check. Firefox on the same Samsung device completes the test successfully.

Now if this device or browser would be a hardly used device / phone, I would leave at this, but it is used quite often since it's a new and affordable Samsung. Our customer base is 90%+ mobile phone users so this issue affects us.

Also other Android phones and iPhones do not have the same issue, using the same network, server etc etc.

I've also tried using vp8 onlyfor this device but the same problem occurs.

As I've mentioned in my earlier post, the logs I've sent includes a test with FIrefox on the same Samsung device which does succeed, so you might be able to see the difference in behaviour in that.

Server security settings, iptables etc are fine. A hard reset of the Samsung does not result in successful streaming/publishing. Updating the Samsung to the latest available updates also does not make a difference.
 

Max

Administrator
Staff member
Also, when I use Samsung Internet browser and Chrome on test.webrtc.org the test fails. If I deny access to the cam/mic the test continues to the network traffic test but then stops at the UDP check. Firefox on the same Samsung device completes the test successfully.
PLease also check with AppRTC. If the problem is reproducing using this test, please contact Samsung support about it.
I've also tried using vp8 onlyfor this device but the same problem occurs.
The codec used does not matter, the STUN connection is not established using correct address and port.
You can also try to switch to TCP transport (use the Media Devices example for testing):
1627895356001.png

If nothing helps, contact Samsung support
 

SLM

Member
The AppRTC test also doesn't work on Samsung Internet or Chrome but does work in Firefox.

The TrickleICE test on https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ also doesn't work on Samsung Internet or Chrome but again, it does work on Firefox.

Switching to TCP has no effect. Still not working on Samsung Internet or Chrome but again works on FF.

I also tried the Firewall Streaming (TURN) example on your demo page but that doesn't even work on my laptop with Chrome or FF or my with the default setting on the form (with force relay on). When I uncheck force relay it works but it doesn't work on Samsung Internet or Chrome on the Samsung A22.

Since webrtc doesn't just work on Samsung Internet but also doesn't work on Chrome and does work on Firefox, I doubt Samsung will view this as a Samsung problem. I will contact their support nonetheless but I doubt it will fix this.
 

Max

Administrator
Staff member
Since webrtc doesn't just work on Samsung Internet but also doesn't work on Chrome and does work on Firefox, I doubt Samsung will view this as a Samsung problem. I will contact their support nonetheless but I doubt it will fix this.
They should fix it if you provide them a steps to reproduce with well-known examples (AppRTC, TrickleICE).
You can recommend your customers to use Firefox on such device until Samsung will fix the issue.
 
Top