Nextcloud Talk turn server. Using the turn-server does not give a positive (any) result

My system:

  • Centos Server 6.10
  • NC 17.0.5
  • coTurn v4.5.0.8

Hello everybody! I installed Nextcloud Talk and when I try to talk via voice communication with more than two people (on different networks, not on the local network), problems arise: one of my friends can hear only one person, but he cannot hear the third one (the third one also does not hear him). Many different combinations of inoperability.
Problems and freezes when connecting new people to a voice call.

On the Internet, I found a solution to this problem - this is installing and configuring my own turn-server.
According to HowTo instructions: Setup Nextcloud Talk with TURN server HowTo: Setup Nextcloud Talk with TURN server I am on my separate server from Nextcloud (it is accessible all over the Internet, static IP address) installed and configured the turn server. But this did not give a result: as before, it is impossible to communicate normally and stably if more than two people participate in the conference. Problem saved.

I ask you for help in solving my problem.

I tried many different configurations, but all failed. I have so far settled on the configuration from the post above.

here are the settings from my tuneserver.conf file:
listening-port = 3478
fingerprint
use-auth-secret
static-auth-secret = XXXXXXXXxxxXXXXXXXXXXXxXXXXXXXXXa99cdcec03XxXxXxxx
realm = my-domain.host.ru
total-quota = 100
bps-capacity = 0
stale-nonce
no-loopback-peers

testing the turn-server through the NC admin panel is successful (a daw appears when testing the connection)

image

Port 3478 is open in iptables. When making a call, I monitor the operation of the turn server - packets on the specified port are transmitted, the server is working, but the quality of communication has not improved. Using the turn-server does not give a positive (any) result

1 Like

It may not in your case where the bottleneck is more likely to be your upload/download bandwidth on the Talk server or that of those participating (other countries, on 3g etc.). Turn server resolves connectivity issues re accessibility not so much performance although it may help in some cases.

Unless you have a lot of bandwidth and CPU capacity across all participating devices you are not going to get a stable conference call with perhaps 3 users which is the best I could achieve on a home server with Talk. A quick browse through the forum shows that other are experiencing similar behaviour.

If you really keen to have conferences with more than 3 users have a look at the threads for Jitsi (Jitsi Integration in Nextcloud Talk) or BBB (Nextcloud App for BigBlueButton integration). I understand the latter requires a solid server but has very nice functionality beyond just conferences. Jitsi is a bit more straightforward for just conferences.

Hope that helps.

Many thanks for your reply and links to posts! but this is not a home server. it is a production server (but in a virtual machine), with 4 RAM, 1Gbit channel and Intel ® Xeon ® CPU E5-2670 0 @ 2.60GHz

Doesn’t the turn server help with load balancing when talking with more than 2-3 people? I saw posts where it helped people for calls with 5-10 people.

I think you are confusing a TURN server with a video back-end server. A Turn server takes care of setting up the connections. Like going through an old fashioned telephony exchange.

A video backend server called an MCU takes care of the connections by bundling multiple calls into one stream to each participant instead of having each call participant peer-to-peer. You can imagine that the latter would cause congestion very quickly either due to bandwidth of each individual participant or CPU to process all those streams at the same time at each participant in the conference.

HI,
I have a similar setting and though it works perfectly with two persons, it is impossible for the third person to see any video stream or sound.

The big question is, where is or where are the bottlenecks?
The load on the server isn´t high and the bandwidth for the connection (both, from the server and from the clients) is roughly using 10% or 20%, therefore there is still some buffer.

NC 18.04
ubuntu 20.04 LTS
5 GB RAM
20MBit/s connection (sitting behind a natted vDSL network).

I installed a public coturn server but this hasn’t helped at all.

I configured the webserver to use https2

I saw a big performance decrease if the nextcloud server starts to use swap space (which is logical) but after increasing the memory no more swap was used.

I have no clue how the video streaming is computed. There is no big cpu consumption on the server.

Checking the internal nextcloud and webservers logs doesn’t show anything obivous neither …

Edit:
I made a simple test case with three laptops all in the same private network. They access the internet via WLAN which gives 50MBit/s download and 20 MBit/s upload.
I read elsewhere that for each participant 2MBit/s bandwidth is needed.
I can confirm this value by checking the used bandwidth in the DSL router (fritzbox), therefore the assumption that this scenario should work well for 4 - 6 users seems quite valid …

2nd edit:
I switched one laptop in my test setting and after a restart of the nc webserver these three clients where able to connect. There was some lag for the video and voice transmission.

Is there a documentation or a recommendation for the system requirements, i.e. for 4 users the bandwidth should be at least x and the client computers should have at least this cpu and graphic card …

Maybe there is already a old thread answering this?

Any hint would be very kind

Hello, this is a common issue. Talk does not process the streams on the server like Zoom or Wire, so you will not see any big spike in server activity. This is why it is difficult for most setups to handle more than 2-3 live peers in any discussion with video, as each peer does all of its own processing to each connection. It’s just a basic WebRTC setup.

The only way to scale it is to purchase what is called a signaling server directly from Nextcloud. This would redirect the audio and video stream to their central server first so you can support lots of users simultaneously. Nextcloud does not support any third-party signaling software at the moment other than what they sell.

Thanks, I read your other threads and got the bigger picture.
Nevertheless in this case one bottleneck was using the default network driver rtl… for kvm virtualization. Changing this to virtio increased the performance. Using a different setup without a natted router also helped for the lag and we were able to use this system without sound lags for 3 persons.

Thanks