direct-voice-calls

Private LiveKit calls inside chat

Private voice calls run on an engine that is separate from room audio stages. ejabberd owns call creation, acceptance, ending and short-lived LiveKit token issuance for the two participants only, while invite and accept signals travel through hidden XMPP control messages that do not appear in chat history. On Android, accepted calls use VoiceCallService as a microphone Foreground service, with mute, call duration, earpiece/speaker switching and automatic missed-call cleanup after the ringing timeout.

Private LiveKit calls inside chat

Everything the platform needs