View Categories

Jitsi Meet Integration Setup in MeetingHub

MeetingHub can connect Jitsi Meet in three ways: a bundled public domain, an 8×8 Jitsi as a Service account, or a Jitsi server that you manage. The correct choice depends on whether you need a quick public room, authenticated JaaS features, or control over your own deployment.

This guide covers the integration settings only. After the connection is saved, create and test a meeting before using the setup with attendees.

Requirements #

  • MeetingHub installed and activated on WordPress.
  • Administrator access to the MeetingHub settings.
  • A modern browser with camera and microphone permissions for testing.
  • For JaaS: an 8×8 JaaS account with an App ID, API Key, and matching RSA private key.
  • For a self-hosted connection: a working Jitsi Meet deployment with its external API available over HTTPS.

If you only need to try Jitsi, start with a public domain. Use JaaS or a self-hosted deployment when you need account-based authentication, deployment controls, or advanced services.

Open the Jitsi integration settings #

  1. Sign in to the WordPress dashboard as an administrator.
  2. Open MeetingHub and go to Settings.
  3. Select Jitsi.
  4. Open the API Settings tab.

The Select your hosted domain section contains three connection modes. Only the fields for the selected mode are used.

[Image needed: WordPress dashboard at MeetingHub > Settings > Jitsi > API Settings showing Select your hosted domain and the three domain choices. Blur any saved JaaS credentials and private domains.]

Option 1: Use a random public domain #

Select Random public domain for the fastest setup. This mode does not require account credentials.

  1. Select Random public domain.
  2. Use Select Domain to choose Domain One, Domain Two, Domain Three, or Domain Four.
  3. Leave the selector blank if MeetingHub should choose one of the bundled domains when it creates a meeting.
  4. Select Save Changes.

The supplied plugin maps the four labels to webconf.viviers-fibre.net, jitsi.riot.im, meet.evolix.org, and video.devloprog.org. These are third-party public services. Their availability, authentication policy, capacity, privacy terms, and supported features are outside MeetingHub’s control and can change. Test the selected service before every important event.

A blank selection does not mean that no domain will be used. The meeting form chooses a domain from the bundled list.

[Image needed: Jitsi API Settings with Random public domain selected and the Select Domain menu expanded to show Domain One through Domain Four plus the blank selection. No credentials are present in this view.]

Option 2: Connect 8×8 Jitsi as a Service #

JaaS is 8×8’s hosted Jitsi service. MeetingHub signs a JSON Web Token, commonly called a JWT, so the embedded room can use the JaaS application and its enabled features.

  1. Sign in to the 8×8 JaaS console and open the application you want MeetingHub to use.
  2. Create or select an API key for that application.
  3. Copy the application’s App ID.
  4. Copy the API Key, which is used as the JWT key identifier.
  5. Copy the complete matching RSA Private Key, including its BEGIN and END lines.
  6. In MeetingHub, select JaaS 8×8.
  7. Paste the values into App Id, Api Key, and Private Key.
  8. Select Save Changes.
  9. Reload the settings page, then create a test meeting and join it.

All three values are required for a usable JaaS token. MeetingHub trims the private key and validates it with OpenSSL before signing an RS256 token. The token uses the App ID as its subject, the API Key as its key identifier, and is generated for the JaaS domain 8x8.vc. If the private key does not match the API key or its line breaks are damaged, token generation returns an empty value and the room cannot authenticate correctly.

The token includes the current WordPress user’s name, email, avatar, ID, and moderator status when the user is signed in. A user who can edit posts is marked as a moderator. Logged-out visitors are represented without those profile details and are not marked as moderators.

MeetingHub also places recording, livestreaming, transcription, and outbound-calling permissions in the token according to the saved Jitsi settings. Those switches do not add services to the JaaS account. The account and plan must support each feature.

[Image needed: 8×8 JaaS console showing the application area where App ID, API Key, and private-key generation are managed. Blur the full App ID, API Key, private key, account name, and billing information.]

[Image needed: MeetingHub > Settings > Jitsi > API Settings with JaaS 8×8 selected and App Id, Api Key, and Private Key fields filled with blurred example values. The complete private key must be blurred.]

Protect the private key #

Treat the JaaS private key like a password. Do not place it in a page, shortcode, screenshot, support ticket, or browser-side script. Limit WordPress administrator access and rotate the JaaS key if it is exposed.

Option 3: Use your own Jitsi domain #

Select I will use my own domain when you operate a Jitsi Meet server or have another compatible deployment.

  1. Confirm that the Jitsi deployment works directly in a browser over HTTPS.
  2. Confirm that the deployment provides the Jitsi external API needed for embedding.
  3. In MeetingHub, select I will use my own domain.
  4. Enter the deployment hostname in Hosted Domain, such as meet.example.com.
  5. Do not add a meeting room path. Use the host that serves the Jitsi deployment.
  6. Select Save Changes.
  7. Create a test meeting and open it while signed in and signed out.

MeetingHub passes the saved value directly to the Jitsi external API as the domain. It does not provision the server, install Jitsi, configure TLS, create authentication users, or enable recording services. Complete those tasks on the Jitsi deployment first.

The settings screen may regard a non-empty custom domain as connected, but that check does not contact the server. A successful embedded meeting is the real verification.

[Image needed: MeetingHub > Settings > Jitsi > API Settings with I will use my own domain selected and Hosted Domain containing a fictional hostname such as meet.example.com. Blur any real private hostname.]

Save the shared Jitsi defaults #

The other Jitsi tabs store defaults used by new meetings. Review them after the connection mode is configured:

  • Configurations: embedded width and height, invitation controls, recording, simulcast, livestreaming, welcome page, transcription, outbound calling, sidebar visibility, registration, recurrence, timezone, page chrome, and vendor settings where available.
  • Video Settings: initial video state, resolution, full-resolution participant limit, and the threshold for starting video muted.
  • Audio Settings: initial mute, audio-only, silent start, and the participant threshold for starting audio muted.
  • Shortcodes: reference information for Jitsi display shortcodes.

Feature availability depends on the MeetingHub edition and the connected Jitsi deployment. Saving a default only passes the related preference to supported meeting views. It does not override a provider restriction.

For field-by-field meeting instructions, see How to Create a Jitsi Meet Meeting in MeetingHub. For display options, see How to Display Jitsi Meet Meetings with MeetingHub Shortcodes.

[Image needed: MeetingHub Jitsi settings with the Configurations, Video Settings, Audio Settings, and Shortcodes tabs visible. Show safe default values and blur any domain or account data.]

Test and verify the integration #

  1. Reload the Jitsi settings page after saving.
  2. Confirm that the intended domain mode and values remain selected.
  3. Create a new Jitsi meeting with a unique test room name.
  4. Open its WordPress meeting page in a private browser window.
  5. Join from a second browser or device.
  6. Confirm that both participants enter the same room.
  7. Check camera, microphone, display name, invitation controls, and the initial mute settings.
  8. If registration is enabled, repeat the test as a logged-out visitor and complete the full registration flow.
  9. For JaaS, verify that the expected user becomes moderator and test only the account features you have enabled.
  10. For a self-hosted server, review its browser console and server logs if the embedded room fails.

A Connected label is not a complete provider test. Immediately after saving, the settings interface can mark JaaS connected when App ID and API Key are present, even before it proves that the private key can sign a token. On a later page load, MeetingHub requires a generated JaaS token for its active status. Always verify by reloading and joining a real test room.

[Image needed: private browser window showing a fictional MeetingHub Jitsi meeting page before joining, with the embedded room, camera and microphone controls, and safe test details. Blur room names, participant identities, passwords, and access links.]

Common mistakes and troubleshooting #

The public room does not load #

Select a different bundled public domain and save again. Public services can be offline, rate limited, or configured to reject anonymous rooms. If reliability is important, use JaaS or a managed self-hosted deployment.

JaaS appears connected but the room rejects access #

Reload the settings page and recheck all three credentials. Confirm that the private key belongs to the saved API key, includes its original line breaks, and can be read by OpenSSL on the WordPress server. Then create a new test room.

The JaaS room name looks different #

MeetingHub prefixes the room with the saved App ID for the JaaS embed. This is expected and associates the room with the JaaS application.

The self-hosted room is blank #

Open the hosted domain directly first. Check HTTPS, the external API script, browser console errors, content-security policy, reverse-proxy rules, authentication requirements, and firewall access. MeetingHub does not validate these server settings when the hostname is saved.

Recording, livestreaming, transcription, or outbound calling is missing #

Confirm that the feature is enabled in MeetingHub and available in the selected JaaS plan or self-hosted deployment. These features often require provider entitlements or additional server components.

Guests do not receive moderator controls #

For JaaS, MeetingHub marks signed-in WordPress users who can edit posts as moderators. Logged-out visitors are not moderators. Check the WordPress user’s capabilities and the JaaS authentication result.

The same scheduled meeting opens different public hosts #

Choose a specific value in Select Domain instead of leaving it blank. A blank selection allows MeetingHub to choose from its bundled public-domain list.

Frequently asked questions #

Does the Connected label test the Jitsi server? #

No. Public mode is treated as connected by selection, and self-hosted mode is treated as connected when a custom domain is present. JaaS active status depends on token generation after reload. Only a successful two-participant join verifies the full connection.

Can MeetingHub create a Jitsi server for me? #

No. MeetingHub embeds a configured public, JaaS, or self-hosted service. Server installation and provider account administration happen outside WordPress.

Which mode should I use for production meetings? #

Use the service whose reliability, privacy, authentication, recording, and support terms match the meeting. The bundled public domains are convenient for testing, but MeetingHub does not control them.

Where do I configure registration and recurrence? #

Set their defaults in the Jitsi configuration settings, then review the options on each meeting. See How to Enable Attendee Registration in MeetingHub and How to Create Recurring Meetings in MeetingHub.

For broader diagnosis across MeetingHub providers, use the MeetingHub Troubleshooting Guide.

Powered by BetterDocs