1. 程式人生 > >為WebRTC 應用部署Turn Server

為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

## Account file (if account_method = file). 指定認證檔案路徑
account_file = "/etc/turnusers.txt" 


2,認證使用者檔案

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

vi /etc/turnusers.txt
新增一行或多行認證資訊格式為    使用者名稱:密碼:domain:authorized 例如下面的行: 700:700pass:domain.org:authorized
啟動 TurnServer, 執行命令 turnserver 新增完成後,就可以在webrtc 裡面使用stun 和tun server 了。 var configuration = {
  'iceServers': [{
    { 'url' : 'stun:1.2.3.4'} ,     { 'url' : ‘turn:[email protected]',credential : '700pass'}
  }]
};