Jitsi Meet: integration of video conferencing with JWT authentication

When video conferencing becomes part of a product, guest links and scattered settings no longer sustain the load and order in access. We design and implement Jitsi Meet turnkey: deployment, token-based permission checks, access policies, and support. The customer gets predictable communication quality and a controlled access perimeter.

Development and maintenance of all types of websites:

Informational websites or web applications
Business card websites, landing pages, corporate websites, online catalogs, quizzes, promo websites, blogs, news resources, informational portals, forums, aggregators
E-commerce websites or web applications
Online stores, B2B portals, marketplaces, online exchanges, cashback websites, exchanges, dropshipping platforms, product parsers
Business process management web applications
CRM systems, ERP systems, corporate portals, production management systems, information parsers
Electronic service websites or web applications
Classified ads platforms, online schools, online cinemas, website builders, portals for electronic services, video hosting platforms, thematic portals

These are just some of the technical types of websites we work with, and each of them can have its own specific features and functionality, as well as be customized to meet the specific needs and goals of the client.

Frequently Asked Questions

Why Jitsi Meet Breaks Under Growing Load

While there are five to seven people in a room, Jitsi Meet behaves predictably: media streams go through the relay server, and latency stays within comfortable limits.

The first failures appear at 30–40 simultaneous connections — audio and video diverge by seconds, the picture freezes for some participants, and then the connection drops for half the room at once.

It is important that the channel is almost never to blame here.

Bandwidth measurements on the participants' side show headroom, and conference failure under load is consistently reproduced in the test environment — meaning the bottleneck in video communication lies not in the access network but in the deployment scheme.

Then a chain of dependencies kicks in. A single node handles signaling, encrypts and relays every stream, and records — under load it hits CPU and network interface limits, and everything degrades at once rather than a single function.

Mass connection adds its own effect: a spike of login and permission-check requests lands on the same process as video traffic, so instead of a smooth drop in communication quality at peaks, the room loses participants in batches.

Hence the characteristic symptom — audio-video desynchronization: the audio stream is lighter and arrives, video layers are dropped, buffers diverge. This is not cured by a "thicker" channel but by separating roles across nodes, horizontal scaling, and per-room limits. We'll break down how this is addressed by configuration and deployment scheme.

What a Managed Video Conferencing Integration Delivers

A managed video conferencing integration starts with access: your service grants the right to enter with a signed token (JWT), not a moderator manually. A permanent link stops being a "pass forever" — it is valid for a limited time and only for the invitee.

Time to first frame is measured in seconds, and the scenario "the meeting didn't start because the organizer got stuck on another call" disappears as a class.

Resilience of video communication at peaks is provided not by a "powerful server" but by an architecture on the open Jitsi Meet platform deployed on your servers.

Multiple media nodes distribute rooms by load, and when the channel degrades, a participant loses picture clarity but stays in the conversation: switching to an audio profile happens without disconnecting. Node failure is survived with a short pause — a backup takes over the room.

Then meeting service availability stops being a matter of perception: we maintain metrics — share of successful connections, time to first frame, drops per hundred sessions, depth of degradation at peak.

According to industry measurements Web Video Communication Quality Statistics, a significant portion of failures is related not to the network but to access organization and lack of media server monitoring — managed integration removes these classes of failures.

Predictability during failures is ensured by alerts on growth of unsuccessful logins, media node liveness checks, and configuration in a repository: a change passes testing in the test environment and is rolled back with a single procedure.

The result — meetings start the same way with two participants and at peak load, and incidents are analyzed by metrics, not complaints.

Jitsi Meet Deployment Formats: Comparing Modes

The deployment mode determines who owns the meeting recording, how quickly an update is rolled out, and whose side bears peak load.

The same Jitsi Meet behaves differently when deployed on your own infrastructure, embedded into an existing application, or taken as an external service — moving between states is not just transferring configuration files.

Below are three alternatives that are actually chosen between at the start, and the limitations that appear not in a demo but in the second or third month of operation.

Option When it fits Limitations
Self-hosted deployment on your own infrastructure Need control over meeting data, your own retention policies, integration with an internal user directory Updates, peak capacity, and fault tolerance are on your side; you need an engineer to operate it
Embedded conferences within the product A meeting is part of the product scenario: single sign-on, shared permissions, unified interface Depends on application architecture: interface modifications, permission separation, careful handling of media streams
External cloud meeting service Need to launch quickly, without your own infrastructure, load is unpredictable Data outside the perimeter, limited control over version and settings, third-party availability timelines

In practice, modes are combined: internal meetings remain on your own infrastructure, external ones go to a leased service.

Then single sign-on and a predictable transition between environments become critical — otherwise the user gets two different logins and a different set of permissions.

Stages of Implementing Video Conferencing into a Product

Implementing Jitsi Meet into a product rarely comes down to installing a server: the main work is in the access scheme, media stream distribution, and making sure the conference does not fall apart under peak load.

Below are the implementation stages we go through from the first review to launch; each ends with an artifact by which the next step can be verified.

Sequence of Work

  1. Video communication audit. We analyze the current scheme: where accounts live, how permissions are issued, whether recording exists, which scenarios are needed — one-to-one call, group, webinar with moderation.
  2. Design. We determine the topology: your own nodes or dedicated provider nodes, how media traffic flows between regions, which components are redundant.
  3. Access setup. Signed tokens are issued by the product's backend; roles — moderator, speaker, viewer — are set on the product side and linked to the existing account system. The user does not need a second login.
  4. Load testing. We calculate how many simultaneous rooms and participants the configuration supports, measure latency and loss on a weak channel, and check behavior during node failure. We record the threshold for enabling backup.
  5. Product integration. We embed the call into existing screens and mobile clients, enable recording and notifications, and test connection loss, reconnection, and login from two devices.
  6. Handover of regulations. We provide support instructions, on-call scenarios, escalation criteria, and the procedure for access to recordings; we train the customer's team. Pilot on one group, then expansion.

Configurations, Schemes, and Access Regulations

Everything we deploy is handed over to you as a working package, not as a set of verbal settings. An engineer on your team should be able to bring up the environment from scratch, grant access to a new moderator, and understand the cause of a failure without calling us. Below is what exactly remains in the project.

  • Jitsi Meet configuration files with comments: why these recording parameters, room restrictions, and participant limits were chosen.

  • Deployment scheme: which nodes are responsible for what, where the failure points are, what scales separately from the rest.

  • Role and access policies: guest, participant, moderator, administrator — with a permission matrix and token binding.

  • Issuance and rotation of token signing keys: who owns them, how to revoke access for a specific user and an entire group.

  • Support documentation: where the logs are, which metrics to collect, which interface errors correspond to which cause.

  • On-call regulations: maintenance windows, escalation procedure, target incident response time.

  • Rollback procedures: configuration backups, a verification scenario after each change, safe return to the previous version.

The package is updated together with the system: changes in the scheme and policies go into the documents in the same release, not "sometime later." At acceptance, we run scenarios from the checklist — connection, recording, token failure, node crash — and record the result.

Case Study: Moving Conferencing to Self-Hosted Deployment

The customer is a distributed team across several offices, up to 400 simultaneous participants during peak hours: planning meetings, incident reviews, training.

Conferencing went through an external service on shared plans, and access to internal systems also depended on it: a provider outage stopped both meetings and work. We'll break down what the move to self-hosted deployment delivered.

What Was Changed

We deployed Jitsi Meet on own servers with a cascade of video bridges and JWT token login: the right to a conference is issued by the internal authorization service, and guest access is closed.

Tokens are short-lived and bound to the room and role — a moderator cannot end up in someone else's meeting, and the link stops working after exit. Media traffic does not leave our perimeter, and recording is stored locally.

Metrics Before and After

Metric Before migration After migration
Conferences without reconnection 82% 98.6%
Drops per 100 conferences 37 4
Room connection, 95th percentile 12 s 3 s
Communication downtime per quarter 6.5 h 0.4 h
Support requests about communication ~40 per month 5–7 per month

Measurements were taken from monitoring logs, authorization service exports, and the request queue — using the same definitions before and after.

The reduction in failures was delivered not by the platform change itself but by the combination: a cascade of bridges removes the single point of failure, and tokens cut off outside connections that previously degraded the picture in shared rooms.

How Does the Token Verification Approach Differ from Guest Links?

The difference is where the admission decision is made. A guest link protects with exactly one condition: only invitees know the room address.

As soon as the link goes to someone else's chat or is forwarded further, the restriction disappears — the room is open to anyone who receives it, and access cannot be revoked from a specific person without changing the address for everyone.

Access token verification moves this decision to the server: Jitsi Meet does not let anyone into the room without a signed token, and the token itself states which room, for what term, and in what role the participant is admitted.

The signature is verified server-side, so you cannot forge your role or extend the term — verification will reject a modified token.

Hence the access separation: a moderator logs in with rights to host the meeting, an invited employee as a regular participant, and external participants receive a token only for a specific room and time window.

The link remains short and the same — access is determined not by the address but by the issued token.

Revocation works the same way: a token's lifetime is finite, so access expires on its own, and upon dismissal or meeting cancellation it is enough to stop issuing new ones.

Guest links remain convenient for open broadcasts — there a token adds extra steps, whereas for internal and client meetings it provides participant accounting and managed roles.

Technical Questions Asked Before the Start

Technical doubts before the start are almost always the same: whether to rewrite the working application, what to do with already scheduled meetings, who handles updates and security after handover, and whether the server will withstand peak load. We address the four most common.

Will the current application have to be rewritten?

No. The video layer is installed as a separate module: screens, user login, and data remain as they are, and the meeting opens via a separate route or embedded window. The access token is issued on the side of your account system — the user does not need a second login.

Who is responsible for updates and security after handover?

While the project is with us, updates and vulnerability remediation are on our side.

After handover, it is your team or us under a support agreement: we update the conference server on Jitsi Meet and monitor moderator rights, recording settings, and access permissions after each release.

Will there be enough capacity for peak conferences?

We calculate load from the number of simultaneous rooms and participants, not from the total user list.

Large webinars are moved to a separate node, everyday meetings run on the main one — a severalfold increase in the number of meetings does not drop communication quality, and a node can be added without stopping the service.

What remains with us after project handover?

Deployment, configurations, network diagram, permission policy, and instructions for typical failures — in your repository and on your infrastructure. We add team training: how to bring a node back up, roll back an update, and what to check if a meeting does not start.

Let's Discuss the Task and Come Back with an Implementation Plan

The more specific the inputs, the more accurate the estimate and plan: without them, timelines have to be padded. Below is a checklist for discussion that covers most questions in the first meeting and saves one or two rounds of clarification.

  • Current scheme: where video is already embedded, how permissions are issued, what works, and what is bypassed manually.
  • Number of participants and peak loads: how many people at the same time, how often, and whether there are event-driven spikes.
  • Access scenarios: who is a moderator, who is a guest, and how external teams and contractors are verified.
  • Authentication: how access tokens in Jitsi Meet are issued, their lifetime, and their connection to accounts and roles.
  • Recording and storage: whether meetings need to be recorded, where to keep files, and how long to store them.
  • Platforms: browsers, mobile applications, corporate networks with restrictions.
  • Hosting: own server or leased, security requirements, and access policy.
  • Timelines: by what date a working environment is needed and what exactly you consider launch.

Describe the task in free form — we will come back with an estimate and work plan: stages, dependencies, risks, and checkpoints at each step. After approval, it makes sense to start work with a pilot environment on a limited group of users, and then expand to everyone.

Our competencies:

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1394
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1369
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1141
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1153
  • Website development for SBH Partners
    Website development for SBH Partners
    1232
  • Website development for Red Pear
    Website development for Red Pear
    642