-
Notifications
You must be signed in to change notification settings - Fork 75
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
n-s-s can't seem to connect to Janus MCU. #279
Comments
Janux 1.x is currently untested / unsupported. Please use a 0.x version for now. |
Mhh, I've compiled the 0.x branch by myself and the problem persists. |
nextcloud-spreed-signaling logs while starting a call. |
Here is the actual problem: From the logs it looks like this is Firefox 100 on Linux, is this correct? I'm not aware of generic issues with this OS/Browser, do you have any extensions installed that might alter WebRTC data? Could you check the network tab for the actual data sent through the WebSocket connection to the signaling server? |
All my extensions shouldn't affect WebRTC at all. Janus Log:
|
The error is the same ( Could you please apply this patch and rebuild the signaling server? This will include the received payload in the message for further debugging: diff --git a/clientsession.go b/clientsession.go
index 5dc1ec7..6f18382 100644
--- a/clientsession.go
+++ b/clientsession.go
@@ -775,7 +775,7 @@ func (s *ClientSession) isSdpAllowedToSendLocked(payload map[string]interface{})
}
sdpText, ok := sdpValue.(string)
if !ok {
- return 0, &SdpError{"payload does not contain a valid sdp"}
+ return 0, &SdpError{fmt.Sprintf("payload %+v does not contain a valid sdp", payload)}
}
var sdp sdp.SessionDescription
if err := sdp.Unmarshal(sdpText); err != nil {
|
Oh, I think the Issue got fixed in master already. Cool. Just in case heres the logfile: |
Just noticed you were still at 0.4.1, the latest release is 0.5.0 and should be close to |
I can confirm, this is not an issue with Janus |
Reopening this issue. It won't be possible for a while to have nextcloud-spreed-signaling 0.5.0 in Debian testing/unstable. Due to build requirement change on etcd >= 3.5.7 which is not in Debian, yet. Hopefully we can just cherry-pick a fix for this issue and patch the 0.4.1 version in debian. I'll provide the log you asked for with the patch above applied soon. |
The signaling server doesn't need to depend on etcd directly. The Go module dependency is fetched together with the various other dependencies while building. |
So, if signaling does not need etcd, could you clean up go.mod etc. and provide a clean-up dependency list? We want to ship latest nextcloud-spreed-signaling in Debian testing/unstable. However, the hard dependency on etcd 3.5.7 is currently a show stopper. |
Sorry for not being clearer. While the signaling server doesn't hard-depend on the etcd service, it does depend on the etcd Go modules as defined in go.mod. This modules are fetched while building similar to other Go modules (e.g. gorilla mux, etc.). Would it help to provide release tarballs with vendored dependencies for future releases? |
Unfortunately, vendored tarballs are not helpful in Debian, because Debian policy forbids code duplications. Every Go module needs to be packaged individually. |
Results after a bit of testing:
Nextcloud v24.0.3 / Talk 14.0.3 (Doesn't work) Very confusing results... The signaling server wasn't touched at all and stayed at v0.4.1. |
While trying to build n-s-s in Debian Bullseye with golang-go 1.18 I'm facing the following issue: > make
GOPATH="nextcloud-spreed-signaling/vendor:nextcloud-spreed-signaling" /usr/bin/go get -u github.com/mailru/easyjson/...
go: downloading github.com/mailru/easyjson v0.7.7
go: downloading github.com/josharian/intern v1.0.0
PATH=/usr/bin:/home/daniel/.local/bin:/home/daniel/.config/rofi/bin:/home/daniel/.poetry/bin:/home/daniel/.cargo/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games GOPATH="nextcloud-spreed-signaling/vendor:nextcloud-spreed-signaling" "nextcloud-spreed-signaling/vendor/bin/easyjson" -all api_signaling.go
/bin/sh: 1: nextcloud-spreed-signaling/vendor/bin/easyjson: not found
make: *** [Makefile:88: api_signaling_easyjson.go] Fehler 127 So |
Which version of n-s-s and how are you building it? |
Ok, so unfotunately you will have to wait until the dependency packages in Debian are updated or add a patch to still support the older version of etcd. |
Btw, I checked your patch in the Debian packaging and the support for newer versions of github.com/pion/sdp was incorrect: --- a/clientsession.go
+++ b/clientsession.go
@@ -715,7 +715,7 @@
if !found {
return 0, &SdpError{"payload does not contain a sdp"}
}
- sdpText, ok := sdpValue.(string)
+ sdpText, ok := sdpValue.([]byte)
if !ok {
return 0, &SdpError{"payload does not contain a valid sdp"}
} This could be the reason for the initial error See #301 for support of github.com/pion/sdp v3.0.5. |
Interesting... I can't even build with this patch. (I had to alter the Makefile because I have golang-go 1.18 installed. See below) root@nextcloud-hpb-setpu:~/nextcloud-spreed-signaling# git diff
diff --git a/Makefile b/Makefile
index 9b05ba4..673a660 100644
--- a/Makefile
+++ b/Makefile
@@ -47,7 +47,7 @@ hook:
[ ! -d "$(CURDIR)/.git/hooks" ] || ln -sf "$(CURDIR)/scripts/pre-commit.hook" "$(CURDIR)/.git/hooks/pre-commit"
./vendor/bin/easyjson:
- GOPATH=$(GOPATH) $(GO) get -u github.com/mailru/easyjson/...
+ GOPATH=$(GOPATH) $(GO) get -u github.com/mailru/easyjson/... && GOPATH=$(GOPATH) $(GO) install github.com/mailru/easyjson/...@latest
continentmap.go:
$(CURDIR)/scripts/get_continent_map.py $@
diff --git a/clientsession.go b/clientsession.go
index 0e24176..87bbec1 100644
--- a/clientsession.go
+++ b/clientsession.go
@@ -715,7 +715,7 @@ func (s *ClientSession) isSdpAllowedToSendLocked(payload map[string]interface{})
if !found {
return 0, &SdpError{"payload does not contain a sdp"}
}
- sdpText, ok := sdpValue.(string)
+ sdpText, ok := sdpValue.([]byte)
if !ok {
return 0, &SdpError{"payload does not contain a valid sdp"}
}
root@nextcloud-hpb-setpu:~/nextcloud-spreed-signaling# make
PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin GOPATH="/root/nextcloud-spreed-signaling/vendor:/root/nextcloud-spreed-signaling" "/root/nextcloud-spreed-signaling/vendor/bin/easyjson" -all api_proxy.go
# github.com/strukturag/nextcloud-spreed-signaling
./clientsession.go:723:26: cannot use sdpText (variable of type []byte) as type string in argument to sdp.Unmarshal
Bootstrap failed: exit status 2
make: *** [Makefile:88: api_proxy_easyjson.go] Error 1 |
My self built 0.4.1 n-s-s:
On debian's version there's no such error. |
See #180 for the |
If I try to make a call in my test setup my logs get spammed with this message:
I'm using the following version on debian unstable:
nextcloud-spreed-signaling 0.4.1-2
janus 1.0.1-1+b1
/etc/nextcloud-spreed-signaling/server.conf:
/etc/janus/janus.transport.websockets.jcfg:
The text was updated successfully, but these errors were encountered: