Hi LiveKit Team,
We’re looking to limit the concurrency of our voice agent to 5 active calls.
Our expected behavior is:
- The agent should accept a maximum of 5 concurrent calls.
- When a 6th caller arrives, the call should not be rejected or receive a “worker at full capacity” error.
- Instead, the caller should remain queued/waiting until one of the active calls ends.
- As soon as a slot becomes available, the queued call should automatically be connected to the agent.
Is there a built-in way to achieve this using LiveKit Agents or SIP, or would this need to be implemented externally (e.g., at the SIP provider, SBC, or application layer)?
If this isn’t currently supported, what is the recommended architecture for implementing a waiting queue while limiting the agent to a fixed number of concurrent calls?