为WebRTC 应用部署Turn Server

Posted bruce

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为WebRTC 应用部署Turn Server相关的知识,希望对你有一定的参考价值。

部署WebRTC 或 SIP p2p 方案时经常会遇到p2p 无法穿透的环境,

这时就是TunServer 的用武之地了。

这里我们使用turnserver-0.7.3 

 

下载confuse依赖库

wget http://savannah.nongnu.org/download/confuse/confuse-2.7.tar.gz

tar zxvf confuse-2.7.tar.gz

cd confuse*

./configure

make && make install

 

下载

wget http://downloads.sourceforge.net/project/turnserver/turnserver-0.7.3.tar.bz2

tar jxvf turnserver-0.7.3.tar.bz2

cd turnserver*

./configure

make && make install

 

编辑配置文件

将extra 中的配置文件模版拷贝到/etc目录下,假设您的ip 是 1.2.3.4

1,配置文件

cp extra/turnserver.conf.template  /etc/turnserver.conf

vi /etc/tunserver.conf

修改

 listen_address = { "1.2.3.4" }

修改 ## Daemon mode.
daemon = true # 修改为后台服务方式

修改带宽限制

## Allocation bandwidth limitation (in KBytes/s).
## 0 value means bandwidth quota disabled.
bandwidth_per_allocation = 1024


## Restricted user bandwidth (in KBytes/s).
## 0 value means bandwidth limitation disabled.
restricted_bandwidth = 0

2,认证用户文件

cp extra/turnusers.txt.template /etc/turnusers.txt

vi /etc/turnusers.txt
 
添加一行或多行认证信息格式为    用户名:密码:domain:authorized
例如下面的行:
700:700pass:domain.org:authorized
 
添加完成后,就可以在webrtc 里面使用stun 和tun server 了。
var configuration = {
  ‘iceServers‘: [{
    { ‘url‘ : ‘stun:1.2.3.4‘} ,

    { ‘url‘ : ‘turn:[email protected]‘,credential : ‘700pass‘}
  }]
};

 

 

转载路径:http://blog.163.com/sir_876/blog/static/11705223201422810528434/

 

以上是关于为WebRTC 应用部署Turn Server的主要内容,如果未能解决你的问题,请参考以下文章

webrtcclient与TURN和信令server通讯流程图

WebRTC:ICE、STUN 和 TURN,但我不能只使用我的 SignalR.NET 连接吗?

webrtc连接方法——TURN服务器和STUN服务器作用简介

C# 中的 WebRTC STUN 和 TURN 服务器

Turn and Stun server · J

Twilio WebRTC TURN 中继在几分钟后随机停止工作