average-horse-37689
03/23/2026, 10:33 PMtall-airline-16756
03/23/2026, 10:33 PMtall-airline-16756
03/23/2026, 10:33 PMRoomCompositeEgress (room-level egress) when the call is created or at the first agent connection.
1. Keep recording across handoffs
◦ Let the recording run while agents are reassigned or new sessions are created. Don’t start/stop per-agent recordings for normal handoffs.
1. Stop recording
◦ Stop the Egress when the call/room ends (or when the conversation is definitively finished).
1. Post-call processing
◦ Use the egress_ended webhook to capture metadata, attach the recording to your master session/case ID, and trigger storage, transcription, or redaction jobs.
1. Optional segmentation
◦ If you need segmented files (for audit or analytics), either:
◦ Create timestamps/markers in the single recording at handoff points and split post-call, or
◦ Start additional egress segments intentionally (e.g., per phase) while keeping the room-level recording as the canonical full-call file.
When per-agent recordings are appropriate
• Audit requirements that require separate files per agent.
• Agent performance evaluation where you need isolated agent-only audio/video.
If you do use per-agent recordings, ensure each file is tagged with a master session ID and sequence metadata so you can re-assemble or search across the full call later.
Indexing & retention suggestions
• Assign a master session or call ID that you attach to every recording (egress or per-agent) and to webhooks/events.
• Store recordings in your chosen bucket (S3/GCS) and keep metadata (start/end times, agent IDs, handoff markers) in a database for quick lookup.
• Implement retention rules based on compliance (e.g., delete or archive after X days).
Next questions to tailor this to you
• Do you already use room-level Egress today, or are you relying on per-agent session recordings now?
• Do you need segmented recordings for compliance or analytics, or is one canonical file sufficient?
• Which storage/processing workflows (transcription, redaction, analytics) do you plan to run after recording?
If you tell me your current setup and goals (compliance needs or analytics requirements), I’ll give specific steps and examples for starting/stopping Egress and hooking up post-processing.
Sources: Universal Egress | LiveKit | SIP Lifecycle Management Agent | LiveKit Documentation | Python SDKs | livekit/livekit_composite | DeepWiki | Agents and handoffs | LiveKit Documentation | server-sdk-js | livekit/livekit_composite | DeepWiki, with interactive elements