jech / galene

The Galène videoconference server
https://galene.org
MIT License
969 stars 131 forks source link

negotiation failed error #59

Closed alankeny closed 3 years ago

alankeny commented 3 years ago

I had galene-0.1 working back in January. I recently upgraded to the latest code on GitHub, but now I can't start any audio, video, or screen sharing. I've tested with Firefox, Chromium, and Safari.

After I click on the Ready button and allow the camera and microphone, I get the error message, "The Server said: negotiation failed" in the browser. On the server I get the error, "gotOffer: SetRemoteDescription called with no ice-ufrag".

I get the same errors on galene-0.2. If I go back to version 0.1, everything works again.

Galene is configured to use a TURN server running Coturn on a Digital Ocean droplet. Coturn's use-auth-secret option is commented out, so I did not specify "credentialType": "hmac-sha1" in the ice-servers.json file.

Do I need to change my configuration in some way for version 0.2 and later?

Thanks.

jech commented 3 years ago

What's in Galène's log?

alankeny commented 3 years ago

The only log output I've seen so far is the line that starts with gotOffer: gotOffer: SetRemoteDescription called with no ice-ufrag

Let me know if there's anything I should do to increase the log output.

jech commented 3 years ago

What browser is that? Could you please let me know what the following patch displays?

diff --git a/rtpconn/webclient.go b/rtpconn/webclient.go
index 54b9086..08d5c03 100644
--- a/rtpconn/webclient.go
+++ b/rtpconn/webclient.go
@@ -1221,6 +1221,7 @@ func handleClientMessage(c *webClient, m clientMessage) error {
            })
            return c.error(group.UserError("not authorised"))
        }
+       log.Println(m.SDP)
        err := gotOffer(c, m.Id, m.SDP, m.Labels, m.Replace)
        if err != nil {
            log.Printf("gotOffer: %v", err)
alankeny commented 3 years ago

I've tested with Firefox and Chromium on Linux and Safari on MacOS. I'm getting the same error in all three.

I got an empty string in the log at first, so I modified your patch like this:

log.Println("---")
log.Println(m.SDP)
log.Println("---")

and I got the following output:

Mar 15 17:33:06 galene galene[1647]: 2021/03/15 17:33:06 Relay test successful in 1.777465314s, RTT = 41.570083ms
Mar 15 17:33:25 galene galene[1647]: 2021/03/15 17:33:25 ---
Mar 15 17:33:25 galene galene[1647]: 2021/03/15 17:33:25
Mar 15 17:33:25 galene galene[1647]: 2021/03/15 17:33:25 ---
Mar 15 17:33:25 galene galene[1647]: 2021/03/15 17:33:25 gotOffer: SetRemoteDescription called with no ice-ufrag
jech commented 3 years ago

Cannot reproduce, sorry. I suspect this was due to a mismatch between the server and client versions. Please reopen if you can reproduce it.