element-hq / element-web

A glossy Matrix collaboration client for the web.
https://element.io
GNU Affero General Public License v3.0
11.04k stars 1.96k forks source link

Riot Desktop drops the call right away, cant take make calls #7412

Closed gerroon closed 3 years ago

gerroon commented 6 years ago

I installed Riot desktop on Debian Testing, the account works, text typing and file sending works, but this particular desktop version is not able to accept calls. Basically the call drops as soon as it is seen in the ui. I tested the same account on android and no problem with any of the features.

None of my accounts/devices on the same network has this issue.

Please see the log below for what is happening.This log is captured when the calling was engaged by another user to concerning Riot desktop.

Version information

For the desktop app:

I am using self hosted Synapse 0.33.5.1 My turn server also works perfectly since I am able to accept calls from other countries.

''' Glare detected: answering incoming call c1538079206162 and canceling outgoing call c15380791848570.8164145307270922 rageshake.js:67 c15380791848570.8164145307270922 being replaced by c1538079206162 rageshake.js:66 Handing local stream to new call rageshake.js:66 Ending call c15380791848570.8164145307270922 rageshake.js:66 stopAllMedia (stream=undefined) rageshake.js:66 Call state in !VvAioruHjENDZGklOD:XXXXX.XXXXX.org changed to ended (-) rageshake.js:66 sendEvent of type m.call.hangup in !VvAioruHjENDZGklOD:XXXXX.XXXXX.org with txnId m1538079200625.19 rageshake.js:66 Answering call c1538079206162 of type voice rageshake.js:66 Set remote description rageshake.js:66 Created answer: [object RTCSessionDescription] rageshake.js:66 call c15380791848570.8164145307270922: Signalling state changed to: closed rageshake.js:66 Created answer: [object RTCSessionDescription] rageshake.js:66 call c1538079206162: Signalling state changed to: have-remote-offer rageshake.js:66 Stream id ARDAMS added rageshake.js:66 Track id ARDAMSa0 added 2rageshake.js:66 Error setting local description! rageshake.js:66 call c1538079206162: Signalling state changed to: stable rageshake.js:66 Event sent to !VvAioruHjENDZGklOD:XXXXX.XXXXX.org with event id $1538079200220IBNeW:XXXXX.XXXXX.org rageshake.js:66 setting pendingEvent status to sent in !VvAioruHjENDZGklOD:XXXXX.XXXXX.org rageshake.js:66 Got remote ICE audio candidate: candidate:3259859605 1 udp 2122260223 192.168.YY.YY 39945 typ host generation 0 ufrag MNRs network-id 3 network-cost 10 rageshake.js:66 Got remote ICE audio candidate: candidate:842163049 1 udp 1686052607 ZZ.ZZ.ZZ.ZZ 39945 typ srflx raddr 192.168.YY.YY rport 39945 generation 0 ufrag MNRs network-id 3 network-cost 10 rageshake.js:66 Got remote ICE audio candidate: candidate:1009174629 1 udp 41885695 XX.XX.XX.XX 53744 typ relay raddr ZZ.ZZ.ZZ.ZZ rport 39945 generation 0 ufrag MNRs network-id 3 network-cost 10 rageshake.js:66 Ice connection state changed to: checking rageshake.js:66 Got remote ICE audio candidate: candidate:1923429525 1 udp 25108223 XX.XX.XX.XX 57746 typ relay raddr ZZ.ZZ.ZZ.ZZ rport 41248 generation 0 ufrag MNRs network-id 3 network-cost 10 rageshake.js:66 RVS update: !VvAioruHjENDZGklOD:XXXXX.XXXXX.org undefined loading? false joining? false initial? undefined shouldPeek? true rageshake.js:66 Switching to room id !VvAioruHjENDZGklOD:XXXXX.XXXXX.org at event undefined rageshake.js:66 newscreen room/!VvAioruHjENDZGklOD:XXXXX.XXXXX.org rageshake.js:66 Hangup received rageshake.js:66 stopAllMedia (stream=MediaStream) rageshake.js:66 Remote stream ended rageshake.js:66 stopAllMedia (stream=MediaStream) rageshake.js:66 call c1538079206162: Signalling state changed to: closed '''

lampholder commented 6 years ago

Hmm, the glare detection is supposed to handle you and the person you're trying to dial dialling each other at the exact same time. Can you give any more details about how you were running the test? Were both the users on your homeserver?

In terms of the TURN server working, I don't think receiving calls from other countries is a good indicator of success. I don't think it's material to this problem, but you can test your turn server by:

gerroon commented 6 years ago

Hi

Thanks for the reply. I will try to make the tests and provide more details.

I also went ahead and compiled from the source on the same laptop(the one that fails above) and that works with the same server, same user, same network and the same clients/contacts. I am thinking that this is an issue with the way the release was compiled.

SimonBrandner commented 3 years ago

@gerroon, is this still an issue?

an0o0nym commented 2 years ago

Hi, I have the same issue as described above. Though I am using element-web version. I have already described my issue in #9433

Can anyone help to debug this problem? When calling people that are on the LAN it works fine. When I try cal someone from outside the LAN it fails with "could not connect media" error.

Thats what I get in my firefox console:

Discarding an event, we don't have a call/peerConn m.room.encrypted rageshake.ts:60:15
Hangup received for call ID xxxxxxxxxxx rageshake.ts:60:15
stopAllMedia (stream=[object MediaStream]) rageshake.ts:60:15
Stopping usermedia stream {cbd342de-13d6-42e5-9c2d-77bd3533182a} rageshake.ts:60:15
Splicing usermedia stream out stream array {cbd342de-13d6-42e5-9c2d-77bd3533182a} rageshake.ts:60:15
Call state in !xxxxxxxxxxx:mydomain.com changed to ended rageshake.ts:60:15
Removing call for room  !xxxxxxxxxxx:mydomain.com rageshake.ts:60:15
Call completed. Call ID: xxxxxxxxxxx, virtual room ID: !xxxxxxxxxxx:mydomain.com, user-facing room ID: !xxxxxxxxxxx:mydomain.com, direction: outbound, our Party ID: xxxxxxxxxxx, hangup party: remote, hangup reason: ice_failed rageshake.ts:60:15
Local candidates: rageshake.ts:60:15
c2915d08 - type: host, address: 172.X.X.X, port: 49427, protocol: udp, relay protocol: undefined, network type: undefined rageshake.ts:60:15
f5eb7160 - type: host, address: 172.X.X.X, port: 43067, protocol: udp, relay protocol: undefined, network type: undefined rageshake.ts:60:15
3e83c1a6 - type: host, address: 172.X.X.X, port: 55588, protocol: udp, relay protocol: undefined, network type: undefined rageshake.ts:60:15
935cbc5f - type: host, address: 172.X.X.X, port: 53342, protocol: udp, relay protocol: undefined, network type: undefined rageshake.ts:60:15
53e5b6a3 - type: host, address: 172.X.X.X, port: 51589, protocol: tcp, relay protocol: undefined, network type: undefined rageshake.ts:60:15
c6568990 - type: host, address: 172.X.X.X, port: 58960, protocol: tcp, relay protocol: undefined, network type: undefined rageshake.ts:60:15
c887fa2f - type: host, address: 172.X.X.X, port: 64363, protocol: tcp, relay protocol: undefined, network type: undefined rageshake.ts:60:15
770da316 - type: host, address: 172.X.X.X, port: 61465, protocol: tcp, relay protocol: undefined, network type: undefined rageshake.ts:60:15
Remote candidates: rageshake.ts:60:15
dfab9812 - type: host, address: 10.X.X.X, port: 60294, protocol: udp rageshake.ts:60:15
ef0f89b5 - type: host, address: 10.X.X.X, port: 9, protocol: tcp rageshake.ts:60:15
Candidate pairs: rageshake.ts:60:15
935cbc5f / dfab9812 - state: inprogress, nominated: false, requests sent undefined, requests received  undefined,  responses received: undefined, responses sent: undefined, bytes received: 0, bytes sent: 0, rageshake.ts:60:15
3e83c1a6 / dfab9812 - state: inprogress, nominated: false, requests sent undefined, requests received  undefined,  responses received: undefined, responses sent: undefined, bytes received: 0, bytes sent: 0, rageshake.ts:60:15
f5eb7160 / dfab9812 - state: inprogress, nominated: false, requests sent undefined, requests received  undefined,  responses received: undefined, responses sent: undefined, bytes received: 0, bytes sent: 0, rageshake.ts:60:15
c2915d08 / dfab9812 - state: inprogress, nominated: false, requests sent undefined, requests received  undefined,  responses received: undefined, responses sent: undefined, bytes received: 0, bytes sent: 0, rageshake.ts:60:15
Presence: unavailable rageshake.ts:60:15