10.4. WebRTC Platform¶
10.4.1. Overvie¶
WebRTC is an open and standard technology for real time communication by voice, video and data that can be used with browsers and native applications.
This service is CPaaS (Communications Platform as a Service) that realizes easy development of applications fully utilizing the WebRTC technology. It provides server groups such as Signaling, TURN and SFU, required for use of WebRTC in the form of API. Customers can deploy their services globally without managing and operating equipment for WebRTC by themselves.
10.4.1.1. Features¶
Voice, video and data communication of WebRTC compliant with IETF and W3C standards can be used.
SDKs of JavaScript, iOS, and Android are available. Customers can focus on application development.
Video conversation, Data communication and Signaling are all encrypted, which enables secure communication.
Many functions are provided such as TURN, multiuser connection and screen sharing.
10.4.2. Available Functions¶
10.4.2.1. List of Functions¶
Categories |
Name of Functions |
Notes |
|
---|---|---|---|
Basic Functions |
Server/API |
STUN | |
Signaling | |||
SDK | JavaScript SDK | ||
iOS SDK | |||
Android SDK | |||
Library |
Screen Sharing |
||
Optional Function |
Server/API |
TURN | |
SFU |
10.4.2.2. Description of Functions¶
Basic Functions
Name of Functions |
Details |
STUN | -Global IP and Port number of the terminal can be obtained.
Customers will be connected to a server of the least delay.
Global IP of the server changes every time.
|
Signaling | -Information such as IP address and Port number that are required for connection between terminals will be exchanged.
Global IP of the server changes every time.
|
JavaScript SDK | -SDK for Web application development
|
iOS SDK | -SDK for iOS application development
-Usable by Swift and Objective-C.
|
Android SDK | -SDK for Android application development
|
Screen Sharing |
-Browser extension library for screen sharing on the Web browser.
|
Optional Function
Name of Functions |
Details |
TURN | By relaying data with TURN server, use of WebRTC is made possible in specific environment such as an enterprise network where P2P communication is not possible.
Customers will be connected to a server of the least delay.
Global IP of the server changes every time.
|
SFU | A type of media servers that distributes data received from a terminal to other terminals.
-In case of communication of three users or more, workload of encoding in a terminal, upstream bandwidth and traffic can be reduced, which enables communication of more users.
Global IP of the server changes every time.
|
10.4.3. Menu¶
10.4.3.1. Terms And Conditions¶
- Conditions of Use in Combination with Other Services
- This menu does not set to combine with other menus.
- Minimum Use Period
- This menu does not require any minimum use period.
10.4.4. Pricing¶
10.4.4.1. Initial Fee¶
This menu does not require initial fee.
10.4.4.2. Monthly Fees¶
Pricing |
Charge Method |
Basic charge |
Monthly uppermost maximum added metric rate at each minute.
Basic charge will be made per one tenant.
As long as application exists in the tenant irrespective of application running status, basic charge is required.
(Multiple API keys for WebRTC can be created in one Tenant.)
|
Signaling usage charge |
One million connection per month is for free. Additional charge will be charged in case of exceeding one million connections.
The number of connection times between the server and the terminal is the object of counting.
It will not be counted into the number of use times (number of information exchange times of IP address).
Counting times and billing unit are based on the API key unit for WebRTC.
|
TURN/SFU Usage charge |
Usage charge for sum of In and Out.
|
Note
- For TURN/SFU usage charge, both incoming traffics to and outgoing traffics from TURN server and SFU server are billing objects.
- In TURN/SFU, traffics of less than 1GB will be discarded.
- The communication traffics of P2P do not go via TURN/SFU and are not billing object.
10.4.5. Quality of Service¶
- Support Coverage
- Support coverage of this menu shall be up to inquiries on specifications of each function shown in the List of Functions, and operations of the application side shall be under the customer’s responsibility.
- If customer specific Signaling/TURN/SFU are used or if SDK is modified, those including API and SDK shall be under the customer’s responsibility.
- Operations
- Quality of Operation in this menu corresponds to the regular Operations Quality that is standard for Enterprise Cloud 2.0 by Service Provider to provide any services.
- SLA
- SLA of this menu is limited to and regulated to the corresponded terms and conditions of Enterprise Cloud 2.0.
- Targets of SLA are each API of Signaling, TURN and SFU, and the dashboard is not included.
10.4.6. Restrictions¶
Supported Browsers
The latest version of Google Chrome and Mozilla Firefox are supported.
iOS/Android SDK
10.4.6.1. Communication Requirements¶
Communication requirements when using this menu are as follows.
Communication for Signaling server
Communication direction |
Protocol |
Port number |
Server IP Address |
Purpose |
---|---|---|---|---|
From Client to Server |
TCP (WebSocket,HTTPS) | 443 |
*.webrtc.ecl.ntt.com | Management of Signaling and Client Terminals |
Communication for STUN server
Communication direction |
Protocol |
Port number |
Server IP Address |
Purpose |
---|---|---|---|---|
From Client to Server |
UPD | 3478 | stun.webrtc.ecl.ntt.com | Inquire own global IP and Port number. |
Note
If customers cannot be connected to STUN server, use TURN server instead (refer to “Communication for TURN server” for details).
P2P Communication between Client Terminals
Communication direction |
Protocol |
Port number |
Server IP Address |
Purpose |
---|---|---|---|---|
From Client A to Client B
From Client B to Client A
|
UPD | Dynamically Determined |
Dynamically Determined |
Data and Media Communication with P2P |
Communication for TURN Server
Communication direction |
Protocol |
Port number |
Server IP Address |
Purpose |
---|---|---|---|---|
From ClientA to Server |
UDP or TCP | 443 |
turn.webrtc.ecl.ntt.com | It relays communication when P2P communication cannot be established with UDP hole punching. |
From Server to ClientB |
UDP |
Dynamically Determined |
turn.webrtc.ecl.ntt.com | It relays communication when P2P communication cannot be established with UDP hole punching. |
Note
If communication by UDP from a TURN server to Client B is impossible, Client B in the same way as Client A will try to communicate with UDP443 or TCP443.
Communication for SFU Server
Communication direction |
Protocol |
Port number |
Server IP Address |
Purpose |
---|---|---|---|---|
From Client to Server |
UDP or TCP | 443 or 10000 | Dynamically Determined |
Communication of Media for SFU |
Note
TURN server may be used together.