iT邦幫忙

2021 iThome 鐵人賽

DAY 18
0
Software Development

新手也能打造網路電話系統-WebRTC入門與活用系列 第 18

Day 18 - 應用篇 - 搭建ICE Server

先前有介紹過WebRTC在傳遞多媒體資訊時所需的協定,而在上一篇我們完成了一個基本的網路電話系統,但過程中我們僅使用STUN協議,這樣在特定類型的NAT下會無法進行通話,因此,今天我們要搭建自己的ICE Server來達成STUN與TURN協議,但是從頭開始自己實作協議並不容易,所以我們會借助coturn的力量!

coturn

coturn是一個的開源專案,其內部實作STUN與TURN,以及其他協議,並提供log日誌以儲存於主流資料庫中。

本文會將coturn架設在AWS的服務上,但如何使用AWS開機器並非本文的重點,因此就不贅述,大家可以先在AWS開一台機器,並且選擇Ubuntu作業系統,版本為18.04以上。由於TURN會中繼多媒體資訊,因此長期下來的流量相當可觀,所以伺服器架設的部分大家可以盡量選擇比較便宜的服務。

搭建coturn

Step1 安裝coturn

連線至新開的雲端主機,並執行以下指令,以安裝coturn。

sudo apt-get -y install coturn

Step2 修改coturn設定並運行

輸入以下指令,以設定coturn並運行Server,<>括號內的內容為自行替換的資訊。

sudo turnserver -v --lt-cred-mech --user <Username>:<Password> --realm <Domain name> --external-ip <IP address>
  • Username&Password: 輸入Server的認證帳號,這個帳號必須妥善保存,若被他人得知,會產生額外的流量。
  • Domain name: 輸入主機的網域名稱,可輸入AWS所提供的網域。
  • IP address: 輸入主機的IP位址。

上一篇
Day 17 - 應用篇 - 建構WebRTC網路電話(Server端)
下一篇
Day 19 - 應用篇 - 雙方影像顯現與鏡像
系列文
新手也能打造網路電話系統-WebRTC入門與活用30

1 則留言

0
trombone513
iT邦新手 5 級 ‧ 2022-01-18 15:49:55

Coturn 的測試可以用 https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/

或是用內建的 turnutils_uclient 來測試

我要留言

立即登入留言