EnableX platform allows developers to embed real-time, high-quality interactive video, voice, messaging, screen-sharing, and more to Web, iOS and Andriod applications. The platform provides APIs, SDKs and toolkits for rapid implementation of use cases such as one-to-one calling, group video conferencing, interactive classrooms, among others.
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 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.
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 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 React Native) 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 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 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.