如何为Spreed WebRTC设置Coturn TURN服务器

Coturn是用于VoIP和WebRTC的免费开源TURN和STUN服务器。 在先前的教程中,我们讨论了如何安装Spreed WebRTC服务器以及如何将Spreed WebRTC与NextCloud集成。

但是有一个问题:如果用户位于其他NAT设备之后,WebRTC将无法工作。 它将被阻止。 要遍历NAT,我们需要将TURN服务器设置为Web浏览器之间的中继。 TURN代表 Ť遍历 ü[R围绕 ñ在。 如何工作超出了本教程的范围。

本教程将向您展示如何在Ubuntu 16.04上设置coturn(TURN的开源实现)以及如何将Spreed WebRTC连接到coturn。

注意:为减少延迟,TURN服务器应靠近用户,并注意TURN服务器会消耗大量带宽,因为它将依赖于音频和视频。 Coturn可以在具有Spreed WebRTC的同一台计算机上,也可以在不位于NAT之后的另一台计算机上。

如何为Spreed WebRTC设置Coturn Server

Coturn可从Ubuntu 16.04、16.10和Debian 8存储库中获得,因此请使用以下命令进行安装:

sudo apt install coturn

要使其在系统启动时自动启动,请编辑 /etc/default/coturn 文件。

sudo nano /etc/default/coturn

找到以下行,并通过删除取消注释 # 符号。

#TURNSERVER_ENABLED=1

保存并关闭文件。 接下来,编辑主配置文件。

sudo nano /etc/turnserver.conf

默认情况下,该文件中的所有行都被注释掉。 下面是一个示例配置,您可以将其复制并粘贴到文件中。 用您的NextCloud或Spreed WebRTC的域名替换your-domain.com。 还要设置一个长而安全的身份验证机密。

# Run as TURN server only, all STUN requests will be ignored.
no-stun

# Specify listening port. Change to 80 or 443 to go around some strict NATs.
listening-port=8443
tls-listening-port=5349

# Specify listening IP, if not set then Coturn listens on all system IPs. 
#listening-ip=12.34.56.78
#relay-ip=12.34.56.78

# These lines enable support for WebRTC
fingerprint
lt-cred-mech
realm=your-domain.com

# Authentication method
use-auth-secret
static-auth-secret=your-auth-secret

total-quota=100

# Total bytes-per-second bandwidth the TURN server is allowed to allocate
# for the sessions, combined (input and output network streams are treated separately).
bps-capacity=0

# This line provides extra security.
stale-nonce

log-file=/var/log/turnserver/turn.log
no-loopback-peers
no-multicast-peers

保存并关闭文件。 然后使用以下命令启动coturn服务器:

sudo turnserver -c /etc/turnserver.conf --daemon -v

现在,让我们编辑Spreed WebRTC配置文件。

sudo nano /etc/spreed/server.conf

将以下两行添加到 [app] 部分。 相应地替换红色文本。

turnURIs = turn:coturn-server-ip:8443?transport=udp

turnSecret = your-auth-secrect

保存并关闭文件。 然后使用以下命令重新启动Spreed WebRTC docker容器

sudo docker restart my-spreed-webrtc

或如果通过Ubuntu PPA安装了Spreed,请运行以下命令。

sudo systemctl restart spreed-webrtc

一旦coturn运行并重新启动了Spreed WebRTC,位于NAT之后的用户应能够正常使用音频/视频呼叫。

而已! 我希望本教程可以帮助您为Spreed WebRTC安装Coturn服务器。 与往常一样,如果您发现此帖子有用,请订阅我们的免费新闻通讯。 您也可以在Google +,Twitter或喜欢我们的Facebook页面上关注我们。

Sidebar