-
Notifications
You must be signed in to change notification settings - Fork 454
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WebRTC TURN over TCP needs adjust #1294
Comments
There is a TCP ICE channel albeit with a very confusing base class. I have personally never used or tested that implementation. In the original implementation no TCP option was implemented for RTP as I was somewhat skeptical that it would work well enough to be useful. As soon as there's packet loss or congestion TCP is going to be a big handicap for real-time media. I do get the point about corporate firewalls blocking UDP and I guess with WebRTC now taking over from VoIP an occassionally glitchy stream is better than no stream. |
WebRTC is indeed taking a learing role in the conversational AI implementations, since its ability to carry data and voice provides a cross-browser channel whilst avoiding WebSockets, often outright blocked in corporate networks. We see tcp in the robust solutions like Google Meet, when udp failsover: Engineers best to decide on their implementation. Quality difference in 1:1 streams should be minimally different (passing over same routes). We shall do trails of PR #1295 in our preprod. Really love your work. Will contribute additional PRs, wherever we can help too. |
@sipsorcery I saw that the PR #1295 is now merged, to align RTC candidate to use TCP. Can we release an updated Nuget with the changes? |
@bryanlimktscv (or anyone else) would you be able to confirm whether that PR allows ICE over TCP to now work? |
Clients firewalls are outright configured to block UDP or not route UDP. This presents a problem to establish WebRTC sessions to our SipSorcery .NET backend, even when we provide a TURN server to proxy the traffic between peers. In this implementation, the browser is peer to the backend stack, the corresponding peer (on a static IP address)
While the client can establish a TCP connection to COTURN (our TURN server), it seems SipSorcery does not offer TCP options. It is not clear if this line L287 is a bug since "udp" is hard coded under the tcp condition:
sipsorcery/src/net/ICE/RTCIceCandidate.cs
Line 287 in 23441de
The text was updated successfully, but these errors were encountered: