Commit Graph
6 Commits
Author SHA1 Message Date
Claude 1b44b5b2ad Combine Linphone and Baresip setup instructions in device output
Changes:
- Show both Linphone and Baresip setup in add_device_menu() output
- Remove separate menu requirement - both apps shown together
- Change language from "/e/OS-specific" to generic "if Linphone has audio issues"
- Update domain examples from sip.mydomain.com to asterisk.mydomain.com
- Add note that credentials work for other SIP apps (Zoiper, sipnetic)
- Verify no user FQDN hardcoded in script

This provides immediate access to both SIP app configurations when adding
a device, with clear headers distinguishing between the two approaches.
2025-12-09 14:15:06 +00:00
Claude 2a999981b3 Update Baresip instructions with accurate manual setup process
Based on actual user experience configuring Baresip Android app.
Previous instructions were incorrect/incomplete.

KEY CHANGES:

1. Removed /e/OS-specific language:
   - Now generic: "Use if Linphone has audio issues"
   - Applicable to all privacy ROMs, not just /e/OS

2. Accurate two-step setup process:
   - Step 1: Add account with just SIP URI (ext@domain)
   - Step 2: Edit account to add auth username, password, proxy
   - This matches actual app behavior

3. Critical field corrections:
   - Auth Username: JUST extension number (not ext@domain)
   - Outbound Proxy: JUST domain (not sip:server:port format)
   - Media Encryption: srtp (select from dropdown)

4. No provisioning URL:
   - Clarified Baresip doesn't support remote provisioning
   - Must configure manually (unlike Linphone)

5. Added top bar icon reference:
   - ☰ = Menu, ✓ = Save, ⋮ = Options
   - 📞 = Call, 🔊 = Speaker, 🔇 = Mute, ✕ = Hangup

6. Default action clarification:
   - May not exist in all Baresip versions
   - Provided alternatives: long-press or phone icon

7. Comprehensive troubleshooting:
   - Registration failure solutions
   - Dialing issues
   - Audio problems
   - Screen-off audio (rare with Baresip)

8. Extension dialing guidance:
   - Method 1: Just the number (101, 202)
   - Method 2: Full format (ext@domain) if needed

9. File renamed:
   - .conf → .txt for better readability on phones

Output format:
- Detailed step-by-step instructions
- Quick reference summary at end
- Troubleshooting section
- Icon reference guide

This addresses all user-reported configuration issues and provides
accurate, tested setup instructions based on real app usage.
2025-12-09 13:53:29 +00:00
Claude 5f46fe188b Add Baresip configuration generator for /e/OS compatibility
Baresip works significantly better than Linphone on /e/OS for background
audio operation. Adding dedicated provisioning support.

NEW FEATURE: Baresip Config Generator
- Added create_baresip_config() function in Provisioning Manager
- Generates account configuration with full setup instructions
- Provides both config file and manual entry instructions
- Includes /e/OS-specific permission guidance

Key Benefits of Baresip on /e/OS:
- Better background audio handling than Linphone
- Works with screen off without special hacks
- Lightweight and efficient
- Handles /e/OS microphone permissions more reliably

Configuration Generator Creates:
- Account line in baresip format with all parameters
- Manual entry instructions for Baresip app
- Audio settings recommendations (OpenSL ES)
- Default action setup (Call, not Message)
- Extension dialing guidance
- /e/OS permission instructions

Usage:
- Server Settings → Provisioning Manager → Create Baresip Config
- Enter extension, password, display name
- Get config file with complete setup instructions
- Download via HTTP provisioning or copy to phone

Menu Updates:
- Provisioning Manager option 4: Create Baresip Config
- Option numbers renumbered (Status=5, Directory=6, Troubleshoot=7)

This addresses the persistent /e/OS audio issues by providing a better
SIP client alternative that actually works with /e/OS's privacy model.
2025-12-09 13:19:18 +00:00
Claude 663314a801 Fix version display and remove remaining COTURN status line
- Updated header from 'Easy Asterisk v1.23' to 'v0.9.9'
- Updated pjsip.conf comment from v1.23 to v0.9.9
- Removed 'COTURN: Not installed' status line from main menu
- All COTURN references now completely removed from UI

User-visible changes:
- Main menu now correctly shows 'Easy Asterisk v0.9.9'
- Status section only shows Server and Client (no COTURN line)
- pjsip.conf generated with correct version comment
2025-12-08 20:55:50 +00:00
Claude 541d2ab22d Add /e/OS audio troubleshooting and enhanced linphone.xml for privacy ROMs
PROBLEM ADDRESSED:
Users with /e/OS (eFoundation OS) experience no audio transmission unless
Linphone app has focus. This is due to /e/OS's strict privacy controls
preventing background microphone access.

CHANGES:

1. Enhanced linphone.xml template:
   - Added keep_service_alive=1 for service persistence
   - Added start_at_boot=1 for automatic startup
   - Added audio section with speaker routing
   - Force audio_route_speaker=1 for background operation
   - Updated instructions to reference /e/OS troubleshooting

2. New troubleshoot_eos_audio() function:
   - Comprehensive 9-step troubleshooting guide
   - Linphone app audio settings configuration
   - /e/OS privacy settings walkthrough
   - Advanced Privacy feature management
   - Network permission configuration
   - Autostart and battery optimization settings
   - XML provisioning verification
   - Speaker mode workaround
   - Nuclear option: disable privacy features temporarily
   - Alternative SIP app suggestions (Zoiper, CSipSimple, Wave)
   - Testing methodology
   - Technical explanation of the issue
   - Community resources and forum links

3. Added menu item in Provisioning Manager:
   - Option 6: "Troubleshoot /e/OS Audio Issues"
   - Easily accessible from provisioning workflow

TECHNICAL DETAILS:
The issue occurs because /e/OS restricts background microphone access
even with permissions granted. The OS suspends audio capture when apps
lose focus. Workarounds include forcing speaker mode, disabling specific
privacy features, or using alternative SIP clients with better /e/OS
compatibility.

TESTING STEPS:
1. Make call with Linphone in foreground (audio works)
2. Press Home button
3. If audio stops, issue is confirmed
4. Follow troubleshooting guide in order

This addresses privacy-focused Android ROM compatibility issues and
provides users with clear, actionable solutions.
2025-12-08 20:40:31 +00:00
Claude 9d57c32901 Major upgrade to v0.9.9 with VLAN, Provisioning, and UI improvements
This is a comprehensive update that removes COTURN and adds several
major features focused on direct LAN/VPN/port-forwarding connections.

VERSION & LICENSE:
- Updated version from v0.9.8.7 to v0.9.9
- Changed license to GNU General Public License v3.0
- Updated copyright header and license information

REMOVED FEATURES:
- Removed all COTURN/TURN relay server code and dependencies
- Removed TURN configuration variables from config system
- Removed TURN firewall rules from UFW configuration
- Removed IP update timer for COTURN
- Focus shifted to direct connections via LAN/VPN/Port-Forwarding

NEW FEATURE: VLAN Configuration
- Added "Configure VLAN Subnets" menu item in Server Settings
- Created configure_vlan_subnets() function with interactive prompts
- Support for multiple VLAN subnets to prevent 30-second call drops
- Updated pjsip.conf generation with multiple local_net entries
- Server IP address now documented in transport configurations
- Added comprehensive split-horizon DNS setup guide
- Includes ctrld.toml examples, dnsmasq configuration, UFW rules
- Provides OPNSense firewall rules and DHCP configuration guidance

NEW FEATURE: Provisioning Manager
- Added provisioning_manager_menu() with full HTTP server management
- Setup HTTP/HTTPS provisioning on ports 8088/8089
- Automatic http.conf configuration with TLS support
- Created symlink management (/usr/share/asterisk <-> /var/lib/asterisk)
- Fixes 404 errors on Ubuntu/Debian systems
- Interactive linphone.xml creator with server-specific settings
- Built-in nano editor for linphone.xml modifications
- Includes Android audio focus fix (prevents pause on screen off)
- Battery optimization instructions for Android devices
- Provisioning status display with file listings

NEW FEATURE: Manual Update System
- Added manual_update_asterisk() function with automatic backups
- Creates timestamped backups before updates
- Automatic rollback on update failure
- Provides rollback instructions for manual recovery
- Update safety with configuration preservation

NEW FEATURE: Room Directory
- Added show_room_directory() visual display
- Distinguishes Ring Groups (📞) from Page Groups (📢)
- Shows extension, members, timeout, and type for each room
- Educational descriptions of group types

INFRASTRUCTURE CHANGES:
- Added provisioning firewall ports (8088/8089) to UFW
- Reorganized code structure with clear section headers
- Added PROVISIONING_DIR constant for /var/lib/asterisk/static-http
- Cleaned up configuration variable management
- Improved menu organization and numbering

MENU UPDATES:
- Server Settings: Added Provisioning Manager (#10)
- Tools Menu: Added Room Directory (#4) and Manual Update (#5)
- Removed COTURN menu item from Server Settings
- Renumbered VLAN Subnets to option #9

DOCUMENTATION:
- Split-horizon DNS guide with ctrld configuration
- dnsmasq setup instructions for local DNS responses
- UFW firewall rules for DNS security
- OPNSense VLAN firewall configuration examples
- Complete DHCP setup guidance for multi-VLAN environments

This update represents a major shift toward direct networking
approaches while providing better VLAN support and client provisioning
capabilities for production deployments.
2025-12-08 20:31:37 +00:00