1. WebRTC Platform SkyWay¶
1.1. 概要¶
WebRTCはブラウザやネイティブアプリで利用できる音声、映像、データのリアルタイム通信のオープンでスタンダードな技術です。
本サービスは、WebRTC技術を活用したアプリケーションを簡単に開発できるCPaaS(Communications Platform as a Service)です。WebRTCの活用に必要なSignaling, TURN, SFU等のサーバー群をAPIで提供し、お客さまは自社でWebRTC用の設備を管理運用することなく、グローバルにサービスを展開可能です。
特徴¶
- IETF、W3Cの標準に準拠したWebRTCの音声・映像・データ通信を利用可能です。
- JavaScript, iOS, AndroidのSDKを提供。アプリ開発に集中できます。
- ビデオ通話、データ通信、Signalingはすべて暗号化し、セキュアな通信が可能です。
- TURN, 多人数接続、画面共有などの豊富な機能を提供します。
1.2. 利用できる機能¶
機能一覧¶
分類 | 機能名 | 備考 | |
---|---|---|---|
基本機能 | サーバー/API | STUN | |
Signaling | |||
SDK | JavaScript SDK | ||
iOS SDK | |||
Android SDK | |||
ライブラリ | 画面共有 | ||
オプション機能 | サーバー/API | TURN | |
SFU |
各機能の説明¶
基本機能
機能名 | 内容 |
STUN | - 端末のグローバルIP及びポート番号を取得できます。
- 最も遅延が少ないサーバーへ繋がります。
- サーバーのグローバルIPについては都度変更になります。
|
Signaling | - 端末間の接続に必要なIPアドレスやポート番号等の情報交換を行います。
- サーバーのグローバルIPについては都度変更になります。
|
JavaScript SDK | - Webアプリケーション開発用SDKです。
|
iOS SDK | - iOSアプリケーション開発用SDKです。
- Swift, Objective-Cで利用可能です。
|
Android SDK | - Androidアプリケーション開発用SDKです。
|
画面共有 | - Webブラウザにて画面共有を行うためのブラウザ拡張用ライブラリです。
|
オプション機能
機能名 | 内容 |
TURN | - TURNサーバーでデータを中継することで、企業ネットワークなどP2P通信が利用できない特定のネットワーク環境でのWebRTC利用を可能にします。
- 最も遅延が少ないサーバーへ繋がります。
- サーバーのグローバルIPについては都度変更になります。
|
SFU | - メディアサーバーの一種で、端末から受信したデータを他の端末に分配します。
- 3人以上で通信する際に端末のエンコード負荷と上り帯域幅や通信量を削減でき、より多人数での通信が可能になります。
- サーバーのグローバルIPについては都度変更になります。
|
1.4. 料金¶
初期費用¶
初期費用はありません。
月額費用¶
料金 | Charge Method |
基本料 | 月額上限付の従量課金(分単位)となります。
1テナントあたりに基本料金が発生します。
アプリケーションの停止有無によらず、テナント内にアプリケーションが存在する限り料金が発生します。
(WebRTC用APIキーは1テナント内に複数作成可能です)
|
Signaling利用料 | 1ヶ月あたり100万回接続まで無料。 100万回を超える場合、規定の一定金額が課金されます。
サーバーと端末間の接続開始時に1カウントとして利用回数に加算されます。なお、その後の通信にかかわるIPアドレスの情報交換は利用回数にカウントされません。
回数のカウント、及び課金単位はWebRTC用APIキー単位です。
|
TURN/SFU利用料 | InとOutの合計に対する従量課金(1GB毎)となります。
|
注釈
- TURN/SFU利用料は、TURNサーバー、SFUサーバーに入るトラフィックと出るトラフィックの両方が課金対象です。
- TURN/SFUにおいて、1GB未満のトラフィックは切り上げとなります。
- P2Pでの通信トラフィックは、TURN/SFUを経由しないため課金対象外です。
1.5. サービス提供の品質¶
- サポート範囲
- 本メニューのサポート範囲は、機能一覧に掲載する各機能の仕様に関するお問合わせまでとし、アプリケーション側の動作に関してはお客さまの責任範囲となります。
- お客さま独自のSignaling/TURN/SFUを利用される場合やSDKを修正された場合は、API及びSDK含めてお客さまの責任範囲となります。
- 運用
- 本メニューの運用品質は、本サービスにて標準で定められた運用品質に準じます。
- SLA
- 本メニューのSLAは、SDPFサービスに標準で定められたSLAに準じます。詳細については、 「サービス利用規約 / SLA」 ページをご参照ください。
- SLAの対象は、Signaling, TURN, SFUの各APIであり、ダッシュボードは含みません。
1.6. 制約事項¶
- サポートブラウザ
- Google Chrome:安定版の最新2バージョン
- Firefox:安定版の最新2バージョン
- Safari:安定版の最新2バージョン
- Microsoft Edge:安定版の最新2バージョン(Chromium版)
- iOS/Android SDK
- iOS SDK: iOS 10+, iPadOS 13+
- Android SDK: Android 5.0+ (API Level 21+)
通信要件¶
本メニューを利用する際の通信要件は以下のとおりです。
Signalingサーバー向け通信
通信方向 | プロトコル | ポート番号 | サーバーアドレス | 用途 |
---|---|---|---|---|
クライアント→サーバー | TCP (WebSocket,HTTPS) | 443 | *.webrtc.ecl.ntt.com | Signaling、クライアント端末の管理 |
STUNサーバー向け通信
通信方向 | プロトコル | ポート番号 | サーバーアドレス | 用途 |
---|---|---|---|---|
クライアント→サーバー | UDP | 3478 | stun.webrtc.ecl.ntt.com | 自分自身のグローバルIP、ポート番号を問い合わせる |
注釈
STUNサーバーへ接続できない場合は、TURNサーバー(詳しくは、TURNサーバー向け通信を参照)で代用します
クライアント端末同士のP2P通信
通信方向 | プロトコル | ポート番号 | サーバーアドレス | 用途 |
---|---|---|---|---|
クライアントA→クライアントB
クライアントA←クライアントB
|
UDP | 動的に決まる | 動的に決まる | P2Pによるデータ、メディアの通信 |
TURNサーバー向け通信
通信方向 | プロトコル | ポート番号 | サーバーアドレス | 用途 |
---|---|---|---|---|
クライアントA→サーバー | UDP or TCP | 443 | turn.webrtc.ecl.ntt.com | UDPホールパンチングによりP2P通信が確立できない場合に、通信を中継する |
サーバー→クライアントB | UDP | 動的に決まる | turn.webrtc.ecl.ntt.com | UDPホールパンチングによりP2P通信が確立できない場合に、通信を中継する |
注釈
TURNサーバーからクライアントBに対してUDPによる通信が出来ない場合は、 クライアントAと同じく、クライアントBはUDP443またはTCP443による通信を試みます。
SFUサーバー向け通信
通信方向 | プロトコル | ポート番号 | サーバーアドレス | 用途 |
---|---|---|---|---|
クライアント→サーバー | UDP or TCP | 443 or 10000 | 動的に決まる | SFU向けのメディアの通信 |
注釈
TURNサーバーを併用する場合があります。