私はwebrtcアプリケーションに取り組んでおり、次のTURNサーバーを実装する必要があります。
https://code.google.com/p/rfc5766-turn-server/
このチュートリアルに従っています。
http://www.dialogic.com/den/developer_forums/f/71/t/10238.aspx
そして、RTCPeerConnectionが作成されるjavascriptコードで、次のようにTURNサーバーを参照するように指示しています。
var pc_config = {"iceServers": [{"url": "stun:stun.l.google.com:19302"},
{"url":"turn:<turn_server_ip_address>", "username":"my_username", "credential":"my_password"}]};
pc_new = new webkitRTCPeerConnection(pc_config);
私は少し混乱していますが、なぜGoogleのパブリックSTUNサーバーを参照しているのですか。 RFC5766 TURNサーバーの内部にはSTUNがあると思いました。
RFC5766はTURNサーバーのみですか?とSTUNサーバー? Googleが提供するサーバーを使用して、独自のSTUNサーバーを実装することはできませんか?
そのような素朴な質問でごめんなさい。私はWebRTCが初めてです。
ありがとう。
TURNはSTUNの拡張であるため、TURNサーバーにはSTUN機能もあります。
https://code.google.com/p/rfc5766-turn-server/ はSTUNとしても機能するため、次のような記述を試みることができます。
var pc_config = {"iceServers": [{"url":"turn:my_username@<turn_server_ip_address>", "credential":"my_password"}]};
pc_new = new webkitRTCPeerConnection(pc_config);
イゴールの答えに加えて、
coturn
はrfc5766-turn-server
のフォークであり、コア機能は同じですが、追加機能があり、新しい機能が追加されているため、代わりに使用することをお勧めします。
著者自身の言葉で:
このプロジェクトは、rfc5766-turn-serverプロジェクト( https://code.google.com/p/rfc5766-turn-server/ )から発展したものです。元のRFC 5766文書をはるかに超える新しい高度なTURN仕様が多数あります。このプロジェクトでは、rfc5766-turn-serverのコードをスターターとして使用し、新しい高度な機能を追加します。
インストールに関しては、Linuxマシンへのインストールは簡単であり、他のOSでは試されません。
簡単な方法:
Sudo apt-get install coturn
あなたがノーと言うなら、私は最新の最先端が欲しい、あなたは彼らからソースコードをダウンロードすることができます ダウンロードページ それを自分でインストールする、例:
Sudo -i # ignore if you already in admin mode
apt-get update && apt-get install libssl-dev libevent-dev libhiredis-dev make -y # install the dependencies
wget -O turn.tar.gz http://turnserver.open-sys.org/downloads/v4.5.0.6/turnserver-4.5.0.6.tar.gz # Download the source tar
tar -zxvf turn.tar.gz # unzip
cd turnserver-*
./configure
make && make install
tURNを実行するには、デーモンとして実行することをお勧めします。これを設定するためのリファレンスとして、この wiki を使用できます。
tURNサーバーを実行するためのサンプルコマンド:
Sudo turnserver -a -o -v -n --no-dtls --no-tls -u test:test -r "someRealm"
コマンドの説明:
これで、WebRTCアプリケーションでTURNサーバーを次のように使用できます。
var peerConnectionConfig = {
iceServers: [{
urls: YOUR_IP:3478,
username: 'test',
password: 'test'
}]
}