Skip to main content

WordPress Video Call Plugin: One-on-One and Group Calls Inside Chat

· 6 min read
Creator of Better Messages

WordPress sites that need video calls have three options today: link out to Zoom (loses the on-site context), embed Whereby / Daily / Twilio (third-party billing, separate UI), or roll your own (a multi-month engineering project involving a media server, TURN/STUN, signaling, and a UI). Better Messages adds a fourth path: voice and video calls inside the messenger threads members are already using, hosted on relay servers included in the WebSocket license, with both one-on-one and group call support.

Where calls live#

Voice and video calls are not a separate feature — they are buttons inside the messenger thread that members already use for chat. In a 1:1 thread, a phone icon and a video icon sit next to the message composer. In a group chat or chat room, the same buttons start a group call that every thread participant can join.

This is the right shape because the call inherits the context: the call participants are the thread participants, the thread continues during the call (text-and-call hybrid), and the call recording (if you enable it) attaches to the thread for later reference.

One-on-one calls#

In any 1:1 thread, either participant taps the audio or video call button. The other side gets a ringing notification (in-browser overlay + sound + web push if they have the site closed). They tap to accept. The call connects.

The call UI is full-screen on mobile, picture-in-picture on desktop (the chat stays usable below). Mute, camera on/off, screen share, and switch-camera are the standard controls. Either side can end the call.

Group calls inside threads and chat rooms#

The biggest differentiator: group calls work inside any group thread or chat room, not just 1:1 DMs.

Practical use cases:

  • Cohort office hours — a LearnDash course chat hosts a group video call for the week's office hours, then the chat continues asynchronously after.
  • Community AMA — a BuddyBoss group with the founder host runs an AMA call inside the group's chat.
  • Vendor team huddle — a Dokan vendor + 2 assistants run a quick call about a custom order from inside the customer chat.
  • Marketplace candidate panel interview — a WP Job Manager chat between candidate and 3 hiring managers escalates into a panel video call.
  • Study group — a membership-site chat for a peer cohort runs a weekly study session inside the chat.

Group calls run up to 32 participants on video and 50 on voice-only — those are enforced ceilings on the media server, not rough estimates. Past roughly 25 cameras a call stops feeling like a meeting and starts feeling like a webinar, which is what broadcast mode is for: only moderators publish, everyone else joins as a viewer.

Restrictions and access control#

Call restriction toggles in Better Messages settings

A few practical guards:

  • Only Friends Can Call — restrict 1:1 calls to users who are connected (friend / follow relationship, depending on community plugin).
  • Per-role call permissions — restrict who can place calls by WordPress role.
  • Per-role group call permissions — restrict who can start a group call inside a thread, separately from who can join one.
  • Calls inside chat rooms — enable per chat room. Useful for keeping public rooms text-only.
Mini chat call toggles in admin

Hosted relay servers, no separate billing#

The WebSocket license includes hosted WebSocket and media relay servers. There is no separate Twilio account, no Daily / Whereby subscription, no Zoom developer plan. The license covers the infrastructure.

For sites that need data residency (HIPAA-adjacent, GDPR Article 9 regulated data), consider upgrading to the self-hosted plan — talk to support.

Installing voice and video calls on WordPress#

  1. Install Better Messages from WordPress.org and activate it.
  2. Buy the WebSocket version license from your Better Messages account dashboard.
  3. Activate the license in Better Messages → Account.
  4. Configure call permissions in Better Messages → Settings → Calls.

The audio and video call buttons appear inside the messenger automatically.

Free vs WebSocket version for calls#

Calls are a WebSocket-version-only feature — the media relay runs on the WebSocket cloud. The free (AJAX) version does not have access to the relay, and call buttons are hidden there.

Frequently asked questions#

What browsers are supported?#

Chrome / Edge / Firefox / Safari (desktop and iOS Safari 17+). Modern WebRTC is required, which excludes very old browsers but covers >95% of real-world traffic.

Does it work in the mobile app?#

Yes — the Better Messages mobile app (iOS + Android, Capacitor-based) supports calls natively.

Are calls recorded?#

No. Better Messages does not record calls — there is no recording setting, and nothing is written to your site or to the relay when a call ends. What lands in the thread is a call system message noting that a call happened and how long it lasted. If you need recorded sessions, that is a job for a dedicated meetings tool.

Can a guest join a call?#

Yes if guest chat is enabled and the guest is a participant in the thread. The call button is hidden for unauthenticated visitors.

What is the call participant limit?#

One-on-one calls are two people by definition. Group calls are capped on the relay: 32 participants in a group video call and 50 in a group audio call, per conversation. The cap is applied when the join token is issued, so it is not something a site setting can raise.

Can I disable calls for a specific role?#

Yes — per-role permissions in Settings → Calls. A common pattern: paying members can place calls, free-tier members cannot.

See also#

Install Better Messages from WordPress.org →