Troubleshooting
Common Issues
Connection Issues
- Call fails to connect - Verify API credentials, internet connection, and backend URL
- WebSocket connection timeout - Check firewall settings and network stability
- Unexpected disconnections - Usually caused by poor network conditions or browser tab backgrounding
Audio Issues
- Microphone access denied - Ensure HTTPS context and user has granted permissions
- No sound output - Check device connections, browser audio settings, and system volume
- Echo or feedback - SDK includes echo cancellation; use headphones for best results
- Audio cutting out - May indicate network issues or browser resource constraints
Device Management
- Device list empty - Ensure microphone permission granted before calling getAvailableDevices()
- Device switching fails - Verify device is still connected and permission is granted
- Device labels show "Unknown" - Grant microphone permission first for device labels to appear
Error Messages
| Error | Cause | Solution |
|---|---|---|
| "AudioWorklet requires secure context" | Page loaded over HTTP in production | Use HTTPS or localhost for development |
| "getUserMedia not supported" | Outdated browser or insecure context | Update browser and ensure HTTPS |
| "WebSocket connection failed" | Network issues or invalid endpoint | Check network and verify backend URL |
Browser Compatibility
- Chrome 66+ - Full support, recommended
- Firefox 60+ - Full support
- Safari 11+ - Supported, some limitations on older versions
- Edge 79+ - Full support (Chromium-based)
Debug Tips
- Console Logs: Check browser developer console for detailed error messages
- Network Tab: Monitor WebSocket connections and HTTP requests
- Callback Logging: Add console.log to all callbacks to track event flow
- Permission Status: Check browser's site settings for microphone permissions