Customer join timeout
Overview
Customer join timeout sets the maximum time users have to join a web call before it’s automatically terminated. This parameter helps you optimize call success rates by accounting for real-world connection challenges.
You’ll learn to:
- Configure timeout values for different user scenarios
- Monitor join success rates and failures
- Troubleshoot timeout-related call issues
This setting applies only to web calls. Phone calls are not affected by this parameter.
How it works
When a web call starts, users must complete several steps within the timeout window:
Establish connection to Vapi servers
Grant browser microphone access
Complete audio handshake process
Default timeout: 15 seconds
Available range: 1-60 seconds
If users don’t complete all steps within the timeout, the call ends with an
assistant-did-not-receive-customer-audio
error.
Configuration
Configure customerJoinTimeoutSeconds
through the Vapi API for both permanent and transient assistants.
Create Assistant
Update Existing
Transient Assistant
Assistant Overrides
Set timeout when creating a new assistant:
Optimization guidelines
Recommended timeout values
Choose timeout values based on your user scenarios:
Balancing considerations
Benefits: - Improved join success rates - Better user experience - Fewer support requests Trade-offs: - Resources tied up longer - Delayed error detection
Benefits: - Faster resource cleanup - Quick failure detection - Reduced server load Trade-offs: - More failed joins - Frustrated users
Monitoring and troubleshooting
Key metrics to track
Monitor these call ended reasons to optimize your timeout settings:
assistant-did-not-receive-customer-audio
Meaning: Customer didn’t complete join process within timeout
Actions:
- Increase
customerJoinTimeoutSeconds
value - Analyze user feedback for connection issues
- Consider user base demographics
customer-did-not-give-microphone-permission
Meaning: Legacy reason replaced by above (for better clarity)
Actions:
- Review your browser permission prompts
- Add user guidance for microphone access
- Consider increasing timeout for permission flow
Example scenario analysis
A user attempting to join needs:
- 5 seconds: Network connection establishment
- 10 seconds: Microphone permission prompt and user response
- 8 seconds: WebRTC handshake completion
- Total: 23 seconds required
With 15-second timeout: Call fails
With 30+ second timeout: Call succeeds
Start with 30-60 seconds and adjust based on your success rate analytics.
”Meeting has ended” message
This message appears when a call ends naturally and is informational only—not an error.
Best practices
Next steps
Now that you understand customer join timeouts:
- Monitor your metrics: Check your call analytics for timeout-related failures
- Explore call features: Learn about real-time call control
- Understand call failures: Review call ended reasons for comprehensive troubleshooting