日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

搭建turnserver

發(fā)布時(shí)間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 搭建turnserver 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

參考文件:

http://blog.csdn.net/kl222/article/details/20145423

為什么要搭建TURN服務(wù)器?

  因?yàn)槲覀兙帉懙膕ip客戶端再和南瑞的sip服務(wù)器進(jìn)行通信的時(shí)候,中間經(jīng)過一個(gè)安全平臺(tái),這個(gè)安全平臺(tái)具有NAT和防火墻功能。RTP和RTCP包傳遞不了。所以要增加一個(gè)TURN服務(wù)器。同時(shí)在sip客戶端側(cè)要實(shí)現(xiàn)TURN客戶端功能。

?

搭建TURN服務(wù)器的步驟:

要安裝兩個(gè)軟件?libConfuse和TURN server

1,下載

  別人說通過svn和git方式下載,但是這個(gè)地址都下載不下來,提示地址錯(cuò)誤。我是在windows下訪問下面的兩個(gè)網(wǎng)站,直接下載的文件。

官網(wǎng):http://turnserver.sourceforge.net/

?官網(wǎng):?http://www.nongnu.org/confuse/

下載的兩個(gè)文件如下:

confuse-2.7.tar.gz

turnserver-0.7.3.tar.bz2

?

2,傳輸

我在windows下面使用的是xshell,??配置xshell下面的ZMODEM的上傳和下載目錄,就可以使用rz命令向CentOS主機(jī)傳輸文件了。

我是在根目錄下創(chuàng)建了一個(gè)turnserver目錄。

mkdir turnserver

?

3,解壓

tar -xzvf confuse-2.7.tar.gz?

tar -jxvf turnserver-0.7.3.tar.bz2

解壓后的目錄如下:

?

4,編譯安裝confuse-2.7

cd confuse-2.7./configure //這里不要指定目錄,使用默認(rèn)目錄進(jìn)行安裝。默認(rèn)是安裝在/usr/local目錄下面。makesudo make install

沒有報(bào)錯(cuò),安裝成功。

?

5,編譯安裝turnserver-0.7.3

cd turnserver-0.7.3./configure //這里不要指定目錄,使用默認(rèn)目錄進(jìn)行安裝。默認(rèn)是安裝在/usr/local目錄下面。makesudo make install

這兩個(gè)只所以沒有指定安裝目錄是因?yàn)樵O(shè)置了安裝目錄后,再安裝turnserver的時(shí)候,提示前面的confuse沒有安裝。

?

6,熟悉、建立、修改配置文件。

6.1 在turnserver源碼根目錄下的extra目錄下有配置模板可以參考。

turnserver.fedora.initd #fedora平臺(tái)的啟動(dòng)腳本

turnserver.spec???????? #fedora平臺(tái)的啟動(dòng)腳本

turnserver.debian.initd #debian平臺(tái)的啟動(dòng)腳本

turnserver.conf.template#配置文件

turnusers.txt.template? #用戶名、密碼配置文件

?6.2? 建立配置文件:

[hy@localhost-turnserver]$ cd extra/

[hy@localhost-extra]$ cp turnserver.conf.template /usr/local/etc/turnserver.conf

[hy@localhost-extra]$ cp turnusers.txt.template /usr/local/etc/turnusers.txt

[hy@localhost-extra]$ cd /usr/local/etc

?6.3修改配置文件

cd /usr/local/etc

chmod 777?turnserver.conf

chmod 777?turnusers.txt

?

vi turnserver.conf

listen_address = {"183.62.225.76" }????????? ?#把對(duì)應(yīng)公網(wǎng)網(wǎng)卡的IP地址寫入(如果公網(wǎng)地址是用鏡像的,則用鏡像的那個(gè)IP地址),一般只要改這個(gè)配置,其它的用默認(rèn)值就可以了。

## Account method.

account_method = "file"? ??????????????????????#配置賬戶數(shù)據(jù)為文件

?

## Account file (if account_method = file).

account_file ="/usr/local/etc/turnusers.txt"?#指定賬戶文件位置

?

[root@rlnf-76etc]# vi turnusers.txt

foo:bar:domain.org:authorized

用戶名:密碼:領(lǐng)域:需要驗(yàn)證的

領(lǐng)域的值應(yīng)與配置文件(turnserver.conf)中的?

## Realm value.
realm = "domain.org"

的值相同.這個(gè)值用于密碼確認(rèn)的.

?

7,啟動(dòng)turnserver

[root@rlnf-76etc]# cd ../sbin

[root@rlnf-76sbin]# ./turnserver -c /usr/local/etc/turnserver.conf

?

8 ? 啟動(dòng)回顯服務(wù):

在服務(wù)器上啟動(dòng)回顯測(cè)試服務(wù)端程序:

[root@rlnf-76bin]# ./test_echo_server

UDP Echo server started on port 4588

?

9 ? ? 測(cè)試服務(wù)器是否正常

在其它機(jī)器上(客戶機(jī)器)啟動(dòng)測(cè)試程序:

rdc@rdc-Virtual-Machine:/home/turnserver/src$./test_turn_client -t udp -s 183.62.225.76 -p 183.62.225.76 -w 4588 -u foo -g 1234-d domain.org????????

Protocol: udp (17) use TLS: 0.

sock: 3 speer: (nil) connected!

Send Allocate request.

Send Allocate request.

Probably wrong credentials or requestedfamily not supported.

這個(gè)是說權(quán)限錯(cuò)誤,一般是用戶或密碼不對(duì)。修改用戶和密碼,再次運(yùn)行:

rdc@rdc-Virtual-Machine:/home/turnserver/src$./test_turn_client -t udp -s 183.62.225.76 -p 183.62.225.76 -w 4588 -u foo -gbar -d domain.org

Protocol: udp (17) use TLS: 0.

sock: 3 speer: (nil) connected!

Send Allocate request.

Send Allocate request.

Allocate an address!

Send CreatePermission request.

Permission installed!

Send Send indication.

Receive data: 1024

Send CreatePermission request.

Channel bound to 16393.

Send ChannelData.

Received ChannelData: 1024 bytes

Send Refresh request.

Cleanup and exit.

?

10 ? ?服務(wù)端打印的日志:

?

15:44:26.632297 [turnserver_main:4509]  Received UDP on listening address15:44:26.632336[turnserver_listen_recv:3273]   Nomessage integrity15:44:26.636506 [turnserver_main:4509]  Received UDP on listening address15:44:26.636534[turnserver_listen_recv:3581]   OK basicvalidation are done, process the TURN message15:44:26.636546 [turnserver_process_turn:2942]  Process a TURN message15:44:26.636559[turnserver_process_allocate_request:2302]     Allocate request received!15:44:26.636573[turnserver_process_allocate_request:2536]     lifetime: 165 seconds15:44:26.636667 [turnserver_process_allocate_request:2767]      Account foo, allocations used: 315:44:26.636719[turnserver_process_allocate_request:2903]     Allocation successful, send success allocate response15:44:26.640733 [turnserver_main:4509]  Received UDP on listening address15:44:26.640758[turnserver_listen_recv:3581]   OK basicvalidation are done, process the TURN message15:44:26.640770[turnserver_process_turn:2942]  Process aTURN message15:44:26.640781[turnserver_process_createpermission_request:1627]      CreatePermission request received15:44:26.640807[turnserver_process_createpermission_request:1767]      Install permission for 183.62.225.76 458815:44:26.640828[turnserver_process_createpermission_request:1806]      CreatePermission successful, send successCreatePermission response15:44:26.645088 [turnserver_main:4509]  Received UDP on listening address15:44:26.645110[turnserver_listen_recv:3581]   OK basicvalidation are done, process the TURN message15:44:26.645121[turnserver_process_turn:2942]  Process aTURN message15:44:26.645131[turnserver_process_send_indication:1414]      Send indication received!15:44:26.645143[turnserver_check_bandwidth_limit:503] Tokendown bucket available: 150000, tokens requested: 102415:44:26.645154[turnserver_process_send_indication:1536]      Will not set DF flag15:44:26.645166[turnserver_process_send_indication:1567]      Send data to peer15:44:26.645224 [turnserver_main:4686]  Received UDP on a relayed address15:44:26.645241[turnserver_check_bandwidth_limit:477] Tokenup bucket available: 150000, tokens requested: 102415:44:26.645314[turnserver_relayed_recv:3722]  Send datato client15:44:26.649140 [turnserver_main:4509]  Received UDP on listening address15:44:26.649165[turnserver_listen_recv:3581]   OK basicvalidation are done, process the TURN message15:44:26.649177[turnserver_process_turn:2942]  Process aTURN message15:44:26.649187[turnserver_process_channelbind_request:1860]  ChannelBind request received!15:44:26.649199[turnserver_process_channelbind_request:1936]  Client request a ChannelBinding for 183.62.225.76 458815:44:26.649234[turnserver_process_channelbind_request:2055]  ChannelBind successful, send success ChannelBind response15:44:26.653515 [turnserver_main:4509]  Received UDP on listening address15:44:26.653532[turnserver_process_channeldata:1239]  ChannelData received!15:44:26.653544[turnserver_check_bandwidth_limit:503] Tokendown bucket available: 150000, tokens requested: 102415:44:26.653557[turnserver_process_channeldata:1366]  Send ChannelData to peer15:44:26.653596 [turnserver_main:4686]  Received UDP on a relayed address15:44:26.653611[turnserver_check_bandwidth_limit:477] Tokenup bucket available: 150000, tokens requested: 102415:44:26.653623[turnserver_relayed_recv:3722]  Send datato client15:44:26.657563 [turnserver_main:4509]  Received UDP on listening address15:44:26.657586[turnserver_listen_recv:3581]   OK basicvalidation are done, process the TURN message15:44:26.657598[turnserver_process_turn:2942]  Process aTURN message15:44:26.657608[turnserver_process_refresh_request:2101]      Refresh request received!15:44:26.657618[turnserver_process_refresh_request:2146]      lifetime: 0 seconds15:44:26.657664[turnserver_process_refresh_request:2201]      Account foo, allocations used: 215:44:26.657677[turnserver_process_refresh_request:2203]      Explicit delete of allocation15:44:26.657692[turnserver_process_refresh_request:2245]      Refresh successful, send success refresh response
服務(wù)端打印的日志

?

轉(zhuǎn)載于:https://www.cnblogs.com/matthew-2013/p/4933244.html

總結(jié)

以上是生活随笔為你收集整理的搭建turnserver的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。