Jitsi Meet Handbook

Jitsi Meet Handbook

  • Docs
  • Help

›Self-Hosting Guide

Getting Started

  • Introduction
  • Architecture
  • Security
  • FAQ

Community

  • Our community
  • Community-run instances
  • Breakout rooms
  • Third-party Software

User Guide

  • Overview
  • Supported browsers
  • Join a Jitsi Meeting
  • Start a Jitsi Meeting
  • Share a Jitsi Meeting
  • Use Jitsi Meet on Mobile
  • Jitsi Meet for Google Calendar
  • Keyboard shortcuts
  • Basic options
  • Advanced options

Developer Guide

  • Overview
  • Contributing Guidelines
  • Web

    • Start
    • Modifying lib-jitsi-meet
    • Integrations
    • IFrame API
    • lib-jitsi-meet API (low level)

    Mobile

    • Start
    • Feature flags
    • Android SDK
    • iOS SDK

Self-Hosting Guide

  • Overview
  • Deployment

    • Debian/Ubuntu server
    • openSUSE
    • Docker
    • Manual installation

    Configuration

    • Authentication (Secure Domain)
    • Scalable setup
    • TURN setup
    • Speaker Stats
    • Video SIP gateway
    • Cloud API
  • Video Tutorials
  • FAQ
Edit

FAQ

How to migrate away from multiplexing and enable bridge websockets

For a while, we were using nginx multiplexing to serve jitsi-meet content on https(port 443) and use the same port for running a turn server. This proved to be problematic(you cannot use websockets with this setup) and we moved away from it. Here is how to remove multiplexing and enable websockets in favor of WebRTC Data Channels.

  1. Dropping multiplexing in nginx
  • delete /etc/nginx/modules-enabled/60-jitsi-meet.conf
  • Then go to /etc/nginx/site-available/your-conf and change your virtual host to listen on 443 instead of 4444.
  1. Edit turnserver config
  • make sure your turnserver is listening on standard port tls port 5349. Make sure in /etc/turnserver.conf you have the following: tls-listening-port=5349
  • In /etc/prosody/conf.avail/your-conf.cfg.lua prosody is instructed to announce turns turn server on port 5349 by having this line: { type = "turns", host = "your-domain", port = "5349", transport = "tcp" }. Make sure you replace your-domain with the DNS of your deployment.
  1. Add the bridge websocket location in your nginx config (add it after the location = /xmpp-websocket section):
  # colibri (JVB) websockets for jvb1
  location ~ ^/colibri-ws/default-id/(.*) {
     proxy_pass http://127.0.0.1:9090/colibri-ws/default-id/$1$is_args$args;
     proxy_http_version 1.1;
     proxy_set_header Upgrade $http_upgrade;
     proxy_set_header Connection "upgrade";
     tcp_nodelay on;
  }
  1. Enable bridge channel websocket in jitsi-meet config. In /etc/jitsi/meet/your-conf-config.js make sure you have: openBridgeChannel: 'websocket',
  2. Enable the websockets in Jitsi Videobridge. Make sure in /etc/jitsi/videobridge/jvb.conf you have:
videobridge {
  http-servers {
      public {
          port = 9090
      }
  }
  websockets {
      enabled = true
      domain = "your-domain:443"
      tls = true
  }
}

Make sure you replace your-domain with the DNS of your deployment.

  1. After restarting the bridge (systemctl restart jitsi-videobridge2) and nginx (systemctl restart nginx) you are good to go!
Last updated on 4/7/2021
← Video Tutorials
  • How to migrate away from multiplexing and enable bridge websockets
Jitsi Meet Handbook
Docs
IntroductionUser GuideDeveloper GuideSelf-Hosting Guide
Community
Project Forum
More
Jitsi Meet on GitHubStarHandbook on GitHub
Follow @jitsinews
Copyright © 2021