EnableX platform allows user to embed real time communication commonly known as audio, video and text chat services in their applications. It exposes a simple set of APIs which can be invoked in user application to embed real time communication services (RTC) enabled applications.

EnableX platform provides a set of generic APIs to create and embed different real-time communication capabilities:

  • One-to-one real-time communication applications – IP-to-phone, browser-to-phone, browser-to-browser, and app-to-browser
  • One-to-many real-time communication applications – Live WebRTC streaming with IP/PSTN support. These can be designed to be single or bidirectional interactive services.
  • Many-to-many interactive real-time communication applications.

Additionally, the platform also provides various addon features which allow you to preprocess and post process the real-time and in-session data collected during the session.

Please note, EnableX platform only provides the SDK interfaces for embedding RTC services. It is expected that the user will design the rest of business logic along with the UI where the RTC services will be embedded. Nevertheless, EnableX provides basic UI rendering elements which can directly bind to the specific DOM elements/view handler to render user streams in the browser or native mobile SDKs.

The document covers API specifications for desktop/Mobile App clients.  RTC applications hosted on EnableX platform runs natively on supported set of web browsers without any additional plugin downloads.

The documentation describes the application-level interfaces with example links in GitHub on how these interfaces can be called to create embedded video enterprise-grade solutions with ease.

Application Workflow using EnableX

Creating embedded RTC Application requires 2 components, viz. An Application Server running as a Web Service and Client Application running on Client End Points to initiate and perform real-time communications sessions hosted on EnableX platform. 

Application Server

Your Application Server will make use of the EnableX Server API to authenticate your Application to provision, create and monitor hosted RTC Applications. Your Application Server acts as a single-entry point to access EnableX Platform using Server API.

Client End Application

The Client Application runs on Web Browser or Mobility Devices. It needs to make use of EnableX Client Toolkits/SDKs (Available for Web, iOS, Android and React Native) to establish a RTC session with EnableX Platform. The first step is for the Client Application to obtain a token via the Application Server. The token is used by the Client Application to get authenticated and connected to an EnableX Room to begin a RTC session.

Depending on end user device requirements, you can use any of the following Toolkits below to develop your Client End Applications:

  • Web Toolkit: To build Web Browser based End Point Applications.
  • Android Toolkit: To build Native Android Device Applications.
  • iOS Toolkit: To build Native iOS Device Apps.
  • React Native Toolkit: To build Hybrid Apps for Android & iOS Platform

Application Diagram

Refer the following Application Workflow diagram to understand how your Application Server and Client End Point will communicate with the EnableX platform:

Type of APIs

Server API

Server API is a Rest API service meant to be called from developer’s Application Server to provision video-enabled virtual meeting spaces referred as “Room”. A Room is a virtual entity within which the Real time communication “session” takes place.  The user connects to the session using a secured authenticated token issued by the EnableX server. The Server Rest API service is the single-entry point for requisition/provisioning the virtual meeting room. The Server API is used for provisioning the room, requesting a token to start the session and for post-session reporting.

Know more…

Client API

Client APIs are called from embedded Javascript Code/Native SDK code which runs in the client browsers/Native mobile application on desktop and mobile respectively. A lightweight Java Script Client SDK/Mobile SDK is required to be included in the client applications. The SDK provides API and associated helper functions to communicate with EnableX platform. Additionally, it also provides helper functions for monitoring client-side state of the RTC session. Typical usage consists of connection to the desired room, using the token retrieved in the backend (explained at Server API), management of local audio and video, client event handling ( room level events/stream level events) , and so on. Client API consists of three major entities.

Know more…