Overview
The NUBOMEDIA Room API enables application developers functionalities to create group communication applications adapted to real social interactions. It has been designed for the development of real time conferencing applications basin on room models. In these, each group of participants share a virtual space known as room where different resources (e.g. media streams, chat messages, etc.) are shared among the members but isolated to members of other group. The room API makes possible to manage rooms and participants as well as the communication resources they require in a Kurento Media Server instance.
Examples and Use Cases
The typical example of an application using the Room API is Single Page Application (SPA) based on the Room Server and the Room JavaScript Client. This application enables users to simultaneously establish multiple connections to other users connected to the same session or room. These steps to implement this application are the following:
- Include the SDK module to the dependencies list.
- Create one
RoomManager
instance by providing an implementation for one of the following interfaces:RoomEventHandler
orKurentoClientProvider
. - Develop the client-side of the application for devices that support WebRTC (or use client-js library and take a look at the demo’s client implementation).
- Design a room signaling protocol that will be used between the clients and the server (or use the WebSockets API from room-server).
- Implement a handler for clients’ requests on the server-side that use the
RoomManager
to process these requests (hint: JSON-RPC handler fromroom-server
). - Choose a response and notification mechanism for the communication with the clients (JSON-RPC notification service from room-server).
This documentation contains a complete use case of the NUBOMEDIA Room API deployed in the NUBOMEDIA PaaS Manager. Please visit the tutorial section for detailed information.
API Availability
The NUBOMEDIA room API is available in the following programming languages
- Server API:
- Java 6.0 or later
- Client API:
- JavaScript
- Android 4.0 or later
- iOS 7.0 or later
Resources
Full official documentation:
API Source code: