Status
IN PROGRESS
Stakeholders
Outcome
Due date
Owner


Background

Instead of depending on a third-party provider, we will try to incorporate an open-source solution.
This Confluence page outlines the key factors to consider when evaluating OpenVidu and Jitsi for the integration of a video conferencing platform.
Both solutions have their strengths and considerations, and this guide aims to help you make an informed decision.

High-level Requirements

  • The HCP will generate a unique link for the beneficiary
  • The link will be sent to the beneficiary via SMS.
  • Beneficiary can then join the meeting link via the browser.

Evaluation Criteria

1. Scalability and Performance

Both OpenVidu and Jitsi scale well for multiple parallel sessions.

OpenVidu
  • Docker-based architecture for scalability.
  • Efficient handling of large-scale conferences.
  • Dynamic allocation of resources based on demand.
Jitsi
  • Designed for scalability with the ability to handle a significant number of participants.
  • Optimized for WebRTC-based communication.

2. Ease of Integration

OpenVidu
  • Comprehensive API for easy integration into custom applications.
  • Supports multiple programming languages.
  • OpenVidu has a RestAPI that can programmatically generate sessions and tokens.
Jitsi
  • Simple integration via iFrame or API.

3. Security and Privacy


By default, WebRTC works only on https. For the video transmission to happen, SSL certification is a must.

OpenVidu
  • End-to-end encryption.
  • Role-based access control.
  • Token-based authentication.
Jitsi
  • Secure by default with TLS encryption.
  • Support for password-protected meetings.
  • Open-source and auditable for transparency.

4. User Interface and User Experience

OpenVidu
  • Minimalistic UI for ease of use.
  • Customizable UI components for integration with existing platforms.
Jitsi
  • Intuitive and user-friendly interface.
  • Support for additional features such as chat and screen sharing.

5. Customization and Extensibility

OpenVidu
  • Extensible architecture for adding custom modules.
  • Customizable UI components.
Jitsi
  • Open-source codebase allows for extensive customization.
  • Ability to add plugins and extensions.
  • Provides additional SDKs for mobile. This might be helpful in integration to CHO/FLW App later.

6. Community and Support

Both OpenVidu and Jitsi are open-sourced. It looks like Jitsi has a more active community.

7. Cost Considerations

Both solutions are

  • Open-source
  • No licensing fees.

8. Documentation and Resources

Available for both platforms.

Notes on Setup

Jitsi

  1. Followed self-hosting guide and was able to setup Docker env locally on laptop.
  2. Routing it via ngrok with https allowed starting meeting with audio and video.
  3. On accessing the URl via browser other participants can join.
  4. Challenges
    1. The first person who joins a link becomes the moderator. We should ensure that the HCP who initiates the meeting is the moderator.
    2. VIDEO_URL/<any-meeting-link> works for setting up a meeting. We will have to ensure that meeting links are generated and stored and only valid links are accessible.
      Else anyone can use our video conferencing server to create meeting sessions.
    3. A lot of Jitsi branding everywhere. This must be tweaked or removed to include Piramal logos and branding.
      This can be changed by editing the JS assets.
      // Example: Change the logo
      DEFAULT_LOGO_URL: 'images/my-custom-logo.png',

      // Example: Change the watermark
      DEFAULT_WATERMARK_LINK: 'images/my-custom-watermark.png',

      // Example: Change the colors
      TOOLBAR_BUTTON_BACKGROUND: '#007ACC',
      TOOLBAR_BUTTON_HOVER_BACKGROUND: '#005eaa',
    4. Jitsi Meet doesn't natively support user authentication or token-based access control by default. Jitsi will have to be integrated with an external authentication system.

Action items

  •