Turn/stun/signaling server for nextcloud talk

NethServer Version: 7.9.2009
Module: 20.0.2.2

For the talk module in nextcloud there apparently is a need of a turn server, else some clients don’t get an image while screen sharing or video conferencing. I tested attaching my nethserver nextcloud / talk to my private - non nethserver - coturn service and that solved the issues. Thats why I would like to ask how you deal with the missing turn server in order to have clients behind firewalls successfully using nextcloud talk app.

Is this still the correct way to set coturn up, or are there other recomandations, like nextcloud high performance backend? I would like to recommend an official package for coturn as it seems quite useful to have a webconferencing solution that works through wan within nethserver.

I am asking as I hesitate just going with the try and error approach as this is a production nethserver I want to avoid problems. Thus I am asking myself if it would be preferable to install coturn service on another server, for ex. I have a separate debian vm where I have setup piHole on this ProxMox instance that is also running our nethserver carrying nextcloud, mailserver, firewall and so on, so maybe better install it on a separate vm and not on the nethserver?

@Elleni

Hi

If it’s on a seperate VM, you can’t interrupt your prod Nethserver… :slight_smile:

My 2 cents
Andy

1 Like

Yep, I decided to install coturn on the separate debian vm that also has piHole installed. Worked like a charm :slight_smile:

I activated the following options in turnserver.conf:

listening-ip 
fingerprint
use-auth-secret
static-auth-secret=
realm=stun.ourdomain.tld
total-quota=100
stale-nonce
syslog
no-multicast-peers
secure-stun
no-tls
no-dtls

and opened and forwarded port tcp/udp 3478 on my OPNsense router. Works like a charm.

listening-ip was needed as without the coturn service does not start upon boot, but can be activated later manually. See here

1 Like

Found this howto for nextcloud’s high performance backend on debian 10, which I might give a shot when I have time. It’s in german though, but as most other howtos I found are for ubuntu, I thought, I’d link here. Maybe this can also be of some help.

@dev_team Wouldn’t it be a great feature if we could get a one clic installable - high performance backend for nethserver-nextcloud? It would be a quite unique feature and great enhancement for nethserver-nextcloud in my point of view.

As alternatives I will have a look into jitsi and/or community work on matrix/synapse. Any input or feedback is welcome and highly appreciated. :slight_smile:

2 Likes

Indeed it would be a great feature, but I tried Talk in the past and it seems an hard job to do.
We are currently using Jitsi for internal and external meetings, it works quite well and the installation is really quick on Ubuntu server.

In the end, I do not think we are going to put more effort on it.

1 Like

this is so very sad news for me, and i beleive for a lot of community members, @giacomo i had anticipated a module of High perfomance backend server HPB for nextcloud, right here on nethserver. it would have been nice to have. But seems, we will need to rely on a separate server for that task.

Is it Not possible at all to have

I used and had interested at nc talk. But now I tried #ejabberd with update to 21.04 it supports audio / video calls. Better and simpler then talk.

3 Likes

to be honest, to this day i have never really understood what ejabberd is, is it a video and audio conferencing tool like jitsi, is it just a backend server to integrates to other systems, doe sit have mobile and web apps accessible and that links for meeting can be shared to other members.

I have never really understood what it is, and how to make use of it effectively. maybe someone can help with that one.

As for nextcloud talk. in as much as for larger communications and engagement, i would also make use of jitsi, it still makes sense, for an all integrated system for communication, and sometime for getting that quick call or conversation up and running.

2 Likes

Talk needs companion server for push to work (as I understood).
Ejabberd is xmpp communication server. Clients are connecting to ejabberd server. Ejabberd do not need companion server for push. Audio / video communication is handled by clients itself. ejabberd only accepts chats, relays them to clients and so on. Also, ejabberd has stun / turn server builtin. You can try android Conversations, or aTalk. They both supports audio / video calling.

Nextcloud talk recently got some good functions.

–why isnt ejabberd pushed to stable updates?-- :upside_down_face:

2 Likes

Ejabberd is how Jan Koum started WhatsApp and others other communication tools. A standard Ejabberd installation that slowly more more bells and whistles.

1 Like

can the stun and turn server in ejabbered be used for talk?

1 Like

Talk needs static auth token. Ejabberd (in my case, as I understanding) giving to clients only one time tokens. So maybe yes, but how to config ejabberd?

Nextclud HPB now Docker. cool.

will test this. https://github.com/strukturag/nextcloud-spreed-signaling#running-with-docker

ejabber version greater than 20.04 (NS currently has 20.03) has a TURN/STUN server included. It the announcement says, that thi TURN server could be used for non XMPP clients. Maybe NextCloud Talk also works with it? It would be a very nice solution for nethserver, to have a cockpit installable TURN server included.

Here the announcement:

We are pleased to announce ejabberd 20.04. In addition to various bugfixes and improvements, this release massively improves audio and video calls support.

ejabberd 20.04 now implements XEP-0215: External Service Discovery, via the new mod_stun_disco module, which allows XMPP clients to discover STUN/TURN services and to obtain temporary credentials for using them.

The format of the temporary credentials handed out to clients is described in an IETF draft. Therefore, in addition of the ejabberd 20.04 built-in STUN/TURN support, the module can also be used with external STUN/TURN servers that support the same draft (such as coturn or restund). It also allows (non-XMPP) WebRTC applications to use ejabberd 20.04 built-in STUN/TURN support.

PS: Did anyone try to upgrade ejabberd on NS to 20.04 or higher and how to do it?