YunoHost-Apps / nextcloud_ynh

Nextcloud package for YunoHost
https://nextcloud.com/
GNU Affero General Public License v3.0
147 stars 64 forks source link

Improve Talk with local TURN/STUN #343

Closed KvL159 closed 10 months ago

KvL159 commented 4 years ago

Nextcloud talk wasn't working well on the latest versions, I was able to solve the issues by installing coTURN in local : https://nextcloud-talk.readthedocs.io/en/latest/TURN/

  1. sudo apt install coturn
  2. Edit coTURN config file
  3. Restart coTURN
  4. Open port in YNH
  5. Edit settings in Nextcloud admin
  6. Profit !
lapineige commented 4 years ago

What did you add in the config file ?

KvL159 commented 4 years ago

I used what was recommended, just replace the password and domain (and port if different):

listening-port=3478
fingerprint
# lt-cred-mech # Only on coTURN below v4.5.0.8!
use-auth-secret
static-auth-secret=PASSWORD
realm=DOMAIN.ORG
total-quota=0
bps-capacity=0
stale-nonce
# no-loopback-peers # Only on coTURN below v4.5.1.0!
no-multicast-peers
KvL159 commented 4 years ago

On Debian 10 coturn is 4.5.1.1 so 2 lines need to be commented

Thovi98 commented 4 years ago

Is there a way to implement directly this as it is done with synapse_ynh ? Or an other way, as proposed here : https://forum.yunohost.org/t/nextcloud-coturn-talk-integrated-installer-for-use-of-nextcloud-talk-outside-local-network/7328

lapineige commented 4 years ago

I don't know if we should integrate that for everyone by default (it creates some extra load on the server; for a feature that not everyone might use), but maybe it could be an install option and/or an app action that (install+)enable or disable this ?

anmol26s commented 4 years ago

There should be separate package for doing this.

lapineige commented 4 years ago

Why ?

KvL159 commented 4 years ago

We could add it as an option during the setup, however what if the user later decides to setup Talk ?

To clarify, this doesn't improve the quality of the calls, it helps to connect users behind restrictives firewalls and NAT.

I don't know if we should integrate that for everyone by default (it creates some extra load on the server; for a feature that not everyone might use), but maybe it could be an install option and/or an app action that (install+)enable or disable this ?

The package coTURN is very liteweight, it works fine on my test server with 1G RAM, it uses less than 1% CPU (1core)

KvL159 commented 4 years ago

With latest updates 19.X and testing 20.X talk would rarely work (very slow loading, failt to connect, delay messages...) without using local coturn. Not sure if others have tested (outside same network), but I guess the results are the same

lapineige commented 4 years ago

We could add it as an option during the setup, however what if the user later decides to setup Talk ?

That's why an app action could be useful.

To clarify, this doesn't improve the quality of the calls, it helps to connect users behind restrictives firewalls and NAT.

I thought it was a way to increase the number of participant in a call.

KvL159 commented 4 years ago

We could add it as an option during the setup, however what if the user later decides to setup Talk ?

That's why an app action could be useful.

To clarify, this doesn't improve the quality of the calls, it helps to connect users behind restrictives firewalls and NAT.

I thought it was a way to increase the number of participant in a call.

To increase the number of participant you need to setup a signaling server #334

Bugsbane commented 3 years ago

this doesn't improve the quality of the calls, it helps to connect users behind restrictives firewalls and NAT.

Does it increase the reliability of calls connecting? That was the main issue I was running into.

ericgaspar commented 3 years ago

I packaged coturn to be installed on root domain or sub domain. Credentials are sent to root@admin_user.ynh There is currently only an installation and removal script. If someone is willing to test... https://github.com/YunoHost-Apps/coturn_ynh