What does LiveKit run when two people join a call?
Your app connects people to a room. One participant can publish a track, such as their microphone audio, and another can subscribe to receive it. LiveKit routes those streams using WebRTC, the technology browsers use for live calls. Use the hosted Cloud service or operate the open-source LiveKit server yourself.
How do you let someone listen without publishing?
Your app signs the person in and checks their room access on the server. Issue a room token, a signed credential that identifies the participant and limits what they can do. A listener can receive tracks without permission to publish them. Keep the signing secret on the server and decide whether the listener should also be able to send data.
What returns after a dropped connection?
The SDK attempts to recover the connection and can do a full reconnect if needed. Check whether audio starts again before showing the call as recovered. LiveKit’s reliable data packets are still best effort. A disconnected participant can miss them because the server does not keep them for replay.
If people need to read meeting notes or see missed chat later, store those records separately and load them when someone rejoins.
How can you check access and recovery without calling customers?
Use a disposable room in a local server or separate authorized test project. Confirm your app uses the test room and sign-in, with recording, streaming, invitations, live callbacks and real contact data absent. If you cannot confirm that, inspect the room and token settings without connecting.
- Check the listener’s accessJoin with two fake accounts in separate browser profiles. Give one permission to publish audio and the other permission to receive only. Keep cameras off. Use a synthetic audio track or a short fictional test phrase in a private space and confirm the listener receives it.
- Check the denied actionsFrom the listener profile, try to publish test audio. Check that the publish attempt is refused and no listener track appears for the speaker. If the interface hides that control, mark publish denial untested and inspect the token grant separately. With a third fake nonmember, request access through the test app and verify it grants no room token.
- Disconnect only the listenerConfirm that the listener loses the room connection while the speaker stays connected. Restore the connection and play a different test sound. Verify the listener hears the new sound after reconnecting. Do not expect it to hear audio from the gap.
What grows the bill when calls get longer?
LiveKit Cloud Build includes 5,000 WebRTC participant minutes and 50 GB of data sent out per month. Two people connected for ten minutes use about 20 participant minutes. Free limits are shared across your free projects and new requests can fail at the cap. Paid plans can charge for use beyond the included allowance.
Video resolution and the number of people receiving it affect data transfer. If you run the Apache-licensed server yourself, budget for the server, outbound bandwidth and upkeep.
How can you keep a recording?
Set up Egress, the service that records or exports a room or individual track. It can write files such as MP4. Choose the destination and verify you can open a sample before promising recordings to users. Cloud includes the Egress service and meters its use. Self-hosting requires a separate Egress deployment.
Keep consent, access and retention decisions in your app. Recording media does not back up your meeting notes or other app data.