If you are building similar to Free4Talk, the most difficult challenge is not a Laravel itself, it's the real-time voice/video infrastructure.
It can handle authentication, user management, group matching, room creation, moderation, and APIs, and it is for the actual audio/video communication you'll typically want WebRTC.
A common architecture would be:
Laravel → authentication, rooms, user profiles, random group assignment
WebSockets (Laravel Reverb, Pusher, or Socket.IO) → real-time events and signaling
WebRTC → voice/video streams between participants
STUN/TURN servers (e.g., Coturn) → NAT traversal and connection reliability
SFU media server (recommended for multi-user rooms) such as LiveKit, Jitsi Meet, Janus, or mediasoup
For a Free4Talk-style app where multiple users join the same room, avoid pure peer-to-peer WebRTC because it doesn't scale well. An SFU-based solution is usually the best approach.
If you don't want to build the communication layer from scratch, you can use a ready-made chat/video SDK such as MirrorFly, Agora, Stream, or Twilio, which provide voice/video rooms, messaging, presence, and moderation features.