Why does Jitsi end after 5 minutes?

Short answer

If Jitsi works inside another website and closes after about five minutes, first check which server the integration uses. The reviewed client has a five-minute cutoff when embedding is disabled by that deployment. Jitsi no longer offers meet.jit.si as a production embedding service. This differs from the public site's 95-minute meeting limit and from a private server's own timer. [S1][S2][S3][S4]

Start with the message, not just the stopwatch

A call that stops after five minutes is a symptom, not a diagnosis. Check the full meeting server address, whether the call is embedded in another product, and any warning shown before it closes. The reviewed Jitsi Meet source includes two different mechanisms that can produce a five-minute boundary: a conditional embedding cutoff and an optional server-side room timer. [S2][S4]

What you observe What to investigate
A meeting inside a website warns about unsupported embedding, then closes or redirects near five minutes The integration’s server and its embedding policy. [S1][S2]
A direct meet.jit.si meeting ends at the announced public-service limit The separate 95-minute policy. [S3]
A private server shows a meeting countdown and ends the room for everyone Its enabled time-restriction module and configured duration. [S4]
A login-expiry warning appears during the call Renewing the authentication session, rather than changing the room timer.
Audio/video fails, with no matching policy warning Follow disconnect diagnostics and identify the actual failing path.

When meet.jit.si is embedded in another website

Jitsi’s official embedding page says meet.jit.si is no longer the service for this use and points integrators to JaaS. An older tutorial that embeds the free public endpoint is not a commitment that the resulting integration is supported for production. [S1]

The pinned Jitsi Meet 11248 client defines IFRAME_DISABLED_TIMEOUT_MINUTES = 5. Its embedding check considers deployment configuration, the client context and exceptions. When that check applies, the web client warns and later redirects to a closing page; the native-client branch hangs up. This is not a timer applied to every Jitsi meeting. [S2]

Recommended next steps for an organizer:

  1. Ask the website or learning-platform operator which Jitsi server it uses. The application’s address can differ from the embedded meeting’s address. The IFrame API selects its meeting server through the domain argument. [S5]
  2. Record the warning and approximate elapsed time, without sharing private invitation URLs or tokens.
  3. For an immediate session, use an organizer-approved direct meeting link, if available. Opening meet.jit.si directly still leaves its public 95-minute policy in place. [S3]
  4. Ask the integrator to choose a supported production endpoint. Signing in does not itself change the endpoint’s embedding policy. [S1][S2]

For integration owners: change the endpoint deliberately

Two paths are operating a Jitsi server whose policy you control, or using JaaS. The IFrame API documentation explains how the meeting domain and API script are selected; use the corresponding provider’s authentication instructions. Our embedding guide covers the self-hosted setup. [S1][S5]

Recommended migration checklist:

  • Inventory the meeting server in the plugin or application, not just the address of the outer page.
  • Update the meeting domain and the matching API script source. Check hard-coded defaults and fallback URLs too. [S5]
  • Preserve the intended host/guest access policy. A different server can require different authentication. Follow the JWT guide where applicable.
  • Validate HTTPS, framing permissions, login and a complete meeting. A loaded iframe is not proof that the full integration works. See integration diagnostics.
  • Test beyond the former cutoff, then verify joining, leaving and bidirectional audio/video with independent participants.

Changing a client display option is not a supported way to override another operator’s service policy. [S1][S2]

If it happens on your own server

The optional mod_time_restricted Prosody module in the pinned 11248 source defaults conference_max_minutes to 5 when enabled without an explicit value. Its conference_grace_seconds default is 0. Inspect whether the module is enabled on the main conference component before assuming an embedding restriction. [S4]

For Docker, review the active release, your normal Compose environment and the generated Prosody configuration. For Debian/Ubuntu packages, inspect the installed conference-component configuration. The administrator section of our time-limit guide explains the relevant settings. Preserve existing modules and access policy; apply any intended change through your normal maintenance process. [S4]

Also check whether your own client deployment disables embedding. The same reviewed client mechanism can apply to a privately hosted deployment; a custom domain does not automatically prove embedding is enabled. [S2]

Verify the result

Use a disposable test meeting and record the exact server, client version, embedding context, warning and elapsed time. Confirm which fix you changed: embedding endpoint, room-duration policy or authentication. Then run past the original failure point and verify audio/video in both directions. Keep invitation links and raw diagnostic logs private.

If the call still drops without a policy warning, continue with connection diagnostics instead of repeatedly increasing a timer.

Open questions and maintenance

Reviewed 24 October 2026 against Jitsi Meet 11248 source commit f765042. These are source-reviewed diagnostic steps, not a reproduced five-minute production call. A request from our research client to meet.jit.si/config.js returned HTTP 403, so we did not verify its current configuration value. That request result does not establish what normal participant browsers receive.

Recheck the official service policy and installed client code when either changes. Native apps, custom SDKs and provider-specific deployments need their own version check; the source condition is not proof that every client hits it. [S1][S2]

Sources

Written by the Jitsi Help engineering team

Jitsi infrastructure engineers who deploy and run Jitsi Meet servers in production. Last updated . How we write our guides

Stuck on something this page does not cover? Ask a question below. Jitsi Help engineers read every one.

Did this fix it?

Something on this page is outdated or wrong?

Collect debug info

These commands gather what an engineer needs to diagnose a Jitsi server. Copy them, run them, and keep the output.

Terminal
# Run on the server, from your docker-jitsi-meet folder

# 1. Every service should be "running" (or "healthy")
docker compose ps

# 2. Which images and release tags are running
docker compose images

# 3. Recent logs from the core services
docker compose logs --tail=200 web prosody jicofo jvb

# 4. The settings most fixes depend on
grep -E '^(PUBLIC_URL|JVB_ADVERTISE_IPS|ENABLE_LETSENCRYPT|ENABLE_AUTH|AUTH_TYPE)=' .env

# 5. Is anything listening for media on UDP 10000?
sudo ss -ulnp | grep 10000

Installed with the Debian packages instead of Docker? Read the service logs with:

Terminal
sudo journalctl -u prosody -u jicofo -u jitsi-videobridge2 --since "1 hour ago"

Remove passwords, secrets and tokens before you share any output.

Send the output to an engineer

Frequently asked questions

Does every Jitsi meeting have a five-minute limit?

No. The reviewed five-minute embedding check is conditional on the deployment's configuration and how the client is opened. Private servers can also enable their own meeting timer. Direct meetings on meet.jit.si have a separate announced 95-minute policy.

Why does Jitsi close inside my website but work in another tab?

An embedding restriction is one possibility. Compare the same server, exact warning and time to failure. A working top-level meeting does not prove an embedded production integration is supported; framing permissions and authentication can also differ.

Will signing in remove the meet.jit.si embedding restriction?

Signing in and permission to embed are separate. Jitsi's current embedding page directs production integrations to JaaS. You can also operate your own Jitsi server and configure its access and embedding policy.

Should I change UDP port 10000 for a five-minute timeout?

A fixed timeout or explicit policy warning is not evidence of a blocked media port. Identify the message and meeting server first. If media fails independently, diagnose its selected bridge or relay path separately.

How do I use Jitsi in a production integration?

Choose an authorized Jitsi endpoint, such as your own configured server or JaaS. Update the integration's server and API script together, configure its authentication and framing requirements, and test a complete call beyond the old failure point.

Discussion

    Stuck, or would rather not do this by hand?

    Deploy it in one click

    A private Jitsi server in your own AWS account with SSL, your domain and optional recording, transcription and JWT. Free 15 minute trial.

    Start free trial

    Talk to a Jitsi engineer

    Setup, fixes, branding, recording, scaling. Tell us what is happening and we reply with a plan and a quote.

    Get expert help

    Related

    Recently updated