Add SDK persistence and configurable edge location
All checks were successful
Create Release / build (push) Successful in 4s
All checks were successful
Create Release / build (push) Successful in 4s
- Add external SDK installation (wp-content/twilio-sdk/) that survives WordPress plugin updates - Add install-twilio-sdk-external.sh script for external SDK setup - Update SDK loading to check external location first, internal fallback - Add post-update detection hook to warn if SDK was deleted - Add configurable Twilio Edge Location setting (default: roaming) - Fix US calls failing due to hardcoded Sydney edge location Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -340,13 +340,32 @@ class TWP_Admin {
|
||||
<tr>
|
||||
<th scope="row">TwiML App SID</th>
|
||||
<td>
|
||||
<input type="text" name="twp_twiml_app_sid"
|
||||
value="<?php echo esc_attr(get_option('twp_twiml_app_sid')); ?>"
|
||||
<input type="text" name="twp_twiml_app_sid"
|
||||
value="<?php echo esc_attr(get_option('twp_twiml_app_sid')); ?>"
|
||||
class="regular-text" />
|
||||
<p class="description">TwiML Application SID for Browser Phone (optional). <a href="#twiml-app-instructions">See setup instructions below</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<th scope="row">Twilio Edge Location</th>
|
||||
<td>
|
||||
<?php $current_edge = get_option('twp_twilio_edge', 'roaming'); ?>
|
||||
<select name="twp_twilio_edge" class="regular-text">
|
||||
<option value="roaming" <?php selected($current_edge, 'roaming'); ?>>Auto-select closest (Recommended)</option>
|
||||
<option value="ashburn" <?php selected($current_edge, 'ashburn'); ?>>US East (Ashburn)</option>
|
||||
<option value="umatilla" <?php selected($current_edge, 'umatilla'); ?>>US West (Umatilla)</option>
|
||||
<option value="dublin" <?php selected($current_edge, 'dublin'); ?>>Europe - Ireland (Dublin)</option>
|
||||
<option value="frankfurt" <?php selected($current_edge, 'frankfurt'); ?>>Europe - Germany (Frankfurt)</option>
|
||||
<option value="singapore" <?php selected($current_edge, 'singapore'); ?>>Asia Pacific (Singapore)</option>
|
||||
<option value="sydney" <?php selected($current_edge, 'sydney'); ?>>Australia (Sydney)</option>
|
||||
<option value="tokyo" <?php selected($current_edge, 'tokyo'); ?>>Japan (Tokyo)</option>
|
||||
<option value="sao-paulo" <?php selected($current_edge, 'sao-paulo'); ?>>South America (Sao Paulo)</option>
|
||||
</select>
|
||||
<p class="description">Edge location for browser phone calls. Use "Auto-select closest" for best call quality, or select a specific region.</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<h2>Eleven Labs API Settings</h2>
|
||||
@@ -3818,6 +3837,7 @@ class TWP_Admin {
|
||||
register_setting('twilio-wp-settings-group', 'twp_twilio_account_sid');
|
||||
register_setting('twilio-wp-settings-group', 'twp_twilio_auth_token');
|
||||
register_setting('twilio-wp-settings-group', 'twp_twiml_app_sid');
|
||||
register_setting('twilio-wp-settings-group', 'twp_twilio_edge');
|
||||
register_setting('twilio-wp-settings-group', 'twp_elevenlabs_api_key');
|
||||
register_setting('twilio-wp-settings-group', 'twp_elevenlabs_voice_id');
|
||||
register_setting('twilio-wp-settings-group', 'twp_elevenlabs_model_id');
|
||||
@@ -7779,7 +7799,7 @@ class TWP_Admin {
|
||||
device = new Twilio.Device(token, {
|
||||
logLevel: 1, // 0 = TRACE, 1 = DEBUG
|
||||
codecPreferences: ['opus', 'pcmu'],
|
||||
edge: 'sydney', // Or closest edge location
|
||||
edge: '<?php echo esc_js(get_option('twp_twilio_edge', 'roaming')); ?>',
|
||||
enableIceRestart: true, // Important for mobile network switching
|
||||
audioConstraints: audioConstraints,
|
||||
maxCallSignalingTimeoutMs: 30000, // 30 seconds timeout for mobile
|
||||
|
||||
Reference in New Issue
Block a user