WordPress Video Call Plugin: One-on-One and Group Calls Inside Chat
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 support a meaningful number of participants — call out the use case (5-person cohort, 12-person AMA) and the call quality holds. Beyond ~25 participants, the call is closer to a webinar than a meeting; quality degrades by the laws of WebRTC physics, not Better Messages limits.
Restrictions and access control

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.

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
- Install Better Messages from WordPress.org and activate it.
- Buy the WebSocket version license from your Better Messages account dashboard.
- Activate the license in Better Messages → Account.
- 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?
Call recording is opt-in per thread / chat room. When enabled, the recording is stored alongside the thread and attached as a file message at the end of the call. Configure under Better Messages → Settings → Calls → Recording.
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?
There is no hard cap in the plugin; WebRTC mesh and SFU constraints mean call quality scales down past ~25 simultaneous video participants. For meeting-style use (under 25 cameras on), the experience is solid.
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
- Video calls documentation — full feature reference
- Audio calls documentation — voice call settings
- Group video chat — multi-party video
- BuddyPress messaging plugin — community sites benefit most from group calls
- WordPress LMS chat plugin — cohort office hours via group calls
- WordPress marketplace chat — vendor team and customer calls