Signaling Server recommendations

I think that about sums it up. Itā€™s proprietary and cost-prohibitive. Both points that run against what NC is supposed to represent.

If you have one of those set up, I think about the only feature you would be missing is where the chat and calls are integrated with the files UI. Maybe someone out there will make an app to integrate Jitsi or BigBlueButton in a similar way. Or just use Talk for 2-3 person collaboration on files and use the other platform for conferences.

1 Like

Not just Talk, the same goes for Onlyoffice, their ā€œpartnerā€ who trashed them as well. They also have no offers for small and medium businesses that are affordable.

Even ā€œOpen Coreā€ company Gitlab moves stuff to their Open Source project now:

1 Like

I was skeptical when Nextcloud announced Spreed as a partner.
I saw when visiting their website that it will be a bad closed solution. https://www.spreed.me/

Jitsi isnā€™t promising enought, i donā€™t know bigbluebouton yet. Matrix could be cool (and can embrase Jitsi)

I think itā€™s time for the community to get to work and make an app for integrating NextcloudUsers with BigBlueBouton or a solution that donā€™t have closed signaling server

Kurento and OpenVdio might be of interest:

Not partners, owners and founders:

Nextcloud, a spin-off of Struktur AG, employs H.265 technology in Spreed.ME related products.

https://nextcloud.com/fr_FR/press/pr20160725/

1 Like

When I first tried setting up Nextcloud, maybe version 12 give or take a few versions, Spreed was a new addition to Nextcloud. I didnā€™t understand the documentation so gave a go at the XMPP Chat like you are thinking about. It was days of failed experiments before I gave up on trying to get it to work via online instructions. I removed the parts of it I installed, then maybe a day later discovered the native Talk app for Nextcloud was in fact the Spreed project. It worked great and I wondered why the hell I was trying to get XMPP to work. Things may have gotten easier since then, but I reccommend going with the default Talk app.

On the https://sd.fqdn.tld/index.php/settings/admin/talk page, you will see

Signaling servers +(Add a new server)

An external signaling server should optionally be used for larger installations. Leave empty to use the internal signaling server. Please note that calls with more than 4 participants without external signaling server, participants can experience connectivity issues and cause high load on participating devices.

So it seems you are with the rest of us hoping to find external signaling servers to bounce off of.

=============================================================

While reading this thread and trying to self-educate via web searches at the same time I see the list of options on Wikipedia is long but doesnā€™t include some options people mentioned above.

Iā€™m a Ubuntu type base server so Iā€™ll be trying Janus on it soon.

BTW: Iā€™m a bit of a hack admin and the path that led me to this initial post was last night when I went to test screen-sharing from a Ubuntu workstation to a new HP WinX Laptop both behind the NAT Router, I couldnā€™t connect the video stream. I followed error messages and realized the Windows Defender Firewall was the problem, but that led me to finally RTFM and put my own Turn server on my system. Not too difficult. Should have done it years ago. I suck at my job. :laughing:
Now I can connect easily with better performance despite the firewall being back on and differenā€™t operating systems.

Over a year ago I tried to get a BBB Virtual Server running on the same physical machine as my Nextcloud and couldnā€™t get it to go because BBB is (or at least was) tight to NginX and my stuff was all Apache. I couldnā€™t get them to work together. I put BBB on a non DMZ server for testing, and it worked great like you say, but it had big security worries for me at the time. e.g. Somebody could open a stream on my server linked to hacked web cams in a victims house and stream + record the criminally obtained feed on my server. I didnā€™t see how to block randos from accessing the system so just left it behind till some future date. I do want a BBB server spinning though because I have a Moodle Virtual Server to use it in.

Many scaling problems should be solved by 8.0.9, released last week - it adjusts quality based on the nr of participants, among other things. A typical network and hardware setup should handle 5-10 people.

The signalling back-end is now also open source, so you can give that a try.

3 Likes

Dont ask me whereā€¦ but i found this

did anyone tried this before? As far as I recall was in reditā€¦ butā€¦ it is the source for the so called signaling server ā€¦

P.D.
And now I realize that the previous post mentions it ā€¦ Sorry.

Hello, I just upgraded to 19 RC 3 which contains talk 9.0.0-rc.1. On administration/talk I can add external signaling servers and it is recommended to use one if there are more than 4 participants. Is this still a requirement? From the announcement I expected this to be obsolete.

Marketing-speak is Talk 9 can handle 5 to 10 video conference participants.
If this is the discrepancy you are talking about, then itā€™s just because the docs havenā€™t been updated.

If you need more than 10 people, youā€™ll need to install - now open-sourced! - signaling server

2 Likes

Hmm I tried a lot but still have issues to make it work with my testcloud.
Is there a good howto anywhere?
It is a little bit challenging to set this up (signaling + janus + nats + coturn + proxy + firewall).
My signaling is running but nextcloud talk has issues, even when everything is green in the settings.

signal2

Maybe this one: https://morph027.gitlab.io/blog/nextcloud-spreed-signaling/

1 Like

I have the same issue. Signaling server was compiled and configured according to https://github.com/strukturag/nextcloud-spreed-signaling readme). It starts without problems, runs on its own host, is configured with secure websockets.

curl -i https://[my-signaling-server]:8443/api/v1/welcome
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Server: nextcloud-spreed-signaling/8d9c9cc1cd9aa1b18b1cbf8c0d7e8a8b6fbe9738
Date: Fri, 29 May 2020 17:31:23 GMT
Content-Length: 94

{ā€œnextcloud-spreed-signalingā€:ā€œWelcomeā€,ā€œversionā€:ā€œ8d9c9cc1cd9aa1b18b1cbf8c0d7e8a8b6fbe9738ā€}

Nextcloud configuration: wss://[my-signaling-server]:8443
But the communication with Nextcloud 18 fails. When I start the Talk app, the JS console logs the following errors:

talk.js?v=c3a127c1-3:116 WebSocket connection to 'wss://[my-signaling-server]:8443/spreed' failed: Unknown reason
h.Standalone.connect @ talk.js?v=c3a127c1-3:116
(anonymous) @ talk.js?v=c3a127c1-3:116
talk.js?v=c3a127c1-3:116 Error Event {isTrusted: true, type: "error", target: WebSocket, currentTarget: WebSocket, eventPhase: 2, ā€¦}
(anonymous) @ talk.js?v=c3a127c1-3:116
error (async)
h.Standalone.connect @ talk.js?v=c3a127c1-3:116
(anonymous) @ talk.js?v=c3a127c1-3:116
setTimeout (async)
h.Standalone.reconnect @ talk.js?v=c3a127c1-3:116
(anonymous) @ talk.js?v=c3a127c1-3:116
error (async)
h.Standalone.connect @ talk.js?v=c3a127c1-3:116
v @ talk.js?v=c3a127c1-3:116
createConnection @ talk.js?v=c3a127c1-3:116
(anonymous) @ talk.js?v=c3a127c1-3:239
Promise.then (async)
(anonymous) @ talk.js?v=c3a127c1-3:239
(anonymous) @ talk.js?v=c3a127c1-3:239
c @ talk.js?v=c3a127c1-3:583
(anonymous) @ talk.js?v=c3a127c1-3:583
forEach.e.<computed> @ talk.js?v=c3a127c1-3:583
oe @ talk.js?v=c3a127c1-3:219
a @ talk.js?v=c3a127c1-3:219
(anonymous) @ talk.js?v=c3a127c1-3:219
(anonymous) @ talk.js?v=c3a127c1-3:219
he @ talk.js?v=c3a127c1-3:239
pe @ talk.js?v=c3a127c1-3:239
beforeMount @ talk.js?v=c3a127c1-3:1626
He @ talk.js?v=c3a127c1-3:27
Kt @ talk.js?v=c3a127c1-3:27
e @ talk.js?v=c3a127c1-3:27
Mn.$mount @ talk.js?v=c3a127c1-3:27
init @ talk.js?v=c3a127c1-3:27
(anonymous) @ talk.js?v=c3a127c1-3:27
l @ talk.js?v=c3a127c1-3:27
(anonymous) @ talk.js?v=c3a127c1-3:27
e._update @ talk.js?v=c3a127c1-3:27
r @ talk.js?v=c3a127c1-3:27
dn.get @ talk.js?v=c3a127c1-3:27
dn @ talk.js?v=c3a127c1-3:27
e @ talk.js?v=c3a127c1-3:27
Mn.$mount @ talk.js?v=c3a127c1-3:27
e._init @ talk.js?v=c3a127c1-3:27
Mn @ talk.js?v=c3a127c1-3:27
(anonymous) @ talk.js?v=c3a127c1-3:1650
n @ talk.js?v=c3a127c1-3:1
(anonymous) @ talk.js?v=c3a127c1-3:1
(anonymous) @ talk.js?v=c3a127c1-3:1
Show 11 more frames
talk.js?v=c3a127c1-3:116 Reconnect in 1955.4251047645466

signaling-server doesnā€™t log, just listens to [my-signaling-server:8443]

Is there any additional documentation how to configure nginx, Nextcloud and this signaling server?

Nextcloud 18.0.4
nginx 1.14.2
janus 0.10.0
nats 2.1.7

Guys,

I am very sorry but here are my 2 cents about Talk in NextCloud.
If it is so complicated to make Talk working why not to use other ready services for Collaboration and just make integration with NextCloud.

I am not a programmer but very much interested to integrate https://linkchat.io to integrate with NextCloud. I contacted owner and he told that it can b easily done with WebHooks

Is there anybody who can help or at least interested to do the same?

PS. I am using NextCloud for many years in my projects.

It isnā€™t.
Talk works fine for one to one video communication.
If your version is up to date, it should (allegedly) do 5 to 10 participant video conference a breeze.
If you want to accommodate people from behind NAT/Firewall - install a STUN/TURN server.

And thatā€™s already done

Nextcloud 19 will have another option - the high performance backend from Struktur

Here is the point - video conferencing with 10+ people is complicated.
It primarily revolves around feeding synced video/audio streams to each participant.
If your system uses nothing but WebRTC, you - as a participant - must send your webcam stream to (N-1) participants and receive N of them. In other words, doubling the number of participants quadruples the bandwidth need. Add to that video compression, NAT traversing, stream encryption, etc. - it quickly becomes too much for the clientā€¦

Hence, there will never be a install it and forget it video conference app for all use cases.
Unless you have a contract with Nextcloud and ask them to do it for youā€¦

Over time there might be docker images will all the components - GO, NATS, Janus, TURN, etc. - built-in.But setting it up and making it work for the end user like Zoom or Teams will take workā€¦

Thanks.
Lets see, Nextcloud 19 release date is soon :slight_smile: It is something to test for me.

And please share your experience when you do.
Iā€™d be surprised if it does 10, but even 6-7-8 would be huge improvement over originalā€¦

I am also skeptical because Media Server is needed more than a Signalling one to increase amount of people in the room. Especially for mobile users.
It can be traditional media server with transcoding or SFU.

BigBlueButton is too heavy for the integration with NextCloud. Something more simple is needed, jitsi or Linkchat are more interesting, at least in my opinion.

I managed to connect to the standalone signaling server from my browser. I had to adjust the nextcloud signaling configuration to: wss://[my-nextcloud-server]:8443/standalone-signaling and adjust the nginx configuration according to https://docs.nginx.com/nginx/admin-guide/security-controls/securing-http-traffic-upstream/

Now clients can invite each other, but a video/audio connection is not yet established, unfortunatelyā€¦ debugging furtherā€¦