Twilio Network Traversal Service
Twilio のネットワークトラバーサルサービスは、より信頼できるピアツーピア通信アプリケーションのデプロイに役立つ、グローバル分散型の STUN/TURN サービスです。WebRTC および VoIP のアプリケーションでこのサービスを使用すると、NAT/ファイアウォールを超えるトラバーサルやリレーを実現できるので、ユーザーは毎回接続に成功できます。
STUN/TURN、ICEがはじめての方はこちらをご覧くださいすぐに Twilio ネットワークトラバーサルサービスを使いたい場合に便利です。
WebRTC アプリケーションでのネットワークトラバーサルサービスの使用
WebRTC アプリケーションでネットワークトラバーサルサービスを使用するには、トークンをリクエストして、それを RTCPeerConnection コンストラクターに渡します。
まず、ウェブ サーバーからリクエストを送信して、ネットワークトラバーサルサービストークンを取得して、WebRTC アプリケーションに渡します。
Important: You'll need to use your Twilio AccountSid and AuthToken to get a Network Traversal Service Token. You should only make this request from your server and not the client browser to keep your Twilio account credentials safe.
次に、呼び出しを設定する際、RTCPeerConnection コンストラクターに渡す RTCConfiguration オブジェクトに、次に示すように ice_servers プロパティを追加します(ここで、ICE_SERVERS は上記の応答で返された ice_servers プロパティの内容です)。
// Here's an example in javascript myIceServers = ICE_SERVERS; var configuration = { iceServers: myIceServers }; var pc = new RTCPeerConnection(configuration);
この後は、通常どおりに、SDP のオファー/アンサーを交換します。これで、ネットワークトラバーサルサービスを使用して、接続を設定できるようになりました。
使用しているブラウザが Trickle ICE をサポートしている場合、RTCPeerConnection の onIceCandidate イベントを処理して、接続しているピアに新しい ICE 候補を渡すこともできます。
// Here's an example in javascript pc.onicecandidate = function (evt) { if (evt.candidate) { // send the candidate to the other party via your signaling channel } };
これですべてです! さらにヘルプが必要な場合は、よくある質問を確認するか、または Twilio サポート(help@twilio.com)にご連絡ください。
VoIP クライアントでのネットワークトラバーサルサービスの使用
In order to use Network Traversal Service in a VoIP client, you'll need to be able to make an HTTP request from your VoIP client or another application at least once every 24 hours to retrieve a new ephemeral token.
VoIP クライアントでネットワークトラバーサルサービスを使用するには、次のことを行います。
- ネットワークトラバーサルサービストークンを取得します。
- 返されたデータから STUN URL と TURN URL、ユーザー名、およびクレデンシャルの値を取得します。
- 取得した値を使用して、VoIP クライアントを構成します。
ネットワークトラバーサルサービストークンの有効期間は最大で 1 日(デフォルト値)です。トークンの有効期間は、トークンをリクエストする際に Ttl
パラメーターを使用して短縮できます。詳細については、ネットワークトラバーサルサービストークンを参照してください。