diff --git a/admin/class-twp-admin.php b/admin/class-twp-admin.php
index 3fa0bdb..8643b44 100644
--- a/admin/class-twp-admin.php
+++ b/admin/class-twp-admin.php
@@ -7016,7 +7016,8 @@ class TWP_Admin {
Ready
-
Connecting...
+
Loading...
+
00:00
@@ -7674,6 +7675,7 @@ class TWP_Admin {
// Initialize the browser phone
function initializeBrowserPhone() {
+ debugLog('initializeBrowserPhone called');
$('#phone-status').text('Initializing...');
updateConnectionStatus('connecting');
@@ -7751,13 +7753,16 @@ class TWP_Admin {
}
async function setupTwilioDevice(token) {
+ debugLog('setupTwilioDevice called');
try {
// Check if Twilio SDK is available
+ debugLog('Twilio check: ' + (typeof Twilio) + ', Device: ' + (typeof Twilio !== 'undefined' ? typeof Twilio.Device : 'N/A'));
if (typeof Twilio === 'undefined' || !Twilio.Device) {
throw new Error('Twilio Voice SDK not loaded');
}
console.log('Setting up Twilio Device...');
+ debugLog('Creating Twilio.Device...');
updateConnectionStatus('connecting');
// Request media permissions before setting up device
@@ -7807,11 +7812,13 @@ class TWP_Admin {
});
console.log('Twilio Device created with audio constraints:', audioConstraints);
-
+ debugLog('Device created, setting up handlers...');
+
// Set up event handlers BEFORE registering
// Device registered and ready
device.on('registered', function() {
console.log('Device registered successfully');
+ debugLog('Device REGISTERED!');
$('#phone-status').text('Ready').css('color', '#4CAF50');
$('#call-btn').prop('disabled', false);
updateConnectionStatus('connected');
@@ -7893,10 +7900,13 @@ class TWP_Admin {
});
// Register device AFTER setting up event handlers
+ debugLog('Calling device.register()...');
await device.register();
-
+ debugLog('device.register() completed');
+
} catch (error) {
console.error('Error setting up Twilio Device:', error);
+ debugLog('ERROR: ' + error.message);
showError('Failed to setup device: ' + error.message);
}
}
@@ -8232,14 +8242,28 @@ class TWP_Admin {
}
});
+ // Debug helper
+ function debugLog(msg) {
+ console.log('TWP Debug: ' + msg);
+ var debugEl = $('#twp-debug-info');
+ if (debugEl.length) {
+ debugEl.append(msg + '
');
+ }
+ }
+
// Check if SDK loaded and initialize
+ debugLog('jQuery ready');
$(window).on('load', function() {
+ debugLog('Window loaded');
setTimeout(function() {
+ debugLog('Checking Twilio: ' + (typeof Twilio));
if (typeof Twilio === 'undefined') {
showError('Twilio Voice SDK failed to load. Please check your internet connection and try refreshing the page.');
console.error('Twilio SDK not found. Script may be blocked or failed to load.');
+ debugLog('SDK FAILED');
} else {
console.log('Twilio SDK loaded successfully');
+ debugLog('SDK OK, initializing...');
initializeBrowserPhone();
}
}, 1000);