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

Supported OS of iOS SDK is iOS 8+.
Supported OS of Android SDK is Android 4.2+.

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.