Table of Contents

How many participants can join a video call?

We support 2 modes of video calls – Group Mode & Webinar Mode.

We support up to 100 participants for group mode and 1000 participants for Webinar mode.

What is Active Talker?

For multi-party conference calls, as the number of participants in a call session increases, the demand for compute power & bandwidth grow multiple folds on the client side for processing of the incoming and outgoing streams. In order to overcome this challenge, the EnableX platform has implemented an active talker functionality.

An active talker only transmits 6 streams at a time thereby allowing an efficient use of bandwidth and compute power on the client side & providing an optimal user experience.

How do I start recording?

A moderator can start and stop Recording of a session being within the Session. Use the following methods to start / stop recording:

room.startRecord( function( result, error ) {
     if (result == 0) {
         // Recording started
     } 
});
 
// To stop recording
room.stopRecord( function( result, error ) {
     if (result == 0){
         // Recording stopped
     }  
});

// Notification recording started to all
room.addEventListener( "room-record-on", function(event) {
     // Recording started, Update UI
     // event.message.moderatorId = Moderator who stated recording.
}); 
    
// Notification recording stopped to all
room.addEventListener( "room-record-off", function(event) {
     // Recording stopped, Update UI
     // event.message.moderatorId = Moderator who stopped recording. 
});

Know more…

What is the recording quality and file sizes generated from a recording session?

If room video quality is set to 720p then individual streams will be recorded at 720p while transcoded stream will be 480p

  1. Individual Stream Recording Quality is also set HD 720p max. (Note: 1-to-1 call may continue to have HD streaming throughout the session subject. Network conditions may affect stream quality received at server for recording even if the bitrate is high. In addition, video quality for large party calls may be reduced.
  2. Individual Stream Recording File Size:
    • HD 600MB (Approx.)/Hour (Max size).
    • HD 10MB (Approx.)/ Minute
    • SD 300MB (Approx.)/Hour (Max size).
    • SD 5MB (Approx.)/ Minute
  3. Transcoded File Quality: HD 480p max
  4. Transcoded File Size:
    • SD 300MB (Approx.)/Hour (Max size).
    • SD 5MB (Approx.)/ Minute

How do I fetch recording?

There are 2 types of Recording Files available with EnableX to fetch / download, viz.

  1. Individual Participants’ Stream Recording Files: Available only if you have subscribed to recording-service and that you have recorded your sessions.
  2. Transcoded Re-playable Session:  It’s a single composite video file created out of all the individual participant’s streams in the right playtime. Available only if you have subscribed to Recording & Transcoding Services and that you have recorded your sessions.

There are different ways to access Recordings. They are:

When can I expect the recording of the session to be delivered to me? Why is there a delay in getting recording?

As soon as your session completes and if the recording was enabled for your session, EnableX platform initiates a transcoding job to mix all participants stream into a composite “mp4” file. The transcoding job is compute intensive and depending on your session duration/number of participants it can take some time to have the recording file of your session available. As soon as the transcoding is complete you will be notified to download your recorded session files (assuming you have setup the notification URL in the portal -> settings)

How do I setup my notification URL as soon as my recordings are available for download after the session?

EnableX may notify you as soon as any recording file is available for downloading by HTTP POST to a designated Notification URL. Through your Portal Access, you can setup Notification URL against any Project’s Video Service Settings.

On the Manage Application page, enter the notification URL so that EnableX may perform a HTTP POST to the URL once the recordings are available. EnableX performs a HTTP POST with JSON Raw Body to the URL.

Can any participant start & stop a recording?

No, only a participant with a moderator role can do so. You may assign any participants to have the moderator role during the call session. How how to change Role?

Is there an API I can use to fetch usage?  How do I get session usage data? Where can I download usage information?

You may get the session usage of your room via rest API below or you may go to your portal dashboard and download the summary of your session CDR. You will find more information in the developer documentation reference API

Example to obtain CDR for a specified room you may use this below

curl -X GET -H "Authorization: Basic $(echo -ne ":" | base64 --wrap 0)" "https://api.enablex.io/v1/cdr/room/" | jq

Is there an API I can use to fetch usage from a start to an end date?

curl -X GET -H "Authorization: Basic $(echo -ne ":" | base64 --wrap 0)" "https://api.enablex.io/v1/cdr/period/2020-04-28/2020-04-30" | jq

You may also fetch CDR for

  • Requesting CDR for a Room & Period
  • Requesting CDR for a Conference Number

How to create EnableX Room?

An EnableX room is necessary for participants to join a video call. Refer here to the key description for room creation

How do I change my room from SD to HD and vice-versa?

You can choose to update Room Settings using our Rest API Service. Video Quality for a Room can be changed to any value SD, HD and LD. Refer Documentation.

HTTP PATCH \
-H "Authorization: Basic $(echo -ne ": " | base64 --wrap 0)" \
-H "content-type: application/json" -d '
{
"name": "test Room",
"settings": {
"participants": "6",
"quality": "SD",
"auto_recording": true
}
}' "https://api.enablex.io/video/v1/rooms/"

What is the common aspect ratio of the video frame for any stream?

It is 16:9

Does EnableX SDK provide mirror property for any stream?

No

What is the use for maxVideo layer in room property?

It is used to create multiple video layer for publisher stream.  The enumerated Values: 0, 1, 2, 3

  • Audio calls
  • HD 720p layer only
  • HD 720p & SD 480p layers only
  • HD 720p, SD 480p & LD 240p/180p layers

What is the minimum bandwidth required to run a video call?

The minimum bandwidth for a connection must always be at least 200kbps, that is, it must not drop below that bandwidth for any time interval.

Do you provide voice calling with chat feature?

Yes, we do provide voice calling with messaging feature. You may refer to voice chat sample code https://github.com/EnableX/Multiparty-Audio-Chat-Open-Source-NodeJS-Application. To add text chat feature you may add the following:

// To send message to all (Public Messaging)
room.sendMessage("Text Message", true, [], function(data) {
	// Message sent
});

// To send to selected Participant (Private Messaging)
room.sendMessage("Text Message", false, ["XXXX"], function(data){
	// Message sent
});

// To receive message notification
room.addEventListener("message-received", function (event) {
	var InMsg = event.message;
	if (InMsg.broadcast === true) {
		// Handle Public Message
	}
	else {
		// Handle Message from InMsg.sender
	}
});

In addition there is also a sample code for text chat only application here https://github.com/EnableX/One-to-One-Chat-Webrtc-Application-Sample-for-Web

How do I implement voice-only calls?

While you join the EnableX session you need to pass “audio”: true in room info. More information can be fond here

// Local Stream Definition
var config = {
	audio: true,
	video: false,
	data: true,
	videoSize: [320, 180, 640, 480],
	options: options,
	maxVideoLayers: 0,
	attributes: {
		name: name
	}
};

Can I exchange the chat message without subscribing remote stream or publishing local stream?

Yes, we provide a more advanced version of chat without having the sender to publish a stream or the receiver to subscribe to a stream. Please see here.

Can I mute and unmute audio/video of any of the participant in the room?

Yes, you can do so by passing the recipient’s client ID to the mute/unmute method. Details are found here

How can I change video aspect ratio? Technical support

Can I run 2 presentation at a same time (Screen share & Canvas)?

No, only 1 at a time is possible.

Can I take a snapshot of any participant in a session?

Yes, it is possible. To take snapshot of a video stream in your application use the EnxStream.getVideoFrameImage() method. The image from the video stream will be captured as raw bitmap data into the Canvas DOM Element.

Can I change video resolutions at run time?

Yes, it is possible with update the room quality. However, note that any update on the room definition will take effect only on subsequent sessions of the room

HTTP PATCH -H “Authorization: Basic $(echo -ne “: ” | base64 –wrap 0)” \
-H “content-type: application/json” -d '
{
	“name”: “test Room”,
	“settings”: {
	“participants”: “6”,
	“quality”: “SD”,
	“auto_recording”: true
}' “https://api.enablex.io/v1/rooms/”

HD, SD, LD will provide up to 720p, 480p and 240p resolution respectively

Can I change video resolutions for canvas at run time?

Yes, but the changes will be effective in the subsequent call session.

Can I share my desktop using EnableX?

Yes/ For details of screen sharing, see here

Will I get the detailed call logs for all the sessions conducted?

Yes, you can via an API call to obtain all the CDRs for a particular room. Refer our API Documentation to fetch CDR.

Will I get the support while integrating the EnableX platform?

Yes, we can provide integration support which come under professional services. As a standard process, you are advised to open a support ticket from your portal to get technical/integration support.

You may contact sales@enablex.io for the different available plans.

Do you provide 24/7 support?

Currently, we are providing the support from 9am – 7pm on IST on business days.

Do you have support ticket system?

You can log a ticket from the portal which will be addressed as per the ticket priority.

Do you offer professional support services?

Yes! EnableX offers professional support services. For details, contact EnableX Sales Team at sales@enablex.io

During the session, I keep getting frequent disconnects and reconnects into the room. What should I do?

EnableX, by default, reconnects into the room when   is available. Reconnect is enabled by default into the EnableX room. Room “reconnect” is an optional feature so if you would prefer not to allow the clients to reconnect in case of a network disruption you can switch it off in your client-side application side

How to avoid lip-sync issues?

Have cam/mic from same source/device. This avoids any kind of audio video sync issue.

Participants are constantly getting low bandwidth alert. What is going on?

I am getting “X” error code when I run my code. What does it mean – THIS SECTION CAN CROSS LINK TO ERROR CODES PAGE

Can I see or get error logs? – We can explain about how to see WebRTC internals on the browser here

When I start the session, I get an error saying “ Permission Denied”? What is wrong?

My calls are getting disconnected again and again. What could be the reason?

Do you provide message broadcasting?

Yes. More details will be available shortly. Kindly contact sales@enablex.io

Does EnableX provide SIP trunking?

Yes. EnableX supports SIP Trunking. You can do inbound call to join a RTC Session and being in-session you can dial-out a PSTN number to join the session. For SIP Provisioning, you need to submit your SIP Server Information with us and EnableX will direct all SIP Calls to the provisioned server.

I want to make a desktop to telephone call. How do I get started?

EnableX provides support for calling from the browser to the PSTN phone. To make an outgoing call to the PSTN call, EnableX provides the SIP interface which is used to start an outbound call from the EnableX WebRTC Room -> EnableX SIP interface. From this SIP interface EnableX call can be terminated onto a PSTN number. To check the list of countries covered which are supported by the EnableX  WebRTC-PSTN termination please refer to developer.enablex.io.

How do I calculate participant minutes?

Participant minutes is calculated as the time spent by each participant during the call. For example, in a 30 minutes call with 5 participants scenario, the total participant minutes will be as follows.

Total Participant Minutes = 5 (Number of participants) * 30 (Duration of Call) = 150 minutes.

Please note that the system takes the participant start time and disconnect time as the time when they get connected and disconnected to the room respectively.

If a participant gets dropped midway in the call & then re-joins again, the system will make two entries in the conference report.

How are the recording minutes charged?

The recording minutes are charged on per participant minute for the duration of the call. For example, in a 30 minutes call with 5 participants scenario, the total billable recording minutes will be as follows:

Billable Recording Minutes = 30 (Duration of Call) * 5 (Number of Participants) = 150.

All calls by default, will be recorded as individual streams. For composed stream, transcoding is required, and a transcoding fee will be charged. Based on the above example, transcoding is charged for 30 minutes i.e. the total duration of the call (1st person in & last person out).

The recorded files will be available for download up to 72 hours from creation at no extra cost and will be deleted from the system automatically after 72 hours. If you wish us to store the recording for longer, the same can be opted for and is charged on per GB/per month basis.

Does EnableX bill per minute or per seconds?

EnableX bills per minute of connection time for each user i.e. from the point when a user successfully connects to a room until the user is disconnected or gets disconnected.