問題タブ [coturn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
36768 参照

video-streaming - Ubuntu に WebRTC 用の TURN サーバーをインストールする

ubuntu 12.04 に TURN サーバーをインストールするにはどうすればよいですか? チュートリアルを共有できますか? このチュートリアルを読みました: WebRTC アプリケーション用の独自の STUN/TURN サーバーの実装。しかし、私が理解していないのは、ubuntu 12.04に独自のTURNサーバーをインストールする方法です?

現在、次のコードのようなものを使用して作成していますRTCPeerConnection

そして、別のネットワークで動作するように上記のコードの引数を埋めたいと思います。

ターンサーバーをインストールしたいときは、

使用しapt-get install resiprocate-turn-serverました。このhttps://www.webrtc-experiment.com/docs/TURN-server-installation-guide.htmlチュートリアルも使用しました。

0 投票する
2 に答える
2288 参照

javascript - coturn (stun/turn) サーバーを使用して Web アプリでピア接続を確立する方法

カムブロードキャスト用の Web アプリを構築しています。私は Django を Web アプリに使用し、coturn を (STUN/TURN) シグナリング サーバーとして使用しています。私の目標は、WebRTC でそれを行うことです。

他のピアが到達できるようにするために、ピアをシグナリング サーバーに接続する方法がわかりません。だから私が知る必要があるのは、「PeerConnection」を確立する方法です。Webアプリケーションでは、必要なものはすべて揃っています(私が思うに):user.id、共有シークレット、シグナリングサーバーのIPとポート、...しかし、HTML JSスクリプトでそれを混合してcoturnサーバーに接続する方法がわかりません。

coturn サーバーのドキュメントを読み、いくつかの例を検索しましたが、この部分の例が見つかりません。

誰かが私に例を見せてもらえますか?

0 投票する
7 に答える
23331 参照

rest - CoTURN: TURN REST API の使い方

coturn をビルドし、正常に実行しました。IP:192.168.1.111。ここで私が直面した問題は、REST API を介して Turn 資格情報を取得することです。 https://datatracker.ietf.org/doc/html/draft-uberti-behave-turn-rest-00パッセージによると、リクエストのフォーマットは

GET /?service=turn&username=mbzrxpgjys

と応答する必要がありますJSON。今私の質問は:

a) TURN SERVER をモードで実行するように構成してコマンドを実行する方法はREST API?

TURN SERVERb)正しく応答できるように正しい形式で http 要求を記述する方法は? 例を教えてください。

0 投票する
1 に答える
5431 参照

webrtc - Coturn Web インターフェイスにアクセスできません

Centos-7-x64 で実行中の coturn インスタンスがあります。ブラウザーからアクセスすると、次のように表示されます。

TURN Server
は管理セッションに https 接続を使用します

ドキュメントを調べたところ、次のことがわかりました。

turnadmin ユーティリティを使用して、admin ユーザーをデータベースに追加します。これらのユーザーを追加すると、ブラウザーから HTTPS 経由で TURN サーバー ポートに接続し、Web インターフェイスで管理タスクを実行できるようになります

そこで、次のコマンドで管理者ユーザーを作成しました。

そして、実行時にそのユーザーがリストされていることがわかります:

ただし、 https://my.ip.adrss:3478に接続しようとすると、約束した管理者が表示されません。

ここで何が欠けていますか?

0 投票する
1 に答える
1385 参照

webrtc - coturn を介してユーザー メディア ストリームを強制的にトラフィックする方法

私の kurento メディア サーバー (S1) が公開サーバーにセットアップされている場合、ユーザー A は S1 に接続できますが、速度は遅いです。ユーザー A が H1 にすばやく接続するホスト (H1) を 1 つ購入したいです。サーバー H1 は S1 に高速で接続します! ということで、H1 に coturn をメディア リレーとしてインストールすると思います。H1 に coturn をインストールして、ユーザー A のメディア ストリームを H1 の coturn 経由でトラフィックさせることはできますか?

0 投票する
1 に答える
1035 参照

webrtc - WebRTCのTURNサーバーに関する質問

TURN プロトコルを詳細に説明している RFC 5766 を調べました。ただし、オープンソースの TURN サーバーである COTURN をダウンロードしてインストールした後、理解できない基本的な質問がいくつかあります。

TURN サーバーのクライアントとは何ですか? WebRTC 呼び出しを開始する最初のブラウザーですか? TURN サーバーは、特定のピアを対象としたクライアントの割り当てを作成します。WebRTC では、ピア ツー ピア通信について説明します。RFC では、クライアント サーバー ピア通信について説明しています。クライアントとサーバー間のすべての要求/応答は TURN 駆動ですが、ピアと TURN サーバー間の要求/応答は、クライアントとの間で中継される単なる UDP データ メッセージです。

私の 2 番目の質問は、COTURN に特化したものです。「turn_secret」テーブルの「値」フィールドとは何ですか? また、いつどこで使用されますか? iceservers の「credential」プロパティは、HMAC over (credentials、realm、および username) を使用して、turnusers_lt テーブルの hmackey に対応していますか? 「turn_secret」テーブルの「値」フィールドは、この中でどこにあるのでしょうか?

0 投票する
2 に答える
4683 参照

javascript - Coturn/turnserver : エラー 437: 割り当てが一致しません: トランザクション ID が間違っています (WebRTC)

私はこの構造を持っています:

  • ウェブサーバー: アパッチ。それはLANにあります。パブリック静的IPを持つPC(Windows 7)上にあります。PC はネットワーク内にあります。
  • シグナル サーバー: 同じ PC 上の VM (VirtualBox Centos 6) 内。
  • STUN/TURNサーバー:コターン「4.5.0.4」。同じ PC 上の VM (VirtualBox Centos 6) 内。
  • クライアント A : ラップトップ、Vista。(外部)インターネットを取得するために、Samsung モバイルと USB テザリングを使用しています。モバイルは「モバイルデータ」を使用してインターネットに接続します。
  • クライアント B : ラップトップ、Windows 8 (または Windows 10)。私は、Samsung タブレットと USB テザリングを使用して (外部) インターネットに接続しています。タブレットは「モバイルデータ」を使用してインターネットに接続します。

次のように coturn/turnserver を実行します。

ポート転送を作成しました:

これらの変更を加えた coturn のデフォルト構成ファイルを使用します。

ファイル server.crt と server.key を作成しましたが、https で実行する必要がある Web 管理ツールを使用できるため、それらが正しいことを知っています。

管理者ユーザーを作成しました。以下を使用して、ユーザー「test4」のキーを作成しました。

そして私はそれを使って彼を作成します:

クライアント上:

coturn/turnserver から受け取ったメッセージは次のようなものです。

ここで何が欠けていますか? コンソールに「ICE failed」と表示されるのはなぜですか?

https://tools.ietf.org/id/draft-ietf-behave-turn-08.htmlで読みまし た

それは言う

437 (割り当てミスマッチ): これは、クライアントが、サーバーが既に使用されていると見なすか、最近使用された 5 タプルを選択したことを示します。これが発生する可能性のある 1 つの方法は、介在する NAT が、別の割り当てによって最近使用されたマップされたトランスポート アドレスを割り当てた場合です。クライアントは、別のクライアント トランスポート アドレスを選択し、(別のトランザクション ID を使用して) 割り当て要求を再試行する必要があります。クライアントは、このサーバーをあきらめる前に、3 つの異なるクライアント トランスポート アドレスを試す必要があります。クライアントがサーバーをあきらめると、2 分間、サーバー上で別の割り当てを作成しようとするべきではありません。

これは何を意味するのでしょうか?

アップデート

ここで、クライアント A が Chrome "49.02623.112 m" (Vista 上にあるため更新できません) を使用し、クライアント B "50.0.2661.75 m" を使用すると、coturn サーバーは数秒間正常に動作します。サーバーを次のように実行します (これが役立つかどうかはわかりません。XXX.XX.XXX.XX は、サーバーの VM が存在する PC のパブリック静的 IP であり、192.168.2.190 は内部 IP です):

ログ メッセージは次のとおりです。