EnableX platform allows developers to embed real-time, high-quality interactive video, voice, messaging, screen-sharing, and more to Web, iOS and Android applications. The platform provides APIs, SDKs and toolkits for rapid implementation of use cases such as one-to-one calling, group video conferencing, webinars & interactive classrooms.
EnableX platform provides a set of REST APIs to create and embed different real-time communication capabilities:
- One-to-one real-time video applications – High Definition one-to-one chat, calling & conferencing
- One-to-many real-time video applications – Live WebRTC video conferencing and streaming with IP/PSTN support. These can be designed to be single or bi-directional interactive services.
- Many-to-many interactive real-time communication applications.
Additionally, the platform also provides various addon features which allow you to pre-process and post-process the real-time and in-session data collected during the session.
EnableX platform only provides the SDK interfaces for embedding real-time video into different web & mobile applications. We also provide UI rendering elements which can directly bind to the specific DOM elements/view handler to render user streams in the browser or native or hybrid 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 & mobile devices without any additional plugin downloads.
The documentation describes the application-level interfaces with sample code in GitHub on how these interfaces can be called to create embedded enterprise-grade video solutions with ease.
Application Workflow using EnableX
Creating embedded RTC Application requires 2 components. An Application Server running as a Web Service and Client Application running on client’s endpoints to initiate and perform real-time communications sessions hosted on EnableX platform.
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 Mobile Devices. It needs to make use of EnableX Client Toolkits/SDKs (Available for Web, iOS, Android and hybrid frameworks including ReactNative, Flutter & Cordova) to establish an 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’s 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, Flutter & Cordova Toolkits: To build Hybrid Apps for Android & iOS Platform
Refer the following Application Workflow diagram to understand how your Application Server and Client End Point will communicate with the EnableX platform:
Type of Communication APIs
Server API is a Rest API service meant to be called from developer’s Application Server to provision video-enabled virtual meeting spaces referred to 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.