問題タブ [stun]
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.
node.js - webrtc blob アドレスがシグナリング サーバーにあるのはなぜですか?
easyrtc ツールキット ( http://easyrtc.com/ ) (nodejs 用に作成) を使用して、オフィス ネットワーク内にチャット システムをセットアップしました。私はこのセットアップを実装するために多くのことをせず、単にツールキットで提供されたデモを使用しました。アプリケーションはオフィス内の VM でホストされますが、ツールキットのデフォルトの ICE 構成では、オフィスのファイアウォールの外側にある STUN および TURN サーバーについて言及されています。
システムは正常に動作していますが、疑問があります。オフィス ネットワーク内の別のコンピューターに座っている同僚と webrtc ビデオ チャットを開始した後、彼のビデオで「要素の検査」を行いました。私は私たちの間にピアツーピア接続を作成したと信じているので、ブロブ アドレスが彼の IP アドレスにあると予想していました。しかし、IP アドレスは、アプリがホストされている VM の IP アドレスであることが判明しました。なぜこうなった?
ここで、10.30.23.56 は VM のアドレスです。ビデオは同僚のウェブカメラから来ています。
google-chrome - ICE接続状態が「確認中」のまま
sipml5 から voIP ソフトフォンに電話をかけようとしていますが、シグナリングが完了した後、ICE 接続状態が「チェック中」のままで、要求/応答 (バインディングの成功) が再送信されるという問題に直面しています。
Chrome バージョン 33.0.1750.146 (バイナリ) を使用しています。このバージョンには、libjingle パッチ (port.cc、port.h、basicportallocator.cc) が含まれると思います。
テスト目的で、氷応答ログに PJNATH ICEdemo を使用しました。ログは 2014 年 3 月 4 日に https://code.google.com/p/webrtc/issues/detail?id=2613にアップロードされました。
解決策を見つけるのを手伝ってください。
webrtc - WebRTC アプリケーション用に独自の STUN/TURN サーバーを実装する
私は 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 サーバーを参照するように指示します。
私は少し混乱しています。なぜ Google の公開 STUN サーバーを参照しているのですか。RFC5766 TURN サーバーの内部に STUN があると思いました。
RFC5766 は TURN サーバーのみですか? STUNサーバーではありませんか?Google が提供するものを使用するのではなく、独自の STUN サーバーを実装することはできませんか?
このような素朴な質問で申し訳ありません。私はWebRTCが初めてです。
ありがとう。
ios - NAT の背後にあるピアとの iOS 目的の c ソケット p2p 接続
NAT の背後にある (異なるネットワークにある) 2 つのピア間で、iOS (Objective-C) にソケット通信を実装する必要があります。これを達成できるテクニックはありますか?基本的に、外部 IP/ポート アドレスを見つけることができる STUN、TURN 実装を探しています。
前もって感謝します、レオニード
ios7 - iOS7 PJSIP オーディオの問題 3G
iOS アプリで PjSip を使用しようとすると、オーディオの問題が発生します。
問題 1. STUN を有効にすると、オーディオは WiFi 経由で完全に機能することがわかりますが、3G ネットワークではまったくオーディオがありません。
問題 2. STUN を無効にすると、WiFi 経由で動作します。しかし、3G では、発信通話中にのみ音声を受信しますが、着信通話ではまったく音声がありません。
http://trac.pjsip.org/repos/wiki/Audio_Problems/Getting_Around_Natで提案されているように VAD を無効にしようとしましたが、改善はありません。トランクから作成された pjsip の最新ビルドを使用しています。私のコードは多かれ少なかれ siphon アプリに基づいています。
この点でどんな助けでも大歓迎です。
sockets - 複数のデバイス タイプでファイアウォールと NAT の背後にある p2p 転送の方法
最初のユーザー (モバイルまたはデスクトップ アプリ) の IP アドレスとポートを 2 番目のユーザー (モバイルまたはデスクトップ アプリ) に送信するために中央サーバーに依存するシステムを構築しています。2 番目のユーザーは、中央サーバーから送信された IP アドレスとポートを使用して、最初のユーザーとの P2P 暗号化接続を確立し、大きなファイルを直接送信します (理想的には、実際のファイルは中央サーバーを通過しません)。
このシステムは、ユーザーが異なるファイアウォール/NAT の背後にいて、モバイル デバイスまたはデスクトップ デバイスを使用している場合でも、ユーザーが手動でポートを開く必要なく機能する必要があります。
NAT トラバーサル プロトコル (Teredo IPv6)、libjingle (Google のオープン ソース スイート)、STUN、ダイレクト ソケット接続、およびユーザー間のダイレクト VPN について調べてきました。
これに正しくアプローチしているかどうか、私は混乱しています。これらのオプションはすべて、この問題を個別に解決しますか? それとも私はこれに間違って近づいていますか?IPv4ルーターの背後であっても、直接IPv6接続はまっすぐになりますか?
networking - RFC 4787 の UDP の UNSAF メソッド
私は rfc 4787 を調べていて、著者は UNSAF メソッドについて言及しています。UNSAF方式とは?
stun - スタンサーバーに関する混乱
私が必要とするのは、ポート(ローカルマシン)で UDP
リッスンしているサーバーを開き、パケットを私に送信できることです。私のマシンには. 基本的に私は必要です。X
machine(public IP)
UDP
public IP
stun
stuntman
サーバー/クライアント プロジェクトをテストしています。サーバー(パブリックIP)でスタントマンサーバーを実行します。私のシステム (ローカル IP) でクライアントを実行します。ポートにマップされた ip/port を要求しました9999
。
Stun サーバーは IP とポートを返します。次に、UDP
ローカル システムで (Java を使用して) サーバーを開き、9999
ポートでリッスンを開始し、スタン サーバーから返されたUDP
メッセージを送信します。しかし、データを受信できません。サーバー/クライアント コード (Java で記述) がローカル ネットワークで正常に動作していると想定できます。other machine (which has public IP)
mapped IP/port
フロー:
php - PHP ソケットで NAT を実行する方法
スカイプと同じように動作するように、phpでピアツーピアアプリを作成しようとしています。内部アドレスで動作しますが、外部アドレスにデータを送信しようとすると、メッセージが届きません。明らかに、アドレス変換が欠けていますが、PHP ソケットでそれを行う方法がわかりません。出来ますか?
これは、メッセージを受信するために現時点で持っているコードです。これを最初に実行して、メッセージを待ちます。
そして、待っているときに、次のコードを実行してメッセージを送信します。
しかし、送信して終了しますが、最初のスクリプトはまだ待機中です...しばらくの間、誰かが私を助けてくれますか?
- 編集 -
わかりましたので、スタンサーバーを実装し、次のようにポート転送を設定しました:
最初のスクリプトを変更して、stun サーバーから IP/ポートを取得しました。
スタンサーバーから情報を取得し、別の接続を待ちますが、2番目のスクリプトでその情報を使用すると、最初のスクリプトはまだメッセージを受信しません..他に足りないステップはありますか?