Inbound Concurrency Limit System Behavior
# support
p
We have two question around inbound call concurrency limits. Outside building a custom Twilio queue: Is the behavior of the system when the concurrency limit is reached well defined? Will callers always receive the "over concurrency limit" message? Will they ever experience disconnects with no message? Can the "over concurrency limit" message be customized to something more consumer friendly? This is a very cryptic message for callers to receive..
v
To provide a more user-friendly experience when your inbound concurrency limit is reached, implement a Twilio queue to hold excess calls and play a custom message or hold music. Here’s a minimal TwiML example for your
/incoming
webhook:
Copy code
xml
<Response>
  <Enqueue>customer-support</Enqueue>
</Response>
This approach lets you fully control the caller experience and avoid cryptic system messages, as described in the [Vapi call queue management documentation](https://docs.vapi.ai/calls/call-queue-management). Source: - [Call queue management with Twilio](https://docs.vapi.ai/calls/call-queue-management)
c
Hi ProTip, - Behavior when you hit concurrency: - Vapi returns a concurrency block when all slots are in use; by default callers will hear the built-in "over concurrency limit" message (i.e., the system's response when a call can't be started). - Callers can also be disconnected if your webhook/telephony flow chooses to reject the call—behavior depends on your Twilio webhook response. There can be situations (misconfiguration, webhook unreachable, or counter desync) that lead to unexpected disconnects; the queue docs cover common failure modes and recovery. - Can the message be customized? - Not directly via Vapi's built-in message. To control the caller experience you should implement a Twilio queue or return custom TwiML from your incoming webhook. Example minimal TwiML to enqueue callers: customer-support - Or explicitly reject the call (no audio) with: - Recommended approaches (links): 1. Use a Twilio queue to hold excess callers and play hold music or a custom announcement — see the Call queue management guide: https://docs.vapi.ai/calls/call-queue-management 2. If you prefer immediate decline with no audio, return a Twilio in your /incoming webhook (example in related thread T-33975). 3. Monitor concurrency via the
subscriptionLimits
fields returned on POST /call and with the Analytics API so you can reserve more lines before callers are blocked — see concurrency docs: https://docs.vapi.ai/calls/call-concurrency