Skip to content
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

After setting up a signaling server it's not possible to create a conversation anymore #2515

Closed
himpierre opened this issue Dec 3, 2019 · 10 comments
Labels

Comments

@himpierre
Copy link

himpierre commented Dec 3, 2019

Steps to reproduce

  1. Configure a signaling server (https://saltyrtc.org/pages/getting-started.html)
  2. Try to create a new conversation
  3. No conversation is created

Expected behaviour

New conversation should be creqted.

Actual behaviour

Nothing happens.

Browser

Firefox 70

Logs

{"reqId":"XeaMo6knC4qABm@IzkWYKgAAAAo","level":3,"time":"2019-12-03T16:26:11+00:00","remoteAddr":"xxx.xxx.xxx.xxx","user":"user","app":"no app in context","method":"POST","url":"\/ocs\/v2.php\/apps\/spreed\/api\/v1\/room","message":{"Exception":"GuzzleHttp\\Exception\\ClientException","Message":"Client error:POST https://signaling.domain.de:8765/api/v1/room/q74vfqi3resulted in a400 Bad Requestresponse:\nFailed to open a WebSocket connection: did not receive a valid HTTP request.\n\n","Code":400,"Trace":

Is there a list of supported signaling servers?

@himpierre himpierre changed the title Ffter setting up a signaling server it's not possible to create a conversation anymore After setting up a signaling server it's not possible to create a conversation anymore Dec 3, 2019
@nickvergessen
Copy link
Member

Is there a list of supported signaling servers?

Only the "High performance backend" from https://nextcloud.com/talk/ is currently supported.

@pierfu
Copy link

pierfu commented Dec 4, 2019

Hi,
do you plan to support other (free / opensource) external signaling server in near future, and if so when ?
Could you tell why this is restricted ?

@nickvergessen
Copy link
Member

No plans. It mainly boils down to having the time to support them all and keep the code workign for all of them, so we decided to just allow/support that one for now.

@pierfu
Copy link

pierfu commented Dec 4, 2019

Tks, that's undserstandable.
However, i would recomend you explain that clearly on https://nextcloud.com/talk and mostly https://nextcloud-talk.readthedocs.io/en/latest/TURN/#what-else : i'm sure it would fill a missing answer to a frequent question for a lot of (enthousiastic) users. And explain too why the service is so expensive : most organizations cannot afford 4000 €/year.

n-connect added a commit to n-connect/nextcloud-spreedme that referenced this issue Jan 26, 2020
Quick 'n dirty fix for Speed.ME app for Nextcloud works till NC16.x. This change needs PHP minimum 7.0.x, but in reality PP 7.1.x+ With HP 7.1.x you can use random_bytes() - appeared in 7.0, _and_ in NC16 the minimum version is PHP 7.1.x. From Nextcloud side from version 16 some PHP based NC functions has removed: nextcloud/server#12915.

Tested on NC16 instance, which continuously updated from NC13 or so. Works with multiple participants, no 4 participants limit, your resources the limit, contrary to Nextcloud Talk, which supports Signalling Servers, but not really does: nextcloud/spreed#2515
@Blackclaws
Copy link

Would work on this to support alternative signalling servers as a pull request be accepted or not?

@nickvergessen
Copy link
Member

I don't think this is very suitable to answer in general. It would need constant maintenance, otherwise it is bound to break on every new feature we implement.
The question is also how tied the things would be coupled and therefor how much code would be needed to send as PRs. In theory this could all be done independently in another app i think. 🤔

@jospoortvliet
Copy link
Member

Would work on this to support alternative signalling servers as a pull request be accepted or not?

Are you aware of any open source signalling servers that could do what Talk does that we could support? A concrete feature request issue is welcome, as would be a pull request to add support - esp if that comes with a promise to help maintain it, of course.

@zundg
Copy link

zundg commented Mar 13, 2020

https://github.com/nextcloud/spreed

If you need to use Talk in a enterprise environment, including the ability to have calls with more than 5-6 users, you can contact our sales team for access to our high performance back-end. This is a set of components that replaces some of the PHP code with a more scalable and performant solution that decreases network traffic and allows dozens or hundreds of users in a call.

sounds like more than a few users is considered enterprise functionality and not intended for the community edition?

@jospoortvliet
Copy link
Member

jospoortvliet commented Mar 13, 2020

sounds like more than a few users is considered enterprise functionality and not intended for the community edition?

Consider reading the issue and the comments before you add your own comments. Let me do you the favor of giving you a summary: no, it is not our decision, it is a technical limitation of PHP and especially WebRTC. You can have a call with 100 people with Talk as it is, if you want - you just need a 32 core CPU with 10G ethernet on a local LAN for each participant. If you don't have that, you'll need a third party product that takes care of the load. There is only one, at the moment, but anyone can write one if they want - just keep in mind it's a few years of work.

Why we don't build it? As Nextcloud is best at building great user interfaces, we are not going to spend our time developing infrastructure pieces like that, just like we don't develop a mail server (just a client) or a TURN and STUN server, or a web server (...) and so on.

I'll try and write a blog post with some more details at some point soon and will update this comment to link to it when it is done.

@nextcloud nextcloud locked as off-topic and limited conversation to collaborators Mar 16, 2020
@solracsf
Copy link
Member

Is there a list of supported signaling servers?

Only the "High performance backend" from https://nextcloud.com/talk/ is currently supported.

Shouldn't this be added to the docs + the config page on Talk?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

7 participants