MeshCentral icon indicating copy to clipboard operation
MeshCentral copied to clipboard

[Question] About problems with WebRTC and it's current state

Open SEsternO opened this issue 3 years ago • 8 comments

First I gotta say, I can't thank you, guys from MeshCentral team, enough for this ambitious and fully open-source project and for how it made my life much easier. Truly outstanding work!

I wanted to know if current implementation of WebRTC is stable and reliable enough for use in production environment, as I tried to use it, but had some issues that I can't undestand if it's on my side or not.

I have some agents installed on machines under the different network configurations:

  • some of them have heavily or moderately firewalled ports behind the organisation servers (mostly with shorewall)
  • others are connected to the consumer grade routers with default settings and their routers external ip is visible on the internet
  • and I also have my home network where my router doesn't have visible exernal ip and NATed by my mobile provider.

I enabled WebRTC in config.json. I've got a coturn based TURN server, and it works fine, at least with my Nextcloud Talk instance. Here's some important for the question lines of config.json:

  "settings": {
    "WANonly": true,
    "port": 4430,
    "aliasPort": 443,
    "redirPort": 800,
    "redirAliasPort": 80,
    "TlsOffload": "127.0.0.1",
    "_DesktopMultiplex": false,
    "WebRTC": true,
    "webrtcConfig": {
      "iceServers": [
        { "urls": "stun:stun.services.mozilla.com" },
        { "urls": "stun:stun.l.google.com:19302" },
        {
            "urls": "turn:turn.mydomain.org:3478",
            "credentials": "secretkey"
        }
      ]
    }
  }, 

The main problem is, when I try to connect to any organisations machine, it doesn't seem to establish WebRTC connection, at least it doesn't show it near the "Connect" button. And looking through the firewall logs, it doesn't seem that any related connections have been blocked. It does connect through WebRTC though, when I'm connecting to my machines in the same home network, which again, is NATed by my provider. But even though it does work this way, after some time in remote session, or after multiple connections to the machine, the session picture just freezes and doesn't update with the input (the input still registers). All of my tested home machines have Windows 10 21H2 x64 OS.

So I wanted to ask if I might have done something wrong, and is it worth it to use WebRTC at this time anyways, as I saw some semi-recent tickets about corruption bug with WebRTC and one opened ticket about WebRTC problems without much information (https://github.com/Ylianst/MeshCentral/issues/2863). I'm also ready to provide any necessary logs or other useful info if needed.

Server: 0.9.68 with Debian 11 and node.js v16.13.1, tested in Chrome and Firefox browsers.

also, if my english is atrocious - i am very very sorry

SEsternO avatar Jan 15 '22 18:01 SEsternO