RocketChat / Rocket.Chat

The communications platform that puts data protection first.
https://rocket.chat/
Other
40.65k stars 10.66k forks source link

WebRTC: video and audio chat not working #20207

Closed danielpotthast closed 3 years ago

danielpotthast commented 3 years ago

Description:

We configured WebRTC with a self-hosted STUN / TURN server and tried to use it for direct video calls.

Steps to reproduce:

  1. Click an a profile
  2. Open the detail profile page
  3. Start a video call

Expected behavior:

A video overlay should appear and the call should be visible.

Actual behavior:

When trying to start a direct video chat, my own webcam lights up and the microphone is active. The interlocutor receives a dialog and confirms the question. The webcam and microphone is also activated on this side. But not video oder audio is visible / hearable.

Server Setup Information:

Client Setup Information

Relevant logs:

rocketchat log is empty for this issue

turn.log

turnserver[22476]: 415: session 001000000000000009: refreshed, realm=<turn.domain.tld>, username=<rocketchat>, lifetime=0
turnserver[22476]: 415: session 001000000000000009: realm <turn.domain.tld> user <rocketchat>: incoming packet REFRESH processed, success
turnserver[22476]: 415: session 000000000000000008: refreshed, realm=<turn.domain.tld>, username=<rocketchat>, lifetime=0
turnserver[22476]: 415: session 000000000000000008: realm <turn.domain.tld> user <rocketchat>: incoming packet REFRESH processed, success
turnserver[22476]: 415: session 000000000000000009: refreshed, realm=<turn.domain.tld>, username=<rocketchat>, lifetime=0
turnserver[22476]: 415: session 000000000000000009: realm <turn.domain.tld> user <rocketchat>: incoming packet REFRESH processed, success
turnserver[22476]: 416: session 000000000000000008: usage: realm=<turn.domain.tld>, username=<rocketchat>, rp=4, rb=304, sp=4, sb=424
turnserver[22476]: 416: session 000000000000000008: closed (2nd stage), user <rocketchat> realm <turn.domain.tld> origin <>, local IP-ADDRESS-LOCAL:5349, remote IP-ADDRESS-2:52408, reason: allocation timeout
turnserver[22476]: 416: session 000000000000000008: delete: realm=<turn.domain.tld>, username=<rocketchat>
turnserver[22476]: 416: session 000000000000000009: usage: realm=<turn.domain.tld>, username=<rocketchat>, rp=4, rb=304, sp=4, sb=424
turnserver[22476]: 416: session 000000000000000009: closed (2nd stage), user <rocketchat> realm <turn.domain.tld> origin <>, local IP-ADDRESS-LOCAL:5349, remote IP-ADDRESS-1:51478, reason: allocation timeout
turnserver[22476]: 416: session 000000000000000009: delete: realm=<turn.domain.tld>, username=<rocketchat>
turnserver[22476]: 416: session 001000000000000009: usage: realm=<turn.domain.tld>, username=<rocketchat>, rp=4, rb=304, sp=4, sb=424
turnserver[22476]: 416: session 001000000000000009: closed (2nd stage), user <rocketchat> realm <turn.domain.tld> origin <>, local IP-ADDRESS-LOCAL:5349, remote IP-ADDRESS-2:57144, reason: allocation timeout
turnserver[22476]: 416: session 001000000000000009: delete: realm=<turn.domain.tld>, username=<rocketchat>
turnserver[22476]: 421: session 001000000000000004: refreshed, realm=<turn.domain.tld>, username=<rocketchat>, lifetime=0
turnserver[22476]: 421: session 001000000000000004: realm <turn.domain.tld> user <rocketchat>: incoming packet REFRESH processed, success
turnserver[22476]: 421: session 001000000000000005: refreshed, realm=<turn.domain.tld>, username=<rocketchat>, lifetime=0
turnserver[22476]: 421: session 001000000000000005: realm <turn.domain.tld> user <rocketchat>: incoming packet REFRESH processed, success
turnserver[22476]: 421: session 000000000000000005: refreshed, realm=<turn.domain.tld>, username=<rocketchat>, lifetime=0
turnserver[22476]: 421: session 000000000000000005: realm <turn.domain.tld> user <rocketchat>: incoming packet REFRESH processed, success
turnserver[22476]: 421: session 001000000000000006: refreshed, realm=<turn.domain.tld>, username=<rocketchat>, lifetime=0
turnserver[22476]: 421: session 001000000000000006: realm <turn.domain.tld> user <rocketchat>: incoming packet REFRESH processed, success
turnserver[22476]: 422: session 000000000000000005: usage: realm=<turn.domain.tld>, username=<rocketchat>, rp=4, rb=304, sp=4, sb=424
turnserver[22476]: 422: session 000000000000000005: closed (2nd stage), user <rocketchat> realm <turn.domain.tld> origin <>, local IP-ADDRESS-LOCAL:5349, remote IP-ADDRESS-1:51097, reason: allocation timeout
turnserver[22476]: 422: session 001000000000000004: usage: realm=<turn.domain.tld>, username=<rocketchat>, rp=4, rb=304, sp=4, sb=424
turnserver[22476]: 422: session 000000000000000005: delete: realm=<turn.domain.tld>, username=<rocketchat>
turnserver[22476]: 422: session 001000000000000004: closed (2nd stage), user <rocketchat> realm <turn.domain.tld> origin <>, local IP-ADDRESS-LOCAL:5349, remote IP-ADDRESS-1:52226, reason: allocation timeout
turnserver[22476]: 422: session 001000000000000004: delete: realm=<turn.domain.tld>, username=<rocketchat>
turnserver[22476]: 422: session 001000000000000005: usage: realm=<turn.domain.tld>, username=<rocketchat>, rp=4, rb=304, sp=4, sb=424
turnserver[22476]: 422: session 001000000000000005: closed (2nd stage), user <rocketchat> realm <turn.domain.tld> origin <>, local IP-ADDRESS-LOCAL:5349, remote IP-ADDRESS-1:51319, reason: allocation timeout
turnserver[22476]: 422: session 001000000000000005: delete: realm=<turn.domain.tld>, username=<rocketchat>
turnserver[22476]: 422: session 001000000000000006: usage: realm=<turn.domain.tld>, username=<rocketchat>, rp=4, rb=304, sp=4, sb=424
turnserver[22476]: 422: session 001000000000000006: closed (2nd stage), user <rocketchat> realm <turn.domain.tld> origin <>, local IP-ADDRESS-LOCAL:5349, remote IP-ADDRESS-1:63808, reason: allocation timeout
turnserver[22476]: 422: session 001000000000000006: delete: realm=<turn.domain.tld>, username=<rocketchat>
danielpotthast commented 3 years ago

Still not working with 3.11.0 – any news on this issue?

photoninger commented 3 years ago

I have the same problem, even with the default google-turn/stun-servers. rocket.chat: 3.10.6 The called user gets a pop-up message with "incoming call from undefined". Perhaps this is a hint where to search for the bug? With rocket.chat 3.8.8 webrtc calls were working. No hints in server logs or browser console.

RotonEvan commented 3 years ago

Apparently /members-list adds up in the URL but the list does not show up. #21362 I've posted this issue.

danielpotthast commented 3 years ago

Still not working in 3.13.2.

@rodrigok @engelgabriel Are there any plans to fix this or should we better look for an alternative solution? Daily video calls are very important for us (and many people) nowadays and Rocket.Chat claims to have a working solution but in fact it doesn’t.

danielpotthast commented 3 years ago

Well, I think we can close this issue – there will be no fix (first issue was opened 3 years ago)

Tatikoma commented 3 years ago

Same issue in version 3.15.0. Also, it doesnt work via open.rocket.chat

danielpotthast commented 3 years ago

Same in version 3.15.1

Tatikoma commented 3 years ago

Same in 3.16.0

danielpotthast commented 3 years ago

WebRTC video and audio chat are still not working in 4.1.0 – did you test this feature? Only my own video stream shows up.

devtools_backend.js:2540 TypeError: Cannot read properties of undefined (reading '0')
    at f (/client/views/room/MemberListRouter.js:1)
    at m (/client/views/room/MemberListRouter.js:1)
    at Sa (15634e72d8dea106a5cef6b2cb6e6c802b4240c6.js?meteor_js_resource=true:604)
    at di (15634e72d8dea106a5cef6b2cb6e6c802b4240c6.js?meteor_js_resource=true:604)
    at Fs (15634e72d8dea106a5cef6b2cb6e6c802b4240c6.js?meteor_js_resource=true:604)
    at ef (15634e72d8dea106a5cef6b2cb6e6c802b4240c6.js?meteor_js_resource=true:604)
    at Qs (15634e72d8dea106a5cef6b2cb6e6c802b4240c6.js?meteor_js_resource=true:604)
    at Xs (15634e72d8dea106a5cef6b2cb6e6c802b4240c6.js?meteor_js_resource=true:604)
    at $s (15634e72d8dea106a5cef6b2cb6e6c802b4240c6.js?meteor_js_resource=true:604)
    at 15634e72d8dea106a5cef6b2cb6e6c802b4240c6.js?meteor_js_resource=true:604