Active Talker

Set of publishers who are speaking at a given point in time. In context of EnableX, End-Points receive a list of 6 Active-Talkers in a JSON Format with an event named active-talkers-updated whenever there is a change in the talkers list. This list helps in handling UI and to play audio/video streams from remote users.

[ Know more…]

Adhoc Room

It is a type of room which are suited for hosting “On Demand” RTC session. Adhoc Rooms are used for single session only and they are deleted once all participants leave the room.

API Authentication

To use EnableX Service you need to use Server API, an Rest API Service. HTTP Basic Authentication is deployed for API Authentication. You need to use APP ID and APP KEY of your Application (Created through EnableX Portal) as Username and Password to pass through the HTTP Basic Authentication process.

APP ID

You need to create an Application first through EnableX Portal to get started with EnableX. Each Application is assigned with an APP ID which is mailed to you on registered Email Address along with an APP KEY. You need to use APP ID and APP KEY as Username and Password to pass through the HTTP Basic Authentication process to access Server API which is the single entry point to access EnableX Service.

APP KEY

You need to create an Application first through EnableX Portal to get started with EnableX. Each Application is assigned with an APP ID which is mailed to you on registered Email Address along with an APP KEY. You need to use APP ID and APP KEY as Username and Password to pass through the HTTP Basic Authentication process to access Server API which is the single entry point to access EnableX Service. Through EnableX Portal, you may reset APP KEY anytime you wish to secure your application access.

Client ID

All users who connect to a session hosted on the EnableX platforms are individually assigned with a unique Id referred as Client ID. EnableX Server and the associated APIs use this Client ID to update any action related the user during an RTC Session.

Conference

EnableX hosted sessions are also referred to as conference.

Conference Number

EnableX hosted sessions are also referred to as conference. Each Conference hosted are assigned and referred using unique Conference Number. API Responses refer this data as conf-num.

Group Mode

It is a type of session which is suited for interactive session. Group mode provides finer level control over every publisher/subscriber stream into the room. All participants are allowed to publish their stream into the Room and subscribe to all available streams. Note that the current implementation of EnableX server auto-enables “Active Talker” in the Group Mode which in turn forces a maximum of 6 active talker streams to be available to all participants (excluding own stream). Group mode can be enabled using the following in JSON Payload while creating Room with Server API.

{
	settings: {
		mode: 'group'
	} 
} 

Lecture Mode

Lecture mode is suited for hosting RTC sessions which has limited number of concurrent publishers (less than 6) and a large number of subscribers. The room has one moderator who has the administrative rights for the room. The moderator administrative rights include muting remote participants, force disconnect of remote participants, moderator approved publishing of remote participants stream. In this mode participants are allowed to publish their stream into the Room once explicitly granted “floor access” permission by the moderator. When each participant gets connected to this room, they subscribe to Moderators stream and any other Participants’ stream being published in the the room. Participants can raise hand seeking floor access, which Moderator might grant or reject. Lecture mode can be enabled using the following in JSON Payload while creating Room with Server API.

{
	settings: {
		mode: 'lecture'
	} 
} 

Moderator

EnableX assigns Role based privileges attributed to a user connected to a session. User with Moderator role has extra privileges compared to the uses with Participant role. A moderator can record, mute and disconnect participants, mute all participants etc. You can define role while creating token for a user looking to join the session. Use { role: 'moderator' } in the JSON Payload to create token using Server API.

Owner Reference

Owner Reference or Owner Ref is a Reference Data or ID of the owner of a Room. EnableX doesn’t maintain users data of a session; however you might need to track of users owning a room or using a session. Usage Reports, e.g. CDR; will carry this Owner Ref which will help you map usage against your users. You may pass any User ID or Reference Number from your own Information System while creating room in the JSON Payload as { owner-ref: 'String' }

Participant

EnableX assigns Role based privileges attributed to a user connected to a session. User with Participant role has less privileges compared to a user with Moderator role. You can define role while creating token for a user looking to join the session. Use { role: 'participant' } in the JSON Payload to create token using Server API.

Permanent Room

Its one type of Room which can be used to carry out conference anytime you want. A permanent Room is always avaiiable unless deleted explicitly using a Server API Call. During its lifetime, a permanent room can be used any number of times to carry out a conference. To define a Permanent Room, use the following gin JSON Payload to create room using Server API.

{
	settings: {
		scheduled: false,
		adhoc: false
	} 
}  

Publishing

Its a process of putting local media stream (Audio and/or Video and/or Screen) from user end-point to EnableX Media Server. Once the process completes successfully, the stream is made available to others in the same room so that they can play it. Note that a connected user may not require to publish stream. A user publishing stream is known as a Publisher.

Room

To establish a RTC Session or Conference, you first need a room. A room can be created using Server API Call. All users looking to talk with each other would require to get a Token for the same room. There are 3 different type of rooms you may create, viz. Permanent, Scheduled and Adhoc; signifies availability of the room to carry out a session.

Room ID

Every Room you create using Server API will have a Room ID assigned to it. Its an alphanumeric ID, received in the Server API response JSON as { room-id: 'String' }. This Room ID will require to modify, delete a room; to get a Token for a room; also to get post usage reports and archive files.

Stream

A Stream is a multi-media content flow that can be played locally in a Audio Video Player or it can be transferred over (published) to a Server or a Peer. A Stream may contain different type of media tracks, e.g. Audio, Video, Screen etc. through the initialization process as:

var streamConfig = {
	audio: true, 
	video: true, 
	data: true, 
	screen: false 
	};

// To intiialize
var stream = EnxRtc.EnxStream(streamConfig); 

// To publish into room
room.publish(stream);

Subscription

It is a process of requesting EnableX Platform from an end-point to send remote user’s media to it. Once successfully subscribed, EnableX Platform would start sending subscribed streams to the end-point. As stream is received at end-point, the stream can be played in player. As part of Active Talker Implementation in EnableX, every end-point will get 6+2 dummy streams to subscribe; actual media flow on those subscribed streams is decided dynamically by EnableX depending on audio strength of users publishing. To subscribe stream use method as room.subscribe(stream);. A user subscribing stream is known as a Subscriber.

Token

A Token is required for a user or end-point to join an EnableX hosted session. A token is temporary in nature, for one time use with a life-span of 120 minutes. End point must connect to the Room using a Token within its life-span. If a token is validated, an end-point is connected to the room. For scheduled room, Token is given 15 minutes prior to scheduled start time; will cease to give token once all users disconnected past scheduled duration. To create a token using Server API Call, use JSON Payload as

{
	name: 'String', 
	user_ref: 'String', 
	role: 'String'
} . 

You may use moderator or participant as role.

[ Know more ]