Fix extension transfer system and browser phone compatibility
Major Fixes: - Fixed extension transfers going directly to voicemail for available agents - Resolved browser phone call disconnections during transfers - Fixed voicemail transcription placeholder text issue - Added Firefox compatibility with automatic media permissions Extension Transfer Improvements: - Changed from active client dialing to proper queue-based system - Fixed client name generation consistency (user_login vs display_name) - Added 2-minute timeout with automatic voicemail fallback - Enhanced agent availability detection for browser phone users Browser Phone Enhancements: - Added automatic microphone/speaker permission requests - Improved Firefox compatibility with explicit getUserMedia calls - Fixed client naming consistency across capability tokens and call acceptance - Added comprehensive error handling for permission denials Database & System Updates: - Added auto_busy_at column for automatic agent status reversion - Implemented 1-minute auto-revert system for busy agents with cron job - Updated database version to 1.6.2 for automatic migration - Fixed voicemail user_id association for extension voicemails Call Statistics & Logging: - Fixed browser phone calls not appearing in agent statistics - Enhanced call logging with proper agent_id association in JSON format - Improved customer number detection for complex call topologies - Added comprehensive debugging for call leg detection Voicemail & Transcription: - Replaced placeholder transcription with real Twilio API integration - Added manual transcription request capability for existing voicemails - Enhanced voicemail callback handling with user_id support - Fixed transcription webhook processing for extension voicemails Technical Improvements: - Standardized client name generation across all components - Added ElevenLabs TTS integration to agent connection messages - Enhanced error handling and logging throughout transfer system - Fixed TwiML generation syntax errors in dial() methods 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1276,4 +1276,65 @@
|
||||
.twp-btn.btn-active:hover {
|
||||
background-color: #e55100 !important;
|
||||
border-color: #bf360c !important;
|
||||
}
|
||||
|
||||
/* Enhanced Queue Display Styles */
|
||||
.user-extension-display {
|
||||
background: #e8f4f8;
|
||||
padding: 8px 12px;
|
||||
border-radius: 4px;
|
||||
margin-bottom: 10px;
|
||||
font-size: 14px;
|
||||
color: #2c5282;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.queue-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.queue-type-icon {
|
||||
font-size: 16px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.queue-type-personal {
|
||||
border-left: 4px solid #28a745;
|
||||
}
|
||||
|
||||
.queue-type-hold {
|
||||
border-left: 4px solid #ffc107;
|
||||
}
|
||||
|
||||
.queue-type-general {
|
||||
border-left: 4px solid #007bff;
|
||||
}
|
||||
|
||||
.queue-item.queue-type-personal .queue-name {
|
||||
color: #155724;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.queue-item.queue-type-hold .queue-name {
|
||||
color: #856404;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.no-queues small {
|
||||
color: #6c757d;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
/* Responsive queue enhancements */
|
||||
@media (max-width: 480px) {
|
||||
.user-extension-display {
|
||||
font-size: 12px;
|
||||
padding: 6px 10px;
|
||||
}
|
||||
|
||||
.queue-type-icon {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user