{"id":2585,"date":"2023-09-19T09:42:46","date_gmt":"2023-09-19T04:12:46","guid":{"rendered":"https:\/\/enablex23.vcloudx.com\/insights\/?p=2585"},"modified":"2025-07-24T14:26:15","modified_gmt":"2025-07-24T08:56:15","slug":"adding-webrtc-video-calling-to-your-app-a-complete-guide-2023-updated","status":"publish","type":"post","link":"https:\/\/enablex23.vcloudx.com\/insights\/adding-webrtc-video-calling-to-your-app-a-complete-guide-2023-updated\/","title":{"rendered":"Adding WebRTC Video calling to your app: A Complete guide (2023 Updated)"},"content":{"rendered":"\n<p>For various industries and use cases, <a href=\"https:\/\/www.enablex.io\/cpaas\/video-api\" target=\"_blank\" rel=\"noreferrer noopener\">WebRTC video conferencing<\/a> can help build an instant connection between organisations and customers. With endless applications and rich features, WebRTC video calling can be easily integrated into any website or app. <\/p>\n\n\n\n<p>In this blog, we will share a complete end to end implementation guide for WebRTC video calling into your app. <\/p>\n\n\n\n<p>Before getting started, please open a free trial account <a href=\"https:\/\/www.enablex.io\/free-trial\/\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>. If you need more information, you can visit our developer section <a href=\"https:\/\/www.enablex.io\/developer\/video\/\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>. <\/p>\n\n\n\n<p>Contents<\/p>\n\n\n\n<p><a href=\"#abc\">1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Introduction and getting started guide<\/a><\/p>\n\n\n\n<p><a href=\"#abc1\">1.1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Introduction<\/a><\/p>\n\n\n\n<p><a href=\"#abc2\">1.2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Registration on the EnableX Platform<\/a><\/p>\n\n\n\n<p><a href=\"#abc3\">1.3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Understanding the Interface<\/a><\/p>\n\n\n\n<p><a href=\"#abc4\" rel=\"nofollow\">2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Building Video Application Using Video Server APIs<\/a><\/p>\n\n\n\n<p><a href=\"#abc5\">2.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Building the UI Yourself<\/a><\/p>\n\n\n\n<p><a href=\"#abc6\">3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pre-Requisites for Building Video Application<\/a><\/p>\n\n\n\n<p><a href=\"#abcO\">3.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add Video Service to your project<\/a><\/p>\n\n\n\n<p><a href=\"#abc7\">3.1.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new Video Service project with EnableX<\/a><\/p>\n\n\n\n<p><a href=\"#abc8\">3.1.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add Video Service to an Existing Project<\/a><\/p>\n\n\n\n<p><a href=\"#bac1\">3.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get App ID and APP Key<\/a><\/p>\n\n\n\n<p><a href=\"#bac2\">3.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get SSL Certificate<\/a><\/p>\n\n\n\n<p><a href=\"#qwe\">4.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Setting Up the Video Application Server<\/a><\/p>\n\n\n\n<p><a href=\"#asd\">4.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Video Server API<\/a><\/p>\n\n\n\n<p><a href=\"#best\">4.1.1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Understanding Provisioning Need<\/a><\/p>\n\n\n\n<p><a href=\"#top\">4.1.2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Understanding Reporting Need<\/a><\/p>\n\n\n\n<p><a href=\"#poi\">4.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Using Webhook<\/a><\/p>\n\n\n\n<p><a href=\"#hod\">4.2.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Automation Requirements<\/a><\/p>\n\n\n\n<p><a href=\"#raw\">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Understanding the Video SDK<\/a><\/p>\n\n\n\n<p><a href=\"#holy\">5.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Types of SDKs<\/a><\/p>\n\n\n\n<p><a href=\"#azx\">5.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Working with SDKs<\/a><\/p>\n\n\n\n<p><a href=\"#lkj\">5.3.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Key features include<\/a><\/p>\n\n\n\n<p><a href=\"#kul\">5.3.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDK Entities Overview<\/a><\/p>\n\n\n\n<p><a href=\"#pdf\">6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Developing a Client End Point Application<\/a><\/p>\n\n\n\n<p><a href=\"#lol\">6.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Selecting the Right SDK<\/a><\/p>\n\n\n\n<p><a href=\"#the\">6.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connecting to a Room<\/a><\/p>\n\n\n\n<p><a href=\"#for\">6.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subscribing to Remote Streams<\/a><\/p>\n\n\n\n<p><a href=\"#hut\">6.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Playing Streams<\/a><\/p>\n\n\n\n<p><a href=\"#but\">6.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Managing Active Talkers<\/a><\/p>\n\n\n\n<p><a href=\"#too\">6.6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Disconnecting from the Room<\/a><\/p>\n\n\n\n<p><a href=\"#had\">7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use Advance Features<\/a><\/p>\n\n\n\n<p><a href=\"#has\">8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configure Features in Video Project<\/a><\/p>\n\n\n\n<p><a href=\"#are\">8.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Encryption<\/a><\/p>\n\n\n\n<p><a href=\"#can\">8.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Watermarking<\/a><\/p>\n\n\n\n<p><a href=\"#lit\">9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configure Settings in Video Project<\/a><\/p>\n\n\n\n<p><a href=\"#but\">9.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configure Recording and Delivery Settings<\/a><\/p>\n\n\n\n<p><a href=\"#bow\">9.1.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Transfer to FTP\/SFTP Host<\/a><\/p>\n\n\n\n<p><a href=\"#tap\">9.1.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Transfer to using SCP<\/a><\/p>\n\n\n\n<p><a href=\"#boy\">9.1.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Transfer to AWS S3<\/a><\/p>\n\n\n\n<p><a href=\"#gem\">9.1.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Transfer to Google Drive<\/a><\/p>\n\n\n\n<p><a href=\"#toy\">9.1.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Transfer to Microsoft Azure<\/a><\/p>\n\n\n\n<p><a href=\"#boy\">9.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configure Webhook Settings<\/a><\/p>\n\n\n\n<p><a href=\"#iam\">9.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configure Media Zone Settings<\/a><\/p>\n\n\n\n<p><a href=\"#yaw\">10.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configuring PSTN Integration to Video Project<\/a><\/p>\n\n\n\n<p><a href=\"#pol\">11.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Project Management<\/a><\/p>\n\n\n\n<p><a href=\"#ron\">11.1.&nbsp; Project Details<\/a><\/p>\n\n\n\n<p><a href=\"#bon\">11.1.1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Project Information<\/a><\/p>\n\n\n\n<p><a href=\"#uyu\">11.1.2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Project Credentials<\/a><\/p>\n\n\n\n<p><a href=\"#jam\">11.1.3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Project Usage<\/a><\/p>\n\n\n\n<p><a href=\"#bus\">11.2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Advanced Manage Options<\/a><\/p>\n\n\n\n<p><a href=\"#mat\">11.2.1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EDIT Option<\/a><\/p>\n\n\n\n<p><a href=\"#rat\">11.2.2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MANAGE LIMITS Option<\/a><\/p>\n\n\n\n<p><a href=\"#dam\">11.2.3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SUSPEND Option<\/a><\/p>\n\n\n\n<p><a href=\"#were\">12.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;User Management<\/a><\/p>\n\n\n\n<ol>\n<li>Introduction and getting started<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"abc1\">1.1 <strong>Introduction<\/strong>&nbsp;<\/h2>\n\n\n\n<p>Video conferencing is now integral to modern communication. Its relevance has surged in recent years, aiding businesses in collaboration, customer engagement, and productivity. As the demand grows, integrating efficient video conferencing systems into digital platforms becomes crucial.&nbsp;<\/p>\n\n\n\n<p>This comprehensive guide is designed to assist you in harnessing the full potential of EnableX Video Service\u2014a robust WebRTC based video calling platform that empowers developers to seamlessly integrate real-time, high-quality interactive video applications into their web browsers, iOS, and Android devices. EnableX allows you to choose between two distinct integration methods, each tailored to meet your specific requirements and development expertise.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"abc2\">1.2 <strong>Registration on the EnableX Platform<\/strong>&nbsp;<\/h2>\n\n\n\n<ul>\n<li>Visit the EnableX portal <a href=\"https:\/\/portal.enablex.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/portal.enablex.io<\/a>.&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"424\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure1-Enablex-Landing-Page-1024x424.png\" alt=\"\" class=\"wp-image-2623\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure1-Enablex-Landing-Page-1024x424.png 1024w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure1-Enablex-Landing-Page-300x124.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure1-Enablex-Landing-Page-768x318.png 768w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure1-Enablex-Landing-Page.png 1320w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<ul>\n<li><strong>For new users:<\/strong>&nbsp;<br>&#8211; Click on <strong>Try For free<\/strong>.&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"626\" height=\"720\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-2-EnableX-Signup-page-1.png\" alt=\"\" class=\"wp-image-2624\" style=\"width:626px;height:720px\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-2-EnableX-Signup-page-1.png 626w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-2-EnableX-Signup-page-1-261x300.png 261w\" sizes=\"(max-width: 626px) 100vw, 626px\" \/><\/figure><\/div>\n\n\n<p>&#8211; Fill in the required details: Name, Phone number, Company, email address and check the box for Terms of Service and Privacy Policy.&nbsp;<br>&#8211; Click on <strong>Create Your Account<\/strong>.&nbsp;<br>&#8211; A verification email will be sent to the given address. Verify your account by clicking on the link in this email.&nbsp;<br>&#8211; Users can also sign up with Google or GitHub.&nbsp;<\/p>\n\n\n\n<ul>\n<li><strong>For returning users:<\/strong>&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>Navigate to and click on <strong>SIGN IN<\/strong> located at the top right corner. On the resulting login page, enter your login credentials and click on <strong>SIGN IN<\/strong>.&nbsp;&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"454\" height=\"709\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-3-EnableX-Sign-In-page.png\" alt=\"\" class=\"wp-image-2625\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-3-EnableX-Sign-In-page.png 454w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-3-EnableX-Sign-In-page-192x300.png 192w\" sizes=\"(max-width: 454px) 100vw, 454px\" \/><\/figure><\/div>\n\n\n<p>-Optionally, use Google ID or GitHub ID for login.&nbsp;<\/p>\n\n\n\n<ul>\n<li>After logging in, users will be directed to <strong>My Dashboard<\/strong> which offers various information options.&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"abc3\"><strong>1.3 Understanding the Interface<\/strong>&nbsp;<\/h2>\n\n\n\n<p>The EnableX platform provides a user-centric dashboard that offers a quick glimpse into the user\u2019s activities, projects, and resource tools. This allows for quick navigation and easy access to the most used features.&nbsp;<\/p>\n\n\n\n<p><strong>Menu Options:<\/strong>&nbsp;<\/p>\n\n\n\n<ul>\n<li><strong>My Dashboard:<\/strong> The home page of the platform, displays a summary of the user\u2019s activities and vital stats.&nbsp;<\/li>\n\n\n\n<li><strong>My Projects:<\/strong> A list of all the projects created by the user with management options.&nbsp;<\/li>\n\n\n\n<li><strong>Analytics:<\/strong> Provides insight into the user&#8217;s activity over a specified period.&nbsp;<\/li>\n\n\n\n<li><strong>My Projects:<\/strong> Lists projects, allows for easy management, and shows associated services.&nbsp;<\/li>\n\n\n\n<li><strong>Resource Center:<\/strong> Dive into developer documentation, sample codes, and test EnableX&#8217;s features via a live demo.&nbsp;<\/li>\n\n\n\n<li><strong>Video, Voice, SMS, WhatsApp<\/strong>: Different communication channels available for integration. Clicking on each would likely lead to specific settings and configurations for that service.&nbsp;<\/li>\n\n\n\n<li><strong>Billing:<\/strong> Check your billing details and payment history.&nbsp;<\/li>\n\n\n\n<li><strong>My Wallet:<\/strong> Overview of your financial details and transactions.&nbsp;<\/li>\n\n\n\n<li><strong>Support:<\/strong> Direct access to help and customer support.&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"abc4\"><strong>2. Building Video Application Using Video Server APIs<\/strong>&nbsp;<\/h2>\n\n\n\n<p>EnableX offers two methods to build a video application: through APIs or using the Low Code option. The registration, login, and project creation processes are identical for both methods. This guide proceeds with the APIs. If you opt for Low Code, the steps up to this point remain unchanged.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"abc5\"><strong>2.1&nbsp;Building the WebRTC video calling UI Yourself<\/strong>&nbsp;<\/h2>\n\n\n\n<p><strong>Developing Video UI:<\/strong>&nbsp;<\/p>\n\n\n\n<ul>\n<li>To create a customized video user interface (UI), it is necessary to have expertise in front-end UI development.&nbsp;&nbsp;<\/li>\n\n\n\n<li>Familiarize yourself with the available Software Development Kits (SDKs) and refer to the provided documentation to build the UI according to your specific requirements.&nbsp;&nbsp;<\/li>\n\n\n\n<li>Please note that this option requires a more substantial investment of time and effort during the development process.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>Server-Side Coding:<\/strong>&nbsp;<\/p>\n\n\n\n<ul>\n<li>To enable the integration of video functionalities, you must work with the server API, a RESTful API service for provisioning needs.&nbsp;<\/li>\n\n\n\n<li>Understand and utilize the server API to facilitate the necessary backend coding and provisioning for your video application.&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"abc6\"><strong>3. Pre-Requisites for Building Video Application&nbsp;<\/strong>&nbsp;<\/h2>\n\n\n\n<ul>\n<li>Add Video Service to your project&nbsp;<\/li>\n\n\n\n<li>Create a new video project<\/li>\n\n\n\n<li>Add Video to the existing projects&nbsp;<\/li>\n\n\n\n<li>Get App ID and App Key&nbsp;<\/li>\n\n\n\n<li>Get an SSL Certificate&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"abcO\"><strong>&nbsp;3.1 Add Video Service to your project<\/strong>&nbsp;<\/h2>\n\n\n\n<p>To integrate Video API into your project, you need to utilize Video as a Service. There are two ways to add video capabilities to your project:&nbsp;<\/p>\n\n\n\n<ol>\n<li><strong>Create a New Project and Add Video as a Service<\/strong>&nbsp;<\/li>\n<\/ol>\n\n\n\n<p>If you&#8217;re starting a new project, you can create a fresh project and incorporate Video as a Service into it. This approach allows you to build your project from scratch while seamlessly integrating video functionalities.&nbsp;<\/p>\n\n\n\n<p>2. <strong>Add Video as a Service to an Existing Project<\/strong>&nbsp;<\/p>\n\n\n\n<p>If you already have an ongoing project, you can enhance it by adding Video as a Service. This way, you can leverage the power of video communication within your existing project without the need for a complete overhaul.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"abc7\"><strong>3.1.1 Create a new Video Service project with EnableX&nbsp;&nbsp;<\/strong><\/h2>\n\n\n\n<p>To begin developing a WebRTC video application with , the first step is to create a project on the platform. Follow these steps to create a project:&nbsp;<\/p>\n\n\n\n<p><strong>Path# 1<\/strong>&nbsp;<\/p>\n\n\n\n<ul>\n<li>Login to the EnableX Portal.&nbsp;&nbsp;<\/li>\n\n\n\n<li>After successfully logging in, users are redirected to <strong>My Dashboard<\/strong>. From there, follow these steps to create a new project:&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"957\" height=\"719\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-4-EnableX-My-Dashboard.png\" alt=\"\" class=\"wp-image-2626\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-4-EnableX-My-Dashboard.png 957w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-4-EnableX-My-Dashboard-300x225.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-4-EnableX-My-Dashboard-768x577.png 768w\" sizes=\"(max-width: 957px) 100vw, 957px\" \/><\/figure><\/div>\n\n\n<ul>\n<li>Navigate <strong>My Projects<\/strong> section on the page.&nbsp;<\/li>\n\n\n\n<li>Click on <strong>CREATE PROJECT<\/strong> button. This opens <strong>Create Project<\/strong> page.&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"728\" height=\"520\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-5-EnableX-Create-new-Project.png\" alt=\"\" class=\"wp-image-2627\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-5-EnableX-Create-new-Project.png 728w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-5-EnableX-Create-new-Project-300x214.png 300w\" sizes=\"(max-width: 728px) 100vw, 728px\" \/><\/figure><\/div>\n\n\n<ul>\n<li>On this page, provide the necessary information for your project, including the Project Name, Application, and Project Description.&nbsp;<\/li>\n\n\n\n<li>Navigate the <strong>Channels<\/strong> section on the page. Within this section, you can enable specific services for your project.&nbsp;<\/li>\n\n\n\n<li>&nbsp;To add video service to your project, toggle <em>video option<\/em> in the <strong>Channels<\/strong> section. This ensures that the video functionality will be available within your project.&nbsp;<\/li>\n\n\n\n<li>&nbsp;Click on <strong>CREATE PROJECT<\/strong> button to create your project.&nbsp;<\/li>\n\n\n\n<li>The project has been successfully created and a confirmation popup will appear.&nbsp;&nbsp;&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"531\" height=\"250\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-6-Project-creation-Confirmation.png\" alt=\"\" class=\"wp-image-2628\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-6-Project-creation-Confirmation.png 531w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-6-Project-creation-Confirmation-300x141.png 300w\" sizes=\"(max-width: 531px) 100vw, 531px\" \/><\/figure><\/div>\n\n\n<ul>\n<li>In the pop-up dialog, click on&nbsp; <strong>GET STARTED<\/strong> button. This will take you to the next stage of the setup process.&nbsp;<\/li>\n\n\n\n<li>If the project creation process fails, review the previous page and ensure that all mandatory fields are completed.&nbsp;<\/li>\n\n\n\n<li>you can add more services to it by going to the My Projects section.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>Path# 2<\/strong>&nbsp;<\/p>\n\n\n\n<ul>\n<li>Navigate to <strong>My Dashboard<\/strong>&nbsp;<\/li>\n\n\n\n<li>Go to Left Menu Bar and select <strong>Video<\/strong>&nbsp;<\/li>\n\n\n\n<li>Navigate to the <strong>My Video Projects<\/strong> section&nbsp;<\/li>\n\n\n\n<li>Click on <strong>CREATE PROJECT<\/strong>&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"979\" height=\"647\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-7-Video-Dashboard.png\" alt=\"\" class=\"wp-image-2629\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-7-Video-Dashboard.png 979w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-7-Video-Dashboard-300x198.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-7-Video-Dashboard-768x508.png 768w\" sizes=\"(max-width: 979px) 100vw, 979px\" \/><\/figure><\/div>\n\n\n<ul>\n<li>This will take you to the same Create Project form as explained in Path# 1.&nbsp;<\/li>\n\n\n\n<li>Follow the same process as explained.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>To proceed, click on the <strong>GET STARTED <\/strong>within the popup.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"971\" height=\"355\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-8-Methods-of-Video-Development.png\" alt=\"\" class=\"wp-image-2630\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-8-Methods-of-Video-Development.png 971w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-8-Methods-of-Video-Development-300x110.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-8-Methods-of-Video-Development-768x281.png 768w\" sizes=\"(max-width: 971px) 100vw, 971px\" \/><\/figure><\/div>\n\n\n<ul>\n<li>Select the development method that best fits your preferences and requirements&nbsp;<\/li>\n\n\n\n<li>Select <strong>&lt;I Love To Code&gt;<\/strong> option from the available choices and click on <strong>Start With APIs<\/strong>.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>This will give you access to the necessary APIs and SDKs for your project, enabling you to begin coding and developing your application with EnableX&#8217;s extensive tools and resources.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"abc8\"><strong>&nbsp;3.1.2 Add Video Service to an Existing Project<\/strong>&nbsp;<\/h2>\n\n\n\n<p>This process involves a few simple steps to configure your Video integration within your existing projects, whether it is Voice, SMS or WhatsApp Project. To add video service to an existing project:&nbsp;<\/p>\n\n\n\n<ul>\n<li>Navigate to <strong>My Dashboard<\/strong>&nbsp;<\/li>\n\n\n\n<li>Go to <strong>My Projects<\/strong> section&nbsp;<\/li>\n\n\n\n<li>To add services to a project, select the project you want to modify and click on the <strong>Edit<\/strong> icon. This will open the project summary page.&nbsp;<\/li>\n\n\n\n<li>On the Project Summary page, click on <strong>EDIT <\/strong>Tab.&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"968\" height=\"297\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-9-Project-Summary.png\" alt=\"\" class=\"wp-image-2631\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-9-Project-Summary.png 968w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-9-Project-Summary-300x92.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-9-Project-Summary-768x236.png 768w\" sizes=\"(max-width: 968px) 100vw, 968px\" \/><\/figure><\/div>\n\n\n<ul>\n<li>A <strong>Edit Project Information<\/strong> form will open, using which you can add new services to the Project or remove any existing service.&nbsp;<\/li>\n\n\n\n<li>Enable <strong>Video <\/strong>option in the Channels section.&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"729\" height=\"452\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-10-Edit-Project-Information.png\" alt=\"\" class=\"wp-image-2632\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-10-Edit-Project-Information.png 729w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-10-Edit-Project-Information-300x186.png 300w\" sizes=\"(max-width: 729px) 100vw, 729px\" \/><\/figure><\/div>\n\n\n<ul>\n<li>Click on <strong>SAVE CHANGES<\/strong>.&nbsp;&nbsp;<\/li>\n\n\n\n<li>A new Video service has been integrated into your existing project.&nbsp;<\/li>\n\n\n\n<li>The updates will be immediately reflected on the Dashboard.&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"bac1\"><strong>&nbsp;3.2 Get App ID and APP Key<\/strong>&nbsp;<\/h2>\n\n\n\n<p>Before you embark on your application development journey with the EnableX platform, it&#8217;s essential to obtain an API Credential. This credential includes an App ID and App Key, which serve as the username and password, respectively, in the HTTP Base Authentication Request Header of our <a href=\"https:\/\/www.enablex.io\/developer\/video-api\/server-api\/\" target=\"_blank\" rel=\"noreferrer noopener\">Video Server API Call<\/a>.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"638\" height=\"660\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-11-API-Credentials-via-Email-1.png\" alt=\"\" class=\"wp-image-2634\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-11-API-Credentials-via-Email-1.png 638w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-11-API-Credentials-via-Email-1-290x300.png 290w\" sizes=\"(max-width: 638px) 100vw, 638px\" \/><\/figure><\/div>\n\n\n<p>When you create a project, the API Access Credentials are sent to you via email. However, you may need to reset API Key or resend API Credentials. Follow these steps to get your project\u2019s access credentials reset or resend.&nbsp;<\/p>\n\n\n\n<ul>\n<li>Navigate to the <strong>My DASHBOARD<\/strong>, select the project you want credentials for, and then click on <strong>Manage<\/strong> icon.&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"948\" height=\"394\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-12-My-Projects.png\" alt=\"\" class=\"wp-image-2635\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-12-My-Projects.png 948w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-12-My-Projects-300x125.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-12-My-Projects-768x319.png 768w\" sizes=\"(max-width: 948px) 100vw, 948px\" \/><\/figure><\/div>\n\n\n<ul>\n<li>This will take you to the <strong>Project Summary<\/strong> page.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ol>\n<li>Go to the <strong>Project Credentials<\/strong> section on this page.&nbsp;<\/li>\n\n\n\n<li>Locate the <strong>SEND CREDENTIALS<\/strong> and <strong>RESET APP KEY<\/strong> buttons.&nbsp;<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"959\" height=\"411\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-12-My-Project-credentials.png\" alt=\"\" class=\"wp-image-2637\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-12-My-Project-credentials.png 959w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-12-My-Project-credentials-300x129.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-12-My-Project-credentials-768x329.png 768w\" sizes=\"(max-width: 959px) 100vw, 959px\" \/><\/figure><\/div>\n\n\n<ul>\n<li>If necessary, use the <strong>RESET APP KEY<\/strong> option to reset the application credentials.&nbsp;<\/li>\n\n\n\n<li>Use the <strong>SEND CREDENTIALS<\/strong> option to resend the application credentials to your registered email address.&nbsp;<\/li>\n\n\n\n<li>Now you have obtained the App ID and App Key, Use these in your Application Server for <a href=\"https:\/\/www.enablex.io\/developer\/video-api\/server-api\/\" target=\"_blank\" rel=\"noreferrer noopener\">Video Server API Call<\/a>.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>Note:<\/strong> Make sure that you use the <em>App ID<\/em> as the <em>username<\/em> and the <em>App Key<\/em> as the <em>password<\/em> in the HTTP Base Authentication Request Header.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"bac2\"><strong>3.3. Get SSL Certificate<\/strong>&nbsp;<\/h2>\n\n\n\n<p>If you have created a Browser based Application, the Application Server serving the Video Session pages must run on\u202fhttps. You will require a valid\u202f<em>SSL Certificate<\/em>\u202ffor your Application Server domain to connect to the EnableX platform. However, you may also use\u202f<em>Self-Signed Certificate<\/em>\u202for\u202f<em>Snakeoil Certificate<\/em>\u202fto run the application locally. Below are a few ULRs to obtain a\u202f<em>Self-Signed Certificate<\/em>:&nbsp;<\/p>\n\n\n\n<ul>\n<li><a href=\"https:\/\/letsencrypt.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/letsencrypt.org\/<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/www.sslchecker.com\/csr\/self_signed\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.sslchecker.com\/csr\/self_signed<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/www.akadia.com\/services\/ssh_test_certificate.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.akadia.com\/services\/ssh_test_certificate.html<\/a>&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">3.3.1 <strong>How to use SSL Certificate Files?<\/strong>&nbsp;<\/h2>\n\n\n\n<p>After you have registered a Certificate or created a Self-Signed Certificate copy of the Certificate Files (.key and .crt files) in a designated directory within the Application Server, you may then refer these files with the absolute path in server\/config.js file.&nbsp;<\/p>\n\n\n\n<p>To use SSL Certificate Files with any Web Server, please refer respective Web Server\u2019s Documentation \/ Directives.&nbsp;<\/p>\n\n\n\n<p id=\"qwe\">4. <strong>&nbsp;Setting Up the Video Application Server<\/strong>&nbsp;<\/p>\n\n\n\n<p>Use an Application Server for efficient video application workflows. This server manages provisioning, workflow automation, and reporting by leveraging the Video Server API and receiving notifications via a Web-hook URL when needed.&nbsp;<\/p>\n\n\n\n<p><strong>Overview<\/strong>&nbsp;<\/p>\n\n\n\n<p>Host your Application Server on a secure, publicly-accessible web server using HTTPS. This server:&nbsp;<\/p>\n\n\n\n<ul>\n<li>Manages provisioning.&nbsp;<\/li>\n\n\n\n<li>Hosts the Video Session Web Pages.&nbsp;<\/li>\n\n\n\n<li>Generates reports.&nbsp;<\/li>\n\n\n\n<li>Handles Webhook URL notifications.&nbsp;<\/li>\n\n\n\n<li>You can choose your web server and programming language.&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"asd\"><strong>&nbsp;4.1 Video Server API<\/strong>&nbsp;<\/h2>\n\n\n\n<p>Use the Video Server API, our RESTful service, for provisioning and reporting tasks. Ensure you call these APIs from your Application Server.&nbsp;<\/p>\n\n\n\n<ul>\n<li><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/server-api\/cdr-route\/\" target=\"_blank\" rel=\"noreferrer noopener\">Video Server API<\/a>&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"best\">4.1.1 <strong>Understanding Provisioning Need<\/strong>&nbsp;<\/h2>\n\n\n\n<p>To start a video session, create a Video Room. Users need a token to join a session in this room, accessible through a web browser or mobile app. Design video rooms based on your needs. Depending on their definition, you can use them for one or multiple video sessions.&nbsp;<\/p>\n\n\n\n<ul>\n<li><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/server-api\/rooms-route\/#create-room\" target=\"_blank\" rel=\"noreferrer noopener\">Creating a Video Room<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/server-api\/rooms-route\/#create-token\" target=\"_blank\" rel=\"noreferrer noopener\">Generating Tokens for Video Room Access<\/a>&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"top\">4.1.2 <strong>Understanding Reporting Need<\/strong>&nbsp;<\/h2>\n\n\n\n<p>Retrieve historical video session data when needed. EnableX offers an API to access the Call Detail Report (CDR) and recording &amp; chat files. We recommend storing this data in your internal Information System for versatile data management and reporting.&nbsp;<\/p>\n\n\n\n<ul>\n<li><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/server-api\/archive-route\/\" target=\"_blank\" rel=\"noreferrer noopener\">Get Recording Files<\/a>&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul>\n<li><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/server-api\/cdr-route\/\" target=\"_blank\" rel=\"noreferrer noopener\">Fetching the CDR<\/a>&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"poi\"><strong>&nbsp;&nbsp;4.2 Using Webhook<\/strong>&nbsp;<\/h2>\n\n\n\n<p>Webhook delivers real-time notifications about meeting events in JSON payload format. EnableX sends these notifications via an HTTP POST request. Set up a URL for your EnableX Video Project to use this feature. Read More \u2013 <a href=\"https:\/\/www.enablex.io\/developer\/video\/workflow-automation\/video-service-notification-webhook\/\" target=\"_blank\" rel=\"noreferrer noopener\">Notification Webhook<\/a>&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"hod\">4.2.1 <strong>Automation Requirements<\/strong>&nbsp;<\/h2>\n\n\n\n<p>Webhook streamlines your application&#8217;s workflow by integrating with EnableX. Here&#8217;s how:&nbsp;<\/p>\n\n\n\n<ul>\n<li>Receive end-of-session notifications. Immediately call an API to get CDR reports and update your Information System.&nbsp;<\/li>\n\n\n\n<li>Get alerts when recording files are ready. Download these files programmatically and allow video playback directly from your server.&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"raw\">5. <strong>Understanding the Video SDK<\/strong>&nbsp;<\/h2>\n\n\n\n<p>The Video SDK empowers your applications to communicate smoothly between the EnableX Server and various client endpoints. EnableX offers a broad range of SDKs tailored for web and mobile apps.&nbsp;<\/p>\n\n\n\n<p>SDK offers functions built on APIs using Web Sockets, allowing effective communication with EnableX Servers. Additionally, it conveys a range of events to endpoints, keeping users informed about session activities and updates.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"holy\">5.2.<strong>&nbsp;Types of SDKs<\/strong>&nbsp;<\/h2>\n\n\n\n<p>EnableX offers SDKs to cater to various platforms and application frameworks:&nbsp;<\/p>\n\n\n\n<p><strong><em>Web SDK<\/em><\/strong><strong>:<\/strong> JavaScript library tailored for browser-based video applications.&nbsp;<\/p>\n\n\n\n<p><strong>Native SDK:<\/strong>&nbsp;<\/p>\n\n\n\n<ul>\n<li><strong><em>Android SDK:<\/em><\/strong> Craft native apps for Android devices.&nbsp;<\/li>\n\n\n\n<li><strong><em>iOS SDK:<\/em><\/strong> Design native apps for iOS devices.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>Hybrid SDK:<\/strong>&nbsp;<\/p>\n\n\n\n<ul>\n<li><strong><em>React Native SDK<\/em><\/strong>: Designed for the React Native framework.&nbsp;<\/li>\n\n\n\n<li><strong><em>Flutter SDK:<\/em><\/strong> Tailored for the Flutter framework.&nbsp;<\/li>\n\n\n\n<li><strong><em>Cordova SDK:<\/em><\/strong> Developed for the Cordova platform.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video\/downloads\/\" target=\"_blank\" rel=\"noreferrer noopener\">Download SDKs<\/a> Here.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"azx\"><strong>5.3&nbsp;Working with SDKs<\/strong>&nbsp;<\/h2>\n\n\n\n<p>The SDK seamlessly integrates into client-end applications. It establishes and maintains a connection to video sessions, gracefully handling network fluctuations. It manages media transfer between the client and the EnableX Server for a smooth session.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"lkj\">5.3.1 <strong>Key features include:<\/strong>&nbsp;<\/h2>\n\n\n\n<ul>\n<li><strong>Socket Connection:<\/strong> Establishes a connection to the EnableX Server via Web Sockets. Communication interruptions only occur if the Web Socket connection is disrupted. The SDK can also attempt reconnection to restore sessions.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul>\n<li><strong>Method Usage:<\/strong> Execute actions in the client application by invoking the relevant SDK method. These methods function asynchronously. After a method call, the SDK sends a request to the EnableX Server and expects an immediate response.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>For instance, in the Web SDK, to initiate recording, utilize the <strong><em>startRecord()<\/em><\/strong> method.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/ To start recording \nroom.startRecord( function( result, error ) { \u202f \/\/ Method call &amp; Callback \n\u202f if (result == 0) { \n\u202f \u202f \u202f \/\/ Recording started \n\u202f }  \n}); \n \n\n<\/pre>\n\n\n\n<ul>\n<li><strong>Event Notifications:<\/strong> The EnableX Server dispatches notifications via Web Sockets for various events to connected clients. Your application should listen to these notifications and act accordingly.&nbsp;<br>For example, in the Web SDK, to be informed when recording begins:&nbsp;<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/ Notification recording started to all \nroom.addEventListener( \"room-record-on\", function(event) { \n\u202f \/\/ Recording started, Update UI \n\u202f \/\/ event.message.moderatorId = Moderator who stated recording. \n});  <\/pre>\n\n\n\n<ul>\n<li><strong>Media Stream Handling:<\/strong> The SDK handle of the flow of media streams between the client End Point and the EnableX Media Server. If standard UDP ports are unavailable (common in some corporate networks), the SDK routes media through the EnableX TURN Server using a standard HTTPS port, ensuring communication even if not of the optimum quality.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>Note:<\/strong> EnableX uses UDP ports ranging from 20,000 to 60,000 for media streaming. To ensure optimum Video Communication, you need to ensure that these Ports are not restricted in your Network.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"kul\">5.3.2 <strong>SDK Entities Overview<\/strong>&nbsp;<\/h2>\n\n\n\n<p>The SDK primarily works with four entities:&nbsp;<\/p>\n\n\n\n<ol>\n<li><strong>Room:<\/strong>&nbsp;<\/li>\n<\/ol>\n\n\n\n<ul>\n<li>Represents the client-side session.&nbsp;<\/li>\n\n\n\n<li>Manages connections, local stream broadcasting, and remote stream access.&nbsp;<\/li>\n\n\n\n<li>Creates a room object by using a token that users have previously obtained from your service. To retrieve this token, you will need to use the Server API as it functions as a user access token.<\/li>\n<\/ul>\n\n\n\n<p>2. <strong>Stream:<\/strong>&nbsp;<\/p>\n\n\n\n<ul>\n<li>Symbolizes an individual&#8217;s stream, which can be a combination of audio, video, and data.&nbsp;<\/li>\n\n\n\n<li>Helps in identifying the source and determines where it should be displayed.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>3. <strong>Events:<\/strong><\/p>\n\n\n\n<ul>\n<li>Denotes notifications pertaining to client-side operations. This includes:&nbsp;<br>&#8211; <strong>Room Events:<\/strong> Notifications concerning room connections.&nbsp;<br>&#8211; <strong>Stream Events<\/strong>: Alerts related to streams within a specific room.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>4. <strong>Player:<\/strong>&nbsp;<\/p>\n\n\n\n<ul>\n<li>A versatile UI component designed for displaying streams.&nbsp;<\/li>\n\n\n\n<li>It can render streams within the browser&#8217;s Document Object Model (DOM) or within the view handler of a mobile SDK.&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"pdf\">6. <strong>Developing a Client End Point Application<\/strong>&nbsp;<\/h2>\n\n\n\n<p>Client end points are devices participating in real-time communication (RTC). These can be browsers on PCs\/laptops or mobile devices\/tablets running on Android or iOS. This guide will help you navigate from connecting to a video room to eventually disconnecting, using the EnableX SDKs.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"lol\"><strong>&nbsp;6.1. Selecting the Right SDK<\/strong>&nbsp;<\/h2>\n\n\n\n<p><strong>Objective:<\/strong> Choose the appropriate EnableX Client SDK based on the device your application needs to support.&nbsp;<\/p>\n\n\n\n<p><strong>Procedure:<\/strong>&nbsp;<\/p>\n\n\n\n<ul>\n<li>Identify the device (e.g., laptop, Android tablet, iOS smartphone).&nbsp;<\/li>\n\n\n\n<li>Match the device compatibility with the corresponding EnableX SDK.&nbsp;<\/li>\n\n\n\n<li>Initiate a session using a token.&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"the\"><strong>6.2 &nbsp;Connecting to a Room<\/strong>&nbsp;<\/h2>\n\n\n\n<p><strong>Objective<\/strong>: Establish a connection to a video room using a token.&nbsp;<\/p>\n\n\n\n<p><strong>Procedure:<\/strong>&nbsp;<\/p>\n\n\n\n<ul>\n<li>Acquire a token for the client end point.&nbsp;<\/li>\n\n\n\n<li>Use the SDK&#8217;s <strong><em>joinRoom()<\/em><\/strong> method to connect.&nbsp;<\/li>\n\n\n\n<li>Upon successful connection, begin streaming audio\/video to the room.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul>\n<li>Handle any connection errors appropriately.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>Example:<\/strong> Web SDK \u2013 Connecting to Video Room&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/* Configure your Media Stream to publish *\/ \nvar PublishStreamInfo = { \n\u202f audio: true,  \n\u202f video: true, \n\u202f videoSize: [640, 480, 640, 480], \n\u202f attributes : { \u202f  \n\u202f \u202f \u202f name: \"John\", \n\u202f \u202f \u202f age: 21, \n\u202f \u202f \u202f emp_id: \"EMP039\" \n\u202f }  \n}; \n \n\/* Create Empty Object, if not to publish Media Stream *\/ \nvar PublishStreamInfo = {} ; \n \n\/* Connect to Video Room *\/ \nlocalStream = EnxRtc.joinRoom(TOKEN, PublishStreamInfo, function(success, error) { \nif (error &amp;&amp; error != null) { \n\u202f\/* Handle Connection Error *\/ \n} \nif (success &amp;&amp; success != null) { \u202f \n\u202f\/* Connected Room Information *\/  \n\u202froom = success.room; \u202f  \n} \n}); \n \n<\/pre>\n\n\n\n<p><strong>Please Read:<\/strong>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/web-toolkit\/room-connection\/#join-room\" target=\"_blank\" rel=\"noreferrer noopener\">Connecting to video Room \u2013 Web SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/android-toolkit\/room-connection\/#join-room\" target=\"_blank\" rel=\"noreferrer noopener\">Connecting to Video Room \u2013 Android SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/ios-toolkit\/room-connection\/#join-room\" target=\"_blank\" rel=\"noreferrer noopener\">Connecting to Video Room \u2013 iOS SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/react-native-toolkit\/room-connection\/#join-room\" target=\"_blank\" rel=\"noreferrer noopener\">Connecting to Video Room &#8212; React Native SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/flutter-toolkit\/room-connection\/#join-room\" target=\"_blank\" rel=\"noreferrer noopener\">Connecting to Video Room \u2013 Flutter SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/cordova-toolkit\/room-connection\/#join-room\" target=\"_blank\" rel=\"noreferrer noopener\">Connecting to Video Room \u2013 Cordova SDK<\/a>&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"for\">6.3 <strong>&nbsp;Subscribing to Remote Streams<\/strong>&nbsp;<\/h2>\n\n\n\n<p><strong>Objective:<\/strong> Receive and play videos from remote participants.&nbsp;<\/p>\n\n\n\n<p><strong>Procedure:<\/strong>&nbsp;<\/p>\n\n\n\n<ul>\n<li>After connection, retrieve a list of available streams in the room.&nbsp;<\/li>\n\n\n\n<li>Subscribe to all available streams using the <strong><em>subscribe()<\/em><\/strong> method.&nbsp;<\/li>\n\n\n\n<li>Note that you must subscribe to Screen Share Stream (Stream No. 101) and Canvas Stream (Stream No. 102) too to receive Screen Share and Canvas Stream respectively.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>Example:<\/strong> Web SDK \u2013 Stream Subscription&nbsp;<\/p>\n\n\n\n<p><strong><em>EnxRoom.subscribe()<\/em><\/strong> method may be used to subscribe to individual streams available in the room. You need to listen to <strong><em>stream-subscribed<\/em><\/strong> event to know when you are subscribed.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/ Room Connection call back success information \n\/\/ has all Remote Stream Information \nfor (var i=0; i &lt; success.streams.length; i++) { \n\u202f \/\/ Subscribe Stream \n\u202f room.subscribe(success.streams[i]); \u202f \n}  \n \n\/\/ You are notified when subscription is successful \nroom.addEventListener(\"stream-subscribed\", function(event) { \n\u202f console.log(\"Stream subscribed\"); \n}); \n \n<\/pre>\n\n\n\n<p><strong>Please Read:<\/strong>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/web-toolkit\/subscribing-remote-streams\/\" target=\"_blank\" rel=\"noreferrer noopener\">Subscribing Remote Streams \u2013 Web SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/android-toolkit\/subscribing-remote-streams\/\" target=\"_blank\" rel=\"noreferrer noopener\">Subscribing Remote Streams \u2013 Android SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/ios-toolkit\/subscribing-remote-streams\/\" target=\"_blank\" rel=\"noreferrer noopener\">Subscribing Remote Streams \u2013 iOS SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/react-native-toolkit\/subscribing-remote-streams\/\" target=\"_blank\" rel=\"noreferrer noopener\">Subscribing Remote Streams \u2013 React Native SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/flutter-toolkit\/subscribing-remote-streams\/\" target=\"_blank\" rel=\"noreferrer noopener\">Subscribing Remote Streams \u2013 Flutter SDK<\/a>&nbsp;<\/p>\n\n\n\n<p>Subscribing Remote Streams \u2013 Cordova SDK&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"hut\"><strong>6.4&nbsp;Playing Streams<\/strong>&nbsp;<\/h2>\n\n\n\n<p><strong>Objective:<\/strong> Display both local and remote streams.&nbsp;<\/p>\n\n\n\n<p><strong>Procedure:<\/strong>&nbsp;<\/p>\n\n\n\n<ul>\n<li>Use the SDK&#8217;s <strong><em>play()<\/em><\/strong> method to render streams.&nbsp;<\/li>\n\n\n\n<li>This method will create the necessary audio\/video elements within the specified DOM element to display the stream.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>Example: Web SDK \u2013 Play Stream&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/ Play Stream \nstream.play(DOM-ElementID, playerOptions);  \n \n\/\/ The Stream Object here may be a local, remote, screen share or canvas stream \n <\/pre>\n\n\n\n<p><strong>Please Read:<\/strong>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/appendix\/#player-options\" target=\"_blank\" rel=\"noreferrer noopener\">List of Player Options<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/web-toolkit\/play-stream\/\" target=\"_blank\" rel=\"noreferrer noopener\">Play Stream \u2014Web SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/android-toolkit\/play-stream\/\" target=\"_blank\" rel=\"noreferrer noopener\">Play Stream \u2014Android SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/ios-toolkit\/play-stream\/\" target=\"_blank\" rel=\"noreferrer noopener\">Play Stream \u2014 iOS SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/react-native-toolkit\/play-stream\/\" target=\"_blank\" rel=\"noreferrer noopener\">Play Stream \u2014React Native SDK<\/a>&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"but\">6.5 <strong>Managing Active Talkers<\/strong><\/h2>\n\n\n\n<p><strong>Objective:<\/strong> Efficiently handle active talkers to conserve resources and manage specific stream types.&nbsp;<\/p>\n\n\n\n<p><strong>Procedure:<\/strong>&nbsp;<\/p>\n\n\n\n<ul>\n<li><strong><em>Track Active Talkers:<\/em><\/strong> Utilize the provided JSON list to monitor who&#8217;s actively speaking.&nbsp;<\/li>\n\n\n\n<li><strong><em>Stream Adjustment:<\/em><\/strong> Dynamically modify the stream display based on the current active speaker(s). Pay particular attention to special streams like Screen Sharing (StreamID# 101) and Canvas Stream (StreamID# 102).&nbsp;<\/li>\n\n\n\n<li><strong><em>UI Updates:<\/em><\/strong> Implement the supplied event handlers to refresh your user interface as the list of active talkers and special streams shifts.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>Note:<\/strong> Regularly updating and managing the active talkers and recognizing specific streams, especially StreamID# 101 and 102, is critical to ensure optimal resource usage and deliver a seamless user experience.&nbsp;<\/p>\n\n\n\n<p><strong>Example:<\/strong> Web SDK \u2013 Updated Active Talkers List&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/ USON Format: Updated Active Talker List received \n{ \n\u202f \"active\": true, \n\u202f \"activeList\": [ \n\u202f \u202f { \n\u202f \u202f \u202f \"clientId\": \"String\", \n\u202f \u202f \u202f \"mediatype\": \"audiovideo\", \n\u202f \u202f \u202f \"name\": \"String\", \n\u202f \u202f \u202f \"reason\": \"user\", \n\u202f \u202f \u202f \"streamId\": \"Number\", \n\u202f \u202f \u202f \"videoaspectratio\": \"16:9\", \n\u202f \u202f \u202f \"videomuted\": false, \n\u202f \u202f \u202f \"pinned\": false \n\u202f \u202f } \n\u202f ] \n} \n <\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/ Handle updated AT List and Play Stream \nroom.addEventListener('active-talkers-updated', function (event) { \n\u202f TalkerList = event.message.activeList; \n\u202f for (var i = 0; i &lt; TalkerList.length; i++) { \n\u202f \u202f \u202f if (ATUserList[i] &amp;&amp; ATUserList[i].streamId) { \n\u202f \u202f \u202f \u202f \u202f var stream \u202f= room.remoteStreams.get(ATUserList[i].streamId); \n\u202f \u202f \u202f \u202f \u202f var stream_id \u202f = ATUserList[i].streamId; \n\u202f \u202f \u202f \u202f \u202f var username \u202f \u202f= ATUserList[i].name; \n\u202f \u202f \u202f \u202f \u202f stream.play(\"DOM_ELEMENT_ID\", PlayerOptions); \n\u202f \u202f \u202f } \n\u202f } \u202f \u202f \u202f \u202f \u202f \u202f \u202f \u202f \u202f \u202f \u202f  \n} \n<\/pre>\n\n\n\n<p><strong>Please Read:<\/strong>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/web-toolkit\/active-talkers\/#active-talkers\" target=\"_blank\" rel=\"noreferrer noopener\">Manage Active Talkers \u2013 Web SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/android-toolkit\/active-talkers\/#active-talkers\" target=\"_blank\" rel=\"noreferrer noopener\">Manage Active Talkers \u2013 Android SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/ios-toolkit\/active-talkers\/#active-talkers\" target=\"_blank\" rel=\"noreferrer noopener\">Manage Active Talkers \u2013 iOS SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/react-native-toolkit\/active-talkers\/#active-talkers\" target=\"_blank\" rel=\"noreferrer noopener\">Manage Active Talkers \u2013 React Native SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/flutter-toolkit\/active-talkers\/#active-talkers\" target=\"_blank\" rel=\"noreferrer noopener\">Manage Active Talkers \u2013 Flutter SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/cordova-toolkit\/active-talkers\/#active-talkers\" target=\"_blank\" rel=\"noreferrer noopener\">Manage Active Talkers \u2013 Cordova SDK<\/a>&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"too\">6.6 <strong>Disconnecting from the Room<\/strong>&nbsp;<\/h2>\n\n\n\n<p><strong>Objective<\/strong>: End the video session and release resources.&nbsp;<\/p>\n\n\n\n<p><strong>Procedure:<\/strong>&nbsp;<\/p>\n\n\n\n<ul>\n<li>Utilize the SDK&#8217;s <strong><em>disconnect()<\/em><\/strong> method to end the session.&nbsp;<\/li>\n\n\n\n<li>Ensure all sockets and connections are properly closed.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>Example:<\/strong> Web SDK \u2013 Disconnect&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">room.disconnect(); \n \nroom.addEventListener(\"room-disconnected\", function(event) { \n\u202f \u202f \u202f\/\/ You are disconnected \n}); \n \nroom.addEventListener(\"user-disconnected\", function(event) { \n\u202f \u202f \u202f\/\/ One user is disconnected \n\u202f \u202f \u202f\/\/ event - User Information of disconnected user \n\u202f}); \n<\/pre>\n\n\n\n<p><strong>Please Read:<\/strong>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/web-toolkit\/room-connection\/#disconnect-room\" target=\"_blank\" rel=\"noreferrer noopener\">Disconnect from Room \u2013 Web SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/android-toolkit\/room-connection\/#disconnect-room\" target=\"_blank\" rel=\"noreferrer noopener\">Disconnect from Room \u2013 Android SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/ios-toolkit\/room-connection\/#disconnect-room\" target=\"_blank\" rel=\"noreferrer noopener\">Disconnect from Room \u2013 iOS SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/react-native-toolkit\/room-connection\/#disconnect-room\" target=\"_blank\" rel=\"noreferrer noopener\">Disconnect from Room \u2013 React Native SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/flutter-toolkit\/room-connection\/#disconnect-room\" target=\"_blank\" rel=\"noreferrer noopener\">Disconnect from Room \u2013 Flutter SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/cordova-toolkit\/room-connection\/#disconnect-room\" target=\"_blank\" rel=\"noreferrer noopener\">Disconnect from Room \u2013 Cordova SDK<\/a>&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"had\"><strong>7. Use Advance Features<\/strong>&nbsp;<\/h2>\n\n\n\n<p>With the Advanced Features of EnableX, you can build more complex audio\/video-enabled applications by introducing more controls on streams, data or connections.&nbsp;<\/p>\n\n\n\n<p>EnableX SDK and Video Service features extensive set of Method and Events using which you can create feature rich Video Application to meet all your business needs. So, you need to choose the related Methods to support your use case.&nbsp;<\/p>\n\n\n\n<p>We recommend you to look into Index of feature list supported by each SDK and find required method yourself for implementation.&nbsp;<\/p>\n\n\n\n<p><strong>Index of SDKs:<\/strong>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/web-toolkit\/room-connection\/\" target=\"_blank\" rel=\"noreferrer noopener\">Web SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/android-toolkit\/room-connection\/\" target=\"_blank\" rel=\"noreferrer noopener\">Android SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/ios-toolkit\/room-connection\/\" target=\"_blank\" rel=\"noreferrer noopener\">iOS SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/react-native-toolkit\/room-connection\/\" target=\"_blank\" rel=\"noreferrer noopener\">React Native SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/flutter-toolkit\/room-connection\/\" target=\"_blank\" rel=\"noreferrer noopener\">Flutter SDK<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.enablex.io\/developer\/video-api\/client-api\/cordova-toolkit\/room-connection\/\" target=\"_blank\" rel=\"noreferrer noopener\">Cordova SDK<\/a>&nbsp;<\/p>\n\n\n\n<p>Best wishes! Happy Coding!!&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"has\"><strong>8. Configure Features in Video Project<\/strong>&nbsp;<\/h2>\n\n\n\n<p>Through the portal, users have the capability to optimize both the security and professional appearance of video recordings. Two distinct features are available for this purpose:&nbsp;<\/p>\n\n\n\n<p><strong>Encryption<\/strong>&nbsp;<\/p>\n\n\n\n<p>With encryption, transform your videos into unreadable formats, decipherable only with the correct key, ensuring the utmost confidentiality and security.&nbsp;<\/p>\n\n\n\n<p><strong>Watermarking<\/strong>&nbsp;<\/p>\n\n\n\n<p>Maintain the authenticity and uniqueness of your videos with watermarking. By embedding a discreet signature or logo onto your recordings, you not only claim ownership but also enhance their professional appearance.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"872\" height=\"432\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-13-Video-recording-Features.png\" alt=\"\" class=\"wp-image-2638\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-13-Video-recording-Features.png 872w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-13-Video-recording-Features-300x149.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-13-Video-recording-Features-768x380.png 768w\" sizes=\"(max-width: 872px) 100vw, 872px\" \/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"are\"><strong>8.1 Encryption<\/strong>&nbsp;<\/h2>\n\n\n\n<p>Video Recording Encryption is a feature that provides an additional layer of security for your EnableX Programmable Video Recordings. This feature allows you to encrypt your recordings with an encryption key, ensuring the confidentiality and integrity of the recorded content during storage and transmission.&nbsp;<\/p>\n\n\n\n<ol start=\"1\">\n<li><\/li>\n<\/ol>\n\n\n\n<p>To encrypt your video recordings:&nbsp;<\/p>\n\n\n\n<ul>\n<li>Enter your <strong>Encryption key<\/strong> and click on <strong>SAVE<\/strong>.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"649\" height=\"290\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-14-Video-Recordings-Encryption.png\" alt=\"\" class=\"wp-image-2639\" style=\"width:649px;height:290px\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-14-Video-Recordings-Encryption.png 649w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-14-Video-Recordings-Encryption-300x134.png 300w\" sizes=\"(max-width: 649px) 100vw, 649px\" \/><\/figure><\/div>\n\n\n<p><strong>Note:<\/strong> Encryption is a service available with a subscription. When a user signs up for this service, the user himself needs to set an encryption key.&nbsp;&nbsp;<\/p>\n\n\n\n<p>If you are interested in the encryption service, please contact us&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"can\"><strong>8.2. Watermarking&nbsp;<\/strong><\/h2>\n\n\n\n<p>To add a professional touch to your recorded videos with Watermarking, a feature that allows you to place your own watermark on your videos, do the following:&nbsp;<\/p>\n\n\n\n<ul>\n<li>Navigate to the <strong>Watermarking<\/strong> feature.&nbsp;<\/li>\n\n\n\n<li>Specify the mandatory settings to format the appearance of the watermark.&nbsp;<\/li>\n\n\n\n<li>&nbsp;Upload <strong>Watermark Image<\/strong> by clicking <strong>Choose File<\/strong>.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>Note:<\/strong> The Image should be a <strong>.png<\/strong> file, no larger than 50KB and 150*150 pixels in dimension.&nbsp;<\/p>\n\n\n\n<ul>\n<li>Adjust the <strong>Opacity <\/strong>of your watermark from 1 to 5 to set the transparency level.&nbsp;<\/li>\n\n\n\n<li>Click on <strong>SAVE<\/strong>.&nbsp;&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"944\" height=\"463\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-15-Video-Recordings-Watermarking.png\" alt=\"\" class=\"wp-image-2640\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-15-Video-Recordings-Watermarking.png 944w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-15-Video-Recordings-Watermarking-300x147.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-15-Video-Recordings-Watermarking-768x377.png 768w\" sizes=\"(max-width: 944px) 100vw, 944px\" \/><\/figure><\/div>\n\n\n<p><strong>Note:<\/strong> Watermarking is a service available with a subscription. If you are interested in the Watermarking service, please contact us.&nbsp;<\/p>\n\n\n\n<p id=\"lit\"><strong>9. Configure Settings in Video Project<\/strong>&nbsp;<\/p>\n\n\n\n<p>Within the Video project environment, users have various settings to optimize the functional aspects of the project. These configurations are crucial for managing recordings, ensuring efficient application-server communication, and determining user-specific media zones.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"877\" height=\"455\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-16-Configure-Video-Settings.png\" alt=\"\" class=\"wp-image-2641\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-16-Configure-Video-Settings.png 877w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-16-Configure-Video-Settings-300x156.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-16-Configure-Video-Settings-768x398.png 768w\" sizes=\"(max-width: 877px) 100vw, 877px\" \/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"but\"><strong>9.1 Configure Recording and Delivery Settings<\/strong>&nbsp;<\/h2>\n\n\n\n<p>You can set up an Archiving and Delivery service to capture and archive webinars and meeting room data including voice, video, captions\/transcripts, and in-meeting chat messages, and make them available on a destination server, service, or platform of your choice.&nbsp;<\/p>\n\n\n\n<ul>\n<li>Navigate to the <strong>Recording &amp; Delivery<\/strong> tab.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>On the Recording &amp; Delivery page, you have the option to choose the file types to deliver and specify the destination for the recorded files. To configure these settings:&nbsp;<\/p>\n\n\n\n<p><strong>Deliver File Types:<\/strong>&nbsp;<\/p>\n\n\n\n<ul>\n<li>Select the file type(s) you want to include in the delivery of recorded content. The available options in this case are:&nbsp;<\/li>\n<\/ul>\n\n\n\n<ol>\n<li><strong>Individual Recording<\/strong>: Deliver each recording as a separate file.&nbsp;<\/li>\n\n\n\n<li><strong>Live Recording<\/strong>: Deliver recorded content from live sessions.&nbsp;<\/li>\n\n\n\n<li><strong>Transcoded:<\/strong> Deliver the content in a transcoded format.&nbsp;<\/li>\n\n\n\n<li><strong>Meta data:<\/strong> Include metadata associated with the recorded content.&nbsp;<\/li>\n\n\n\n<li><strong>Chat data:<\/strong> Include the chat data from the recorded sessions.&nbsp;<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"524\" height=\"265\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-17-Configure-Recording-Delivery-Settings.png\" alt=\"\" class=\"wp-image-2642\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-17-Configure-Recording-Delivery-Settings.png 524w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-17-Configure-Recording-Delivery-Settings-300x152.png 300w\" sizes=\"(max-width: 524px) 100vw, 524px\" \/><\/figure><\/div>\n\n\n<p><strong>Deliver files to:<\/strong>&nbsp;<\/p>\n\n\n\n<ul>\n<li>Select the destination where the recorded file(s) will be delivered. Available destination options are:&nbsp;<\/li>\n<\/ul>\n\n\n\n<ol>\n<li>FTP to my server&nbsp;<\/li>\n\n\n\n<li>Secure a copy to my server&nbsp;<\/li>\n\n\n\n<li>Save on AWS S3&nbsp;<\/li>\n\n\n\n<li>Save on Google Drive&nbsp;<\/li>\n\n\n\n<li>Save on Microsoft Azure&nbsp;<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"bow\"><strong>9.1.1. Transfer to FTP\/SFTP Host<\/strong><\/h2>\n\n\n\n<ul>\n<li>Select <strong>FTP to my server<\/strong> from the <strong>Deliver files to<\/strong> drop-down list. The <strong>FTP to my server<\/strong> section will display on the recording &amp; delivery page.&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"626\" height=\"649\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-18-Configure-Recording-Delivery-FTP-to-my-Server.png\" alt=\"\" class=\"wp-image-2643\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-18-Configure-Recording-Delivery-FTP-to-my-Server.png 626w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-18-Configure-Recording-Delivery-FTP-to-my-Server-289x300.png 289w\" sizes=\"(max-width: 626px) 100vw, 626px\" \/><\/figure><\/div>\n\n\n<ul>\n<li>Specify the details required for file transfer.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>This includes:&nbsp;<\/p>\n\n\n\n<ol>\n<li><strong>FTP server details:<\/strong> Enter the hostname or IP address of the FTP server where you want to transfer the files.&nbsp;<\/li>\n\n\n\n<li><strong>Username:<\/strong> Specify the username associated with your FTP server account.&nbsp;<\/li>\n\n\n\n<li><strong>Password:<\/strong> Enter the password for the provided username.&nbsp;<\/li>\n\n\n\n<li><strong>Port (optional):<\/strong> If required, provide the port number for the FTP connection. If left blank, it will typically use the standard FTP port.&nbsp;<\/li>\n<\/ol>\n\n\n\n<ul>\n<li>Click on <strong>SAVE<\/strong> to submit the specified details.&nbsp;&nbsp;<br>The files will be transferred to the specified FTP server.&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"tap\"><strong>9.1.2 Transfer to using SCP&nbsp;<\/strong><\/h2>\n\n\n\n<ul>\n<li>Select <strong>Secure copy to my server<\/strong> from the <strong>Deliver files to<\/strong> drop-down list. The <strong>SFTP Settings <\/strong>section will display on the recording &amp; delivery page.&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"624\" height=\"657\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-19-Configure-Recording-Delivery-SCP.png\" alt=\"\" class=\"wp-image-2644\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-19-Configure-Recording-Delivery-SCP.png 624w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-19-Configure-Recording-Delivery-SCP-285x300.png 285w\" sizes=\"(max-width: 624px) 100vw, 624px\" \/><\/figure><\/div>\n\n\n<ul>\n<li>Specify the details required for file transfer.&nbsp;<\/li>\n\n\n\n<li>Fill in the form as needed and submit it by clicking on <strong>SAVE<\/strong> button.&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"boy\"><strong>9.1.3 Transfer to AWS S3<\/strong>&nbsp;<\/h2>\n\n\n\n<ul>\n<li>Select <strong>Save on AWS S3<\/strong> from the <strong>Deliver files to<\/strong> drop-down list. The <strong>AWS S3 Settings <\/strong>section will display on the recording &amp; delivery page.&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"623\" height=\"645\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-20-Configure-Recording-Delivery-Transfer-to-AWS.png\" alt=\"\" class=\"wp-image-2645\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-20-Configure-Recording-Delivery-Transfer-to-AWS.png 623w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-20-Configure-Recording-Delivery-Transfer-to-AWS-290x300.png 290w\" sizes=\"(max-width: 623px) 100vw, 623px\" \/><\/figure><\/div>\n\n\n<ul>\n<li>Specify the details required for file transfer.&nbsp;<\/li>\n\n\n\n<li>Fill in the form as needed and submit it by clicking on <strong>SAVE<\/strong> button.&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"gem\"><strong>9.1.4 Transfer to Google Drive<\/strong>&nbsp;<\/h2>\n\n\n\n<ul>\n<li>Select <strong>Save on Google drive <\/strong>from the <strong>Deliver files to<\/strong> drop-down list. The <strong>Google drive Settings <\/strong>section will display on the recording &amp; delivery page.&nbsp;<\/li>\n\n\n\n<li>Specify the details required for file transfer.&nbsp;<\/li>\n\n\n\n<li>Fill in the form as needed and submit it by clicking on <strong>SAVE<\/strong> button.&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"624\" height=\"570\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-21-Configure-Recording-Delivery-Transfer-to-Google-Drive.png\" alt=\"\" class=\"wp-image-2646\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-21-Configure-Recording-Delivery-Transfer-to-Google-Drive.png 624w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-21-Configure-Recording-Delivery-Transfer-to-Google-Drive-300x274.png 300w\" sizes=\"(max-width: 624px) 100vw, 624px\" \/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\"><strong>9.1.5 Transfer to Microsoft Azure<\/strong>&nbsp;<\/h2>\n\n\n\n<ul>\n<li>Select <strong>Save on Microsoft Azure <\/strong>from the <strong>Deliver files to<\/strong> drop-down list. The <strong>Microsoft Azure Settings <\/strong>section will display on the recording &amp; delivery page.&nbsp;<\/li>\n\n\n\n<li>Specify the details required for file transfer.&nbsp;<\/li>\n\n\n\n<li>Fill in the form as needed and submit it by clicking on <strong>SAVE<\/strong> button.&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"615\" height=\"563\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-22-Configure-Recording-Delivery-Transfer-to-Microsoft-Azure.png\" alt=\"\" class=\"wp-image-2647\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-22-Configure-Recording-Delivery-Transfer-to-Microsoft-Azure.png 615w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-22-Configure-Recording-Delivery-Transfer-to-Microsoft-Azure-300x275.png 300w\" sizes=\"(max-width: 615px) 100vw, 615px\" \/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"boy\"><strong>9.2. &nbsp;Configure Webhook Settings<\/strong>&nbsp;<\/h2>\n\n\n\n<p>Webhooks are an essential feature of the EnableX platform that allows you to receive real-time notifications about specific events. By configuring a webhook URL and selecting the desired events, you can effortlessly stay updated on crucial activities within your application. This chapter will guide you through the process of setting up webhooks and receiving notifications.&nbsp;<\/p>\n\n\n\n<p>To set up webhooks and start receiving notifications, follow these steps:&nbsp;<\/p>\n\n\n\n<ul>\n<li>Navigate to<strong> Webhooks <\/strong>tab.&nbsp;<\/li>\n\n\n\n<li>Specify <strong>Webhook URL <\/strong>that will receive the webhook notifications.&nbsp;&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>Note: <\/strong>Ensure that the URL supports HTTPS and is capable of handling JSON payloads via HTTP POST requests.&nbsp;<\/p>\n\n\n\n<p><strong>Subscribe Events<\/strong>&nbsp;<\/p>\n\n\n\n<ul>\n<li>Navigate the <strong>Subscribe to the Notifications<\/strong> section.&nbsp;&nbsp;<\/li>\n\n\n\n<li>In this section, you will find a list of events that can trigger webhook notifications.&nbsp;<\/li>\n\n\n\n<li>Select the <strong>&lt;event(s) name&gt;<\/strong> you want to receive notifications for.&nbsp;<\/li>\n\n\n\n<li>Toggle the corresponding icon in front of each selected event(s).&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"538\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-23-Configure-Webhook-Settings-1024x538.png\" alt=\"\" class=\"wp-image-2648\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-23-Configure-Webhook-Settings-1024x538.png 1024w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-23-Configure-Webhook-Settings-300x158.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-23-Configure-Webhook-Settings-768x404.png 768w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-23-Configure-Webhook-Settings.png 1048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p>Various events that can we used via webhook are as follows-&nbsp;<\/p>\n\n\n\n<ul>\n<li><strong>Session start:<\/strong> When a new session starts in a Video Room&nbsp;<\/li>\n\n\n\n<li><strong>Session stop:<\/strong> When an ongoing session in a Video Room conclude.&nbsp;<\/li>\n\n\n\n<li><strong>CDR Ready:<\/strong> When CDR is available ,you may call related Video API to get CDR.&nbsp;<\/li>\n\n\n\n<li><strong>Stream Recording File Ready:<\/strong> When individual user&#8217;s recorded streams are ready for download. Notifications provide URLs to retrieve the files.&nbsp;<\/li>\n\n\n\n<li><strong>Transcoded File Ready:<\/strong> When Single replayable files, transcoded from individual stream recordings, are available.The notification provide URLs of file(s) to pull\/download.&nbsp;<\/li>\n\n\n\n<li><strong>Live Recording File Ready<\/strong>: When live-recording file(s) (Recorded Live in-Session using Custom-UI) are available for download. The notification contains URLs of file(s) to pull\/download.&nbsp;<\/li>\n\n\n\n<li><strong>Chatdata Ready: <\/strong>When Chatscript File (In-Session Chat Data File) is available for download. The notification contains URL of file to pull\/download.&nbsp;<\/li>\n\n\n\n<li><strong>Metadata Ready:<\/strong> When Meta Data File (Session Activity Data File) is available for download. The notification contains URL of file to pull\/download.&nbsp;<\/li>\n\n\n\n<li><strong>File Transferred<\/strong>: When file(s) are transferred to destination server through Delivery Service. The notification contains location of the transferred files in the destination server.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>Set HTTP Authorization (Optional)<\/strong>&nbsp;<\/p>\n\n\n\n<p>You can enable HTTP authorization if you want to authenticate your users. Authorization headers provide credentials that authenticate a user agent to a server, allowing it access to protected resources. To implement secured access in your webhook, EnableX supports HTTP Basic Authentication.&nbsp;<\/p>\n\n\n\n<ul>\n<li>If your application requires HTTP authorization to receive webhook notifications, follow these additional steps.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul>\n<li>Enable <strong>HTTP Authorization<\/strong> option.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul>\n<li>Enter the &lt;<strong>Username&gt;<\/strong> and <strong>&lt;Password&gt;<\/strong> associated with your application&#8217;s HTTP authorization.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul>\n<li>Once you have specified the webhook URL and selected the desired event(s), click on <strong>SAVE <\/strong>button to finalize the webhook configuration.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>When working with webhooks in the EnableX platform, it&#8217;s important to note that the Notification URL is a project-specific setting. This means that each project can have its own unique Notification URL. However, it is possible to use the same Notification URL across multiple projects if you want to receive notifications in a centralized location.&nbsp;<\/p>\n\n\n\n<p>When a webhook event occurs and a notification is sent to the specified Notification URL, the JSON data posted will include the <strong><em>app_id<\/em><\/strong> parameter. This parameter carries the identifier of the project from which the event originated. You can utilize this app_id to segregate and differentiate the data received for each project if needed. This allows you to maintain project-specific logic and handle notifications accordingly.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>9.3.  Configure Media Zone Settings<\/strong>&nbsp;<\/h2>\n\n\n\n<p>EnableX operates in multiple geographic regions through dedicated media zones. Depending on the geographic location of your participants, you can host your application in a particular media zone. The media and signalling traffic is hosted in specific regional data centers as per your preferred media zone. If you have subscribed to a different media zone, you can select it from the Media Zone (Preference 1) menu.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"730\" height=\"379\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/MicrosoftTeams-image.png\" alt=\"\" class=\"wp-image-2649\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/MicrosoftTeams-image.png 730w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/MicrosoftTeams-image-300x156.png 300w\" sizes=\"(max-width: 730px) 100vw, 730px\" \/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"yaw\"><strong>10. Configuring PSTN Integration to Video Project&nbsp;<\/strong><\/h2>\n\n\n\n<p>If you want to integrate incoming and outgoing voice service, you need to add inbound and outbound phone numbers to your project. This helps users join the virtual sessions using a phone call, or be invited to the call through dial-out.&nbsp;<\/p>\n\n\n\n<p>To add PSTN integration to your project, do the following:&nbsp;<\/p>\n\n\n\n<ul>\n<li>Navigate to <strong>Video <\/strong>section in the left menu pane and select <strong>Dashboard<\/strong> option from the drop-down.&nbsp;&nbsp;<\/li>\n\n\n\n<li>Select the project for which you want to configure PSTN voice Integration. This will take you to the project summary page.&nbsp;<\/li>\n\n\n\n<li>On the project summary page,&nbsp; select the <strong>PSTN Integration <\/strong>tab.&nbsp;<\/li>\n\n\n\n<li>The <strong>PSTN Integration <\/strong>form<strong> <\/strong>will open, where you can Buy Numbers and Add existing Numbers to the Video conference.&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"455\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-25-Configure-PSTN-Integration-Settings-1024x455.png\" alt=\"\" class=\"wp-image-2650\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-25-Configure-PSTN-Integration-Settings-1024x455.png 1024w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-25-Configure-PSTN-Integration-Settings-300x133.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-25-Configure-PSTN-Integration-Settings-768x341.png 768w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-25-Configure-PSTN-Integration-Settings.png 1133w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p><strong>Buy Phone Numbers<\/strong>&nbsp;<\/p>\n\n\n\n<p>Buy numbers from EnableX&#8217;s inventory or in case, the number of your choice is not available you can always place a request for a new number.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"875\" height=\"358\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/MicrosoftTeams-image-1.png\" alt=\"\" class=\"wp-image-2651\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/MicrosoftTeams-image-1.png 875w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/MicrosoftTeams-image-1-300x123.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/MicrosoftTeams-image-1-768x314.png 768w\" sizes=\"(max-width: 875px) 100vw, 875px\" \/><\/figure><\/div>\n\n\n<ul>\n<li>Choose <strong>Country<\/strong> for which you need a number.&nbsp;<\/li>\n\n\n\n<li>Choose <strong>Type of Number<\/strong> you require (e.g., Toll, Toll-Free, Mobile, Fixed Line).&nbsp;<\/li>\n\n\n\n<li><strong>SEARCH <\/strong>and<strong> BUY<\/strong> the number from EnableX inventory.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>Place Order<\/strong>&nbsp;<\/p>\n\n\n\n<ul>\n<li>In case of non-availability of number of your choice, you can Place Order for a new Number.&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"869\" height=\"488\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-27-PSTN-Integration-Place-Phone-Number-Order.png\" alt=\"\" class=\"wp-image-2652\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-27-PSTN-Integration-Place-Phone-Number-Order.png 869w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-27-PSTN-Integration-Place-Phone-Number-Order-300x168.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-27-PSTN-Integration-Place-Phone-Number-Order-768x431.png 768w\" sizes=\"(max-width: 869px) 100vw, 869px\" \/><\/figure><\/div>\n\n\n<ul>\n<li>Select the <strong>Country <\/strong>and <strong>Type<\/strong> of the Phone Number You want to buy. Write the details about your request and click on<strong> Proceed.<\/strong>&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"pol\"><strong>11. Project Management&nbsp;<\/strong><\/h2>\n\n\n\n<p>All projects can be further managed using the <strong><em>manage icon<\/em><\/strong> next to each project name. To manage your existing Low-Code video projects, do the following:&nbsp;<\/p>\n\n\n\n<p>On the Dashboard, navigate to the <strong>My Project<\/strong> section and identify the specific project you wish to manage. Click on the <strong>Manage icon<\/strong> next to the <strong>&lt;Project&gt;. <\/strong>This will direct to the <strong>Project Summary<\/strong> page.&nbsp;<\/p>\n\n\n\n<p>The Summary page displays essential project details and offers advanced management options.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"ron\"><strong>11.1.&nbsp; Project Details&nbsp;<\/strong><\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"858\" height=\"603\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-28-Video-Project-Summary.png\" alt=\"\" class=\"wp-image-2653\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-28-Video-Project-Summary.png 858w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-28-Video-Project-Summary-300x211.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-28-Video-Project-Summary-768x540.png 768w\" sizes=\"(max-width: 858px) 100vw, 858px\" \/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"bon\"><strong>11.1.1. Project Information<\/strong>&nbsp;<\/h2>\n\n\n\n<p>In this section, basic information about the project is given.&nbsp;<\/p>\n\n\n\n<ul>\n<li><strong>Project Name:<\/strong> Contains the name given during project creation.&nbsp;<\/li>\n\n\n\n<li><strong>Application:<\/strong> Specifies the industry mentioned during project creation (e.g., Banking, Healthcare, Telecommunication).&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"uyu\"><strong>11.1.2. Project Credentials<\/strong>&nbsp;<\/h2>\n\n\n\n<p>When you create a project, the API Access Credentials are sent to you via email. However, you may need to reset API Key or resend API Credentials.&nbsp; If needed, user can request Project Credentials and Reset App Key from the Summary page.&nbsp;<\/p>\n\n\n\n<p><strong>Send Credentials:<\/strong> This allows you to request project credentials to be sent to your registered email.&nbsp;<\/p>\n\n\n\n<p><strong>Reset App Key:<\/strong> This option resets the App Key (App ID &amp; App Key).&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"jam\"><strong>11.1.3 &nbsp;Project Usage<\/strong>&nbsp;<\/h2>\n\n\n\n<p>This sections provides graphical displays for the following over the last 7 or 30 days:&nbsp;<\/p>\n\n\n\n<ul>\n<li>Total Number of Sessions&nbsp;<\/li>\n\n\n\n<li>Total Video Usage Minutes&nbsp;<\/li>\n\n\n\n<li>Total Recording Minutes&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"bus\"><strong>11.2 &nbsp;Advanced Manage Options<\/strong>&nbsp;<\/h2>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"mat\"><strong>11.2.1 EDIT Option<\/strong>&nbsp;<\/h2>\n\n\n\n<ul>\n<li>This option enables you to edit the Project Name, Application, Application description, and Project Description.&nbsp;&nbsp;<\/li>\n\n\n\n<li>You can also add other channels (Voice, SMS and WhatsApp) to your existing project.&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"665\" height=\"429\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-29-Edit-Project-Information.png\" alt=\"\" class=\"wp-image-2654\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-29-Edit-Project-Information.png 665w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-29-Edit-Project-Information-300x194.png 300w\" sizes=\"(max-width: 665px) 100vw, 665px\" \/><\/figure><\/div>\n\n\n<p>To edit the project Information, follow these steps:&nbsp;<\/p>\n\n\n\n<ul>\n<li>Navigate and click on <strong>EDIT <\/strong>tab on the Summary page.&nbsp;<\/li>\n\n\n\n<li>Make the necessary adjustments.&nbsp;<\/li>\n\n\n\n<li>Click on <strong>SAVE CHANGES<\/strong>.&nbsp;<\/li>\n\n\n\n<li>The updates will be immediately reflected on the Dashboard.&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"rat\"><strong>11.2.2. &nbsp;MANAGE LIMITS Option<\/strong>&nbsp;<\/h2>\n\n\n\n<p>The Manage Option is used to Manage the Wallet and the corresponding limits. Under Manage Limits Option, there are further various options which are as follows:&nbsp;<\/p>\n\n\n\n<ul>\n<li>Top Up&nbsp;<\/li>\n\n\n\n<li>Top Up History&nbsp;<\/li>\n\n\n\n<li>Manage Project Limit&nbsp;<\/li>\n\n\n\n<li>Allocation History&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>Top UP<\/strong>&nbsp;<\/p>\n\n\n\n<p>The Top Up window provides options for managing the wallet balance. Users can either:&nbsp;<\/p>\n\n\n\n<ul>\n<li>Choose to add funds manually with a one-time top-up.&nbsp;<\/li>\n\n\n\n<li>Set an automated system to top up the wallet when the balance falls below a specific threshold.&nbsp;&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"860\" height=\"456\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-30-Manage-Fund-Top-Up.png\" alt=\"\" class=\"wp-image-2655\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-30-Manage-Fund-Top-Up.png 860w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-30-Manage-Fund-Top-Up-300x159.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-30-Manage-Fund-Top-Up-768x407.png 768w\" sizes=\"(max-width: 860px) 100vw, 860px\" \/><\/figure><\/div>\n\n\n<p>Additionally, there&#8217;s an option to apply a coupon, possibly for discounts or promotions, during the top-up process. The current balance of the wallet is also displayed for the user&#8217;s reference.&nbsp;<\/p>\n\n\n\n<p><strong>Top Up History<\/strong>&nbsp;<\/p>\n\n\n\n<p>The Top Up History window allows users to review and track their wallet&#8217;s transaction history over a specified date range. It also provides a list of top-up amounts made to the wallet, organized by date. The user can adjust the date range to view transactions from different periods.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"858\" height=\"435\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-31-Top-Up-History.png\" alt=\"\" class=\"wp-image-2656\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-31-Top-Up-History.png 858w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-31-Top-Up-History-300x152.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-31-Top-Up-History-768x389.png 768w\" sizes=\"(max-width: 858px) 100vw, 858px\" \/><\/figure><\/div>\n\n\n<p><strong>Manage Project Limit<\/strong>&nbsp;<\/p>\n\n\n\n<p>The Manage Project Limit window provides tools for users to manage and adjust financial limits associated with a specific project. It allows users to allocate or release funds to\/from the project from their main EnableX Wallet. All the financial values are presented in USD.&nbsp;&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"872\" height=\"413\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-32-Manage-Project-Limit.png\" alt=\"\" class=\"wp-image-2657\" style=\"width:840px;height:397px\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-32-Manage-Project-Limit.png 872w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-32-Manage-Project-Limit-300x142.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-32-Manage-Project-Limit-768x364.png 768w\" sizes=\"(max-width: 872px) 100vw, 872px\" \/><\/figure><\/div>\n\n\n<p>The interface offers:&nbsp;<\/p>\n\n\n\n<ul>\n<li>Options to either add funds to the project&#8217;s limit or release them back to the main wallet.&nbsp;<\/li>\n\n\n\n<li>A mechanism for one-time adjustments.&nbsp;<\/li>\n\n\n\n<li>Fields to specify the amount of funds to be adjusted.&nbsp;<\/li>\n\n\n\n<li>Display of the project&#8217;s name and its current financial limit.&nbsp;<\/li>\n\n\n\n<li>A view of the overall balance available in the EnableX Wallet.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>Allocation History<\/strong>&nbsp;<\/p>\n\n\n\n<p>The Allocation History window provides an overview of the project limit allocation history, allowing users to track and manage the funds allocated to different projects within a specified date range.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"860\" height=\"334\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-33-Project-Allocation-History.png\" alt=\"\" class=\"wp-image-2658\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-33-Project-Allocation-History.png 860w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-33-Project-Allocation-History-300x117.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-33-Project-Allocation-History-768x298.png 768w\" sizes=\"(max-width: 860px) 100vw, 860px\" \/><\/figure><\/div>\n\n\n<p><strong>Note:<\/strong> Options are available to load the wallet using an Auto Mechanism or when the balance falls below the minimum threshold.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"dam\"><strong>11.2.3. SUSPEND Option&nbsp;<\/strong><\/h2>\n\n\n\n<p>This option suspends an account temporarily. Suspending a project stops all ongoing sessions.&nbsp;<\/p>\n\n\n\n<ul>\n<li>Click on SUSPEND.&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"475\" height=\"236\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-34-Project-Suspension.png\" alt=\"\" class=\"wp-image-2659\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-34-Project-Suspension.png 475w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-34-Project-Suspension-300x149.png 300w\" sizes=\"(max-width: 475px) 100vw, 475px\" \/><\/figure><\/div>\n\n\n<ul>\n<li>A pop-up appears for confirmation, and the account is suspended.&nbsp;&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"474\" height=\"195\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-35-Project-Suspension-Confirmation.png\" alt=\"\" class=\"wp-image-2660\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-35-Project-Suspension-Confirmation.png 474w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-35-Project-Suspension-Confirmation-300x123.png 300w\" sizes=\"(max-width: 474px) 100vw, 474px\" \/><\/figure><\/div>\n\n\n<ul>\n<li>For suspended accounts, the <strong>SUSPAND <\/strong>tab will change to <strong>ACTIVATE<\/strong> reactivation.&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"887\" height=\"242\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-36-Activate-Suspended-Project-1.png\" alt=\"\" class=\"wp-image-2661\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-36-Activate-Suspended-Project-1.png 887w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-36-Activate-Suspended-Project-1-300x82.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-36-Activate-Suspended-Project-1-768x210.png 768w\" sizes=\"(max-width: 887px) 100vw, 887px\" \/><\/figure><\/div>\n\n\n<ul>\n<li>To activate the suspended project, click on <strong>ACTIVATE<\/strong> tab.&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"472\" height=\"242\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-37-Activate-Suspended-Project-2.png\" alt=\"\" class=\"wp-image-2662\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-37-Activate-Suspended-Project-2.png 472w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-37-Activate-Suspended-Project-2-300x154.png 300w\" sizes=\"(max-width: 472px) 100vw, 472px\" \/><\/figure><\/div>\n\n\n<ul>\n<li>A pop-up appears for confirmation, and the account is activated.&nbsp;&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"476\" height=\"197\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-38-Activate-Suspended-Project-Confirmation.png\" alt=\"\" class=\"wp-image-2663\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-38-Activate-Suspended-Project-Confirmation.png 476w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-38-Activate-Suspended-Project-Confirmation-300x124.png 300w\" sizes=\"(max-width: 476px) 100vw, 476px\" \/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\">12. <strong>User Management<\/strong>&nbsp;<\/h2>\n\n\n\n<p>User management encompasses the systematic administration of user accounts, ensuring proper access rights within the software environment. This entails the construction, modification, and removal of user profiles, coupled with the precise delegation of permissions to various system components.&nbsp;<\/p>\n\n\n\n<p>Accessing this section requires:&nbsp;<\/p>\n\n\n\n<ul>\n<li>From the main login interface, select the <strong>user icon<\/strong> located at the upper right corner.&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"974\" height=\"170\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-39-User-Management.png\" alt=\"\" class=\"wp-image-2664\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-39-User-Management.png 974w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-39-User-Management-300x52.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-39-User-Management-768x134.png 768w\" sizes=\"(max-width: 974px) 100vw, 974px\" \/><\/figure><\/div>\n\n\n<p>The key functionalities provided within this section include:&nbsp;<\/p>\n\n\n\n<p><strong>My Profile<\/strong>&nbsp;<\/p>\n\n\n\n<p>This section presents comprehensive details related to the primary account with capabilities to modify them, ensuring the most up-to-date information is maintained. Key attributes within the profile:&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"864\" height=\"518\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-40-User-Management-My-Profile-1.png\" alt=\"\" class=\"wp-image-2665\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-40-User-Management-My-Profile-1.png 864w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-40-User-Management-My-Profile-1-300x180.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-40-User-Management-My-Profile-1-768x460.png 768w\" sizes=\"(max-width: 864px) 100vw, 864px\" \/><\/figure><\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"839\" height=\"560\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-41-User-Management-My-Profile-2.png\" alt=\"\" class=\"wp-image-2666\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-41-User-Management-My-Profile-2.png 839w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-41-User-Management-My-Profile-2-300x200.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-41-User-Management-My-Profile-2-768x513.png 768w\" sizes=\"(max-width: 839px) 100vw, 839px\" \/><\/figure><\/div>\n\n\n<p><strong>Change Password<\/strong>&nbsp;<\/p>\n\n\n\n<p>This function facilitates a security measure where users can modify their existing password. The procedure:&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"864\" height=\"368\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-42-User-Management-Change-Password.png\" alt=\"\" class=\"wp-image-2667\" style=\"width:840px;height:357px\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-42-User-Management-Change-Password.png 864w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-42-User-Management-Change-Password-300x128.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-42-User-Management-Change-Password-768x327.png 768w\" sizes=\"(max-width: 864px) 100vw, 864px\" \/><\/figure><\/div>\n\n\n<p><strong>User Management<\/strong>&nbsp;<\/p>\n\n\n\n<p>For maintaining robust system security, data protection, and adherence to regulations, proficient user management is indispensable. It provides a mechanism to supervise user access, deter unauthorized activities, and optimize administrative tasks.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"867\" height=\"344\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-43-User-Management-Users-Summary.png\" alt=\"\" class=\"wp-image-2668\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-43-User-Management-Users-Summary.png 867w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-43-User-Management-Users-Summary-300x119.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-43-User-Management-Users-Summary-768x305.png 768w\" sizes=\"(max-width: 867px) 100vw, 867px\" \/><\/figure><\/div>\n\n\n<p>User Management serves to:&nbsp;<\/p>\n\n\n\n<ul>\n<li>Assign access based on specific roles and permissions.&nbsp;<\/li>\n\n\n\n<li>View a list of all created accounts with functionalities to either activate or suspend them.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>Add New User<\/strong>&nbsp;<\/p>\n\n\n\n<p>This function allows for the creation of a new user profile and the assignment of corresponding permissions.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"873\" height=\"449\" src=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-44-User-Management-Add-New-Users.png\" alt=\"\" class=\"wp-image-2669\" srcset=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-44-User-Management-Add-New-Users.png 873w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-44-User-Management-Add-New-Users-300x154.png 300w, https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Figure-44-User-Management-Add-New-Users-768x395.png 768w\" sizes=\"(max-width: 873px) 100vw, 873px\" \/><\/figure><\/div>\n\n\n<p><strong>User Type<\/strong>&nbsp;<\/p>\n\n\n\n<p>Administrators can determine the access level of a user based on their role:&nbsp;<\/p>\n\n\n\n<p><strong>Developer:<\/strong> For users involved in API-related development for video conferencing.&nbsp;<\/p>\n\n\n\n<p><strong>Billing:<\/strong> Designed for users overseeing billing and financial procedures.&nbsp;<\/p>\n\n\n\n<p><strong>Project Report:<\/strong> Grants users\u2019 access to one or multiple accounts, specifically for reporting. An essential feature for an Admin Portal managing several clients. Selecting this option activates the <strong>Projects<\/strong> field, presenting a list of all projects for selection.&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For various industries and use cases, WebRTC video conferencing can help build an instant connection between organisations and customers. With endless applications and rich features, WebRTC video calling can be easily integrated into any website or app. In this blog, we will share a complete end to end implementation guide for WebRTC video calling into &#8230;<\/p>\n","protected":false},"author":25,"featured_media":2671,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":true,"footnotes":""},"categories":[23,133,93,110],"tags":[226,34,225,138,141,50,47,224],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to build a WebRTC video calling Service: 2023 Updated Guide<\/title>\n<meta name=\"description\" content=\"By using EnableX&#039;s free trial, you can quickly add video conferencing to any app or websites in minutes. View a step by step tutorial here!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/enablex23.vcloudx.com\/insights\/adding-webrtc-video-calling-to-your-app-a-complete-guide-2023-updated\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to build a WebRTC video calling Service: 2023 Updated Guide\" \/>\n<meta property=\"og:description\" content=\"By using EnableX&#039;s free trial, you can quickly add video conferencing to any app or websites in minutes. View a step by step tutorial here!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/enablex23.vcloudx.com\/insights\/adding-webrtc-video-calling-to-your-app-a-complete-guide-2023-updated\/\" \/>\n<meta property=\"og:site_name\" content=\"Insights about video API, SMS API; WhatsApp for Business API\" \/>\n<meta property=\"article:published_time\" content=\"2023-09-19T04:12:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-24T08:56:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Building-Video-Conferencing-application-with-EnableX-API-User-Guide-Feature-img.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1140\" \/>\n\t<meta property=\"og:image:height\" content=\"401\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jason Wills\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@enablexio\" \/>\n<meta name=\"twitter:site\" content=\"@enablexio\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jason Wills\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"36 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to build a WebRTC video calling Service: 2023 Updated Guide","description":"By using EnableX's free trial, you can quickly add video conferencing to any app or websites in minutes. View a step by step tutorial here!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/enablex23.vcloudx.com\/insights\/adding-webrtc-video-calling-to-your-app-a-complete-guide-2023-updated\/","og_locale":"en_US","og_type":"article","og_title":"How to build a WebRTC video calling Service: 2023 Updated Guide","og_description":"By using EnableX's free trial, you can quickly add video conferencing to any app or websites in minutes. View a step by step tutorial here!","og_url":"https:\/\/enablex23.vcloudx.com\/insights\/adding-webrtc-video-calling-to-your-app-a-complete-guide-2023-updated\/","og_site_name":"Insights about video API, SMS API; WhatsApp for Business API","article_published_time":"2023-09-19T04:12:46+00:00","article_modified_time":"2025-07-24T08:56:15+00:00","og_image":[{"width":1140,"height":401,"url":"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2023\/09\/Building-Video-Conferencing-application-with-EnableX-API-User-Guide-Feature-img.png","type":"image\/png"}],"author":"Jason Wills","twitter_card":"summary_large_image","twitter_creator":"@enablexio","twitter_site":"@enablexio","twitter_misc":{"Written by":"Jason Wills","Est. reading time":"36 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/enablex23.vcloudx.com\/insights\/adding-webrtc-video-calling-to-your-app-a-complete-guide-2023-updated\/#article","isPartOf":{"@id":"https:\/\/enablex23.vcloudx.com\/insights\/adding-webrtc-video-calling-to-your-app-a-complete-guide-2023-updated\/"},"author":{"name":"Jason Wills","@id":"https:\/\/enablex23.vcloudx.com\/insights\/#\/schema\/person\/422d2b153c3c96827da141c6446d11a3"},"headline":"Adding WebRTC Video calling to your app: A Complete guide (2023 Updated)","datePublished":"2023-09-19T04:12:46+00:00","dateModified":"2025-07-24T08:56:15+00:00","mainEntityOfPage":{"@id":"https:\/\/enablex23.vcloudx.com\/insights\/adding-webrtc-video-calling-to-your-app-a-complete-guide-2023-updated\/"},"wordCount":6894,"publisher":{"@id":"https:\/\/enablex23.vcloudx.com\/insights\/#organization"},"keywords":["building video conferencing app","CPaaS","how to build webrtc video call","video api","video call api","video chat api","webrtc","webrtc video calling"],"articleSection":["TechTalks","Tips &amp; How-To","Video API","WebRTC"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/enablex23.vcloudx.com\/insights\/adding-webrtc-video-calling-to-your-app-a-complete-guide-2023-updated\/","url":"https:\/\/enablex23.vcloudx.com\/insights\/adding-webrtc-video-calling-to-your-app-a-complete-guide-2023-updated\/","name":"How to build a WebRTC video calling Service: 2023 Updated Guide","isPartOf":{"@id":"https:\/\/enablex23.vcloudx.com\/insights\/#website"},"datePublished":"2023-09-19T04:12:46+00:00","dateModified":"2025-07-24T08:56:15+00:00","description":"By using EnableX's free trial, you can quickly add video conferencing to any app or websites in minutes. View a step by step tutorial here!","breadcrumb":{"@id":"https:\/\/enablex23.vcloudx.com\/insights\/adding-webrtc-video-calling-to-your-app-a-complete-guide-2023-updated\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/enablex23.vcloudx.com\/insights\/adding-webrtc-video-calling-to-your-app-a-complete-guide-2023-updated\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/enablex23.vcloudx.com\/insights\/adding-webrtc-video-calling-to-your-app-a-complete-guide-2023-updated\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/enablex23.vcloudx.com\/insights\/"},{"@type":"ListItem","position":2,"name":"Adding WebRTC Video calling to your app: A Complete guide (2023 Updated)"}]},{"@type":"WebSite","@id":"https:\/\/enablex23.vcloudx.com\/insights\/#website","url":"https:\/\/enablex23.vcloudx.com\/insights\/","name":"Enablex","description":"","publisher":{"@id":"https:\/\/enablex23.vcloudx.com\/insights\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/enablex23.vcloudx.com\/insights\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/enablex23.vcloudx.com\/insights\/#organization","name":"Enablex","url":"https:\/\/enablex23.vcloudx.com\/insights\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/enablex23.vcloudx.com\/insights\/#\/schema\/logo\/image\/","url":"https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/05\/EnableX-Logo-01.png","contentUrl":"https:\/\/www.enablex.io\/insights\/wp-content\/uploads\/2023\/05\/EnableX-Logo-01.png","width":17382,"height":3567,"caption":"Enablex"},"image":{"@id":"https:\/\/enablex23.vcloudx.com\/insights\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/twitter.com\/enablexio","https:\/\/www.linkedin.com\/company\/vcloudx"]},{"@type":"Person","@id":"https:\/\/enablex23.vcloudx.com\/insights\/#\/schema\/person\/422d2b153c3c96827da141c6446d11a3","name":"Jason Wills","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/enablex23.vcloudx.com\/insights\/#\/schema\/person\/image\/","url":"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2025\/05\/envato-labs-ai-f14f6981-d7f8-4c3e-9234-00323c7d5ca0-96x96.jpg","contentUrl":"https:\/\/enablex23.vcloudx.com\/insights\/wp-content\/uploads\/2025\/05\/envato-labs-ai-f14f6981-d7f8-4c3e-9234-00323c7d5ca0-96x96.jpg","caption":"Jason Wills"},"description":"Jason works behind the scenes at EnableX, helping to turn complex tech into practical tools that developers and businesses can actually use. With several years of experience in product development and platform architecture, he focuses on making communication technologies simpler, smarter and easier to build with. Whether he's writing step-by-step guides, product tips or explaining how our APIs work, Jason keeps things clear and useful.","sameAs":["https:\/\/www.enablex.io\/","https:\/\/www.linkedin.com\/company\/vcloudx\/"],"url":"https:\/\/enablex23.vcloudx.com\/insights\/author\/jason-wills\/"}]}},"_links":{"self":[{"href":"https:\/\/enablex23.vcloudx.com\/insights\/wp-json\/wp\/v2\/posts\/2585"}],"collection":[{"href":"https:\/\/enablex23.vcloudx.com\/insights\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/enablex23.vcloudx.com\/insights\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/enablex23.vcloudx.com\/insights\/wp-json\/wp\/v2\/users\/25"}],"replies":[{"embeddable":true,"href":"https:\/\/enablex23.vcloudx.com\/insights\/wp-json\/wp\/v2\/comments?post=2585"}],"version-history":[{"count":0,"href":"https:\/\/enablex23.vcloudx.com\/insights\/wp-json\/wp\/v2\/posts\/2585\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/enablex23.vcloudx.com\/insights\/wp-json\/wp\/v2\/media\/2671"}],"wp:attachment":[{"href":"https:\/\/enablex23.vcloudx.com\/insights\/wp-json\/wp\/v2\/media?parent=2585"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/enablex23.vcloudx.com\/insights\/wp-json\/wp\/v2\/categories?post=2585"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/enablex23.vcloudx.com\/insights\/wp-json\/wp\/v2\/tags?post=2585"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}