Answer the question
In order to leave comments, you need to log in
How is the webrtc problem solved in 3G networks?
The connection between clients via WebRTC does not work if at least one of the clients is connected via a Beeline 3G modem.
For communication, a configuration is used that includes the addresses of STUN and TURN servers. In this case, if the connection is not established via 3G, then the connection is established normally.
On a 3G connection, the problem occurs already at the ICE stage. In the firefox browser console, the error message is: "ICE failed. Your TURN server appears to be broken.".
In the WebRTC connection logs, you can see the following sequence of messages (I give in abbreviated form):
(stun/INFO) TURN Timed out
(turn/WARNING) mode 20
(turn/WARNING) nr_turn_client_error_cb
(turn/WARNING) failed
(turn/INFO) cancelling
(turn/WARNING) nr_turn_allocated_cb called with state 4
(turn/WARNING) nr_turn_allocated_cb failed
(stun/INFO) Timed out
(ice/INFO) All pairs are failed, and grace period has elapsed. Marking component failed.
What could be the reason? Are there typical or non-standard solutions for this problem?
Answer the question
In order to leave comments, you need to log in
Timed out indicates that the time is up, most likely the packets disappear along the way.
First, don't use public STUN/TURN servers.
Second, try configuring your turn server to work on standard ports 80 and 443.
It is highly desirable that all communication go through port 443 and TLS, in which case it is more expensive to do DPI.
If reconfiguring everything to typical web ports and wrapping in a TLS tunnel does not help, then you will have to look for something instead of WebRTC. Most likely, the provider uses signature methods for determining traffic and simply destroys the packets.
Providers are not interested in competing intranet traffic, so be prepared to fight.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question