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.
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
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 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.