From 8df3695f28804877ca607cbc5cdbbf1df5ef090f Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 22 Nov 2025 22:06:04 +0000 Subject: [PATCH] Add standalone intercom setup system (Mumble/Talkkonnect) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Created modular, standalone intercom system to avoid bloating the 10,000+ line main install script. New Files: - setup_intercom.sh: Complete standalone installation and management * Install Murmur server (one kiosk becomes the server) * Install talkkonnect client (connect to existing server) * Install both (all-in-one setup) * Full service management (start/stop/restart) * Configuration tools * Log viewing * Uninstall options - INTERCOM_README.md: Comprehensive documentation * Quick start guide * Use cases and scenarios * Multi-kiosk setup instructions * Troubleshooting guide * Integration instructions * Technical details - integrate_intercom.sh: Integration helper * Shows how to wire into main install script * Example menu integration code * Alternative sourcing method Features: ✓ Menu-driven interface with dynamic options ✓ Status display (installed/running state) ✓ Server configuration (password, port, welcome text) ✓ Client configuration (server, credentials, channel) ✓ Service management (enable/disable/start/stop) ✓ Log viewing for diagnostics ✓ Clean uninstallation Use Cases: 1. Single kiosk (server + client) 2. Multi-kiosk (one server, multiple clients) 3. Connect to external Mumble server 4. Other devices can connect (desktop/mobile Mumble apps) Technical: - Murmur server on port 64738 - talkkonnect built from source with Go - Systemd service management - Audio through ALSA/PipeWire - PTT via keyboard (default: spacebar) Next Steps: - Test installation on clean system - Wire into main install script addon menu - Consider auto-discovery for multi-kiosk setups --- INTERCOM_README.md | 266 +++++++++++++ integrate_intercom.sh | 99 +++++ setup_intercom.sh | 857 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 1222 insertions(+) create mode 100644 INTERCOM_README.md create mode 100755 integrate_intercom.sh create mode 100755 setup_intercom.sh diff --git a/INTERCOM_README.md b/INTERCOM_README.md new file mode 100644 index 0000000..35b67a9 --- /dev/null +++ b/INTERCOM_README.md @@ -0,0 +1,266 @@ +# UBK Intercom Setup - Mumble/Talkkonnect + +This is a standalone script for setting up push-to-talk (PTT) intercom functionality for the Ubuntu Based Kiosk using Mumble/Talkkonnect. + +## Overview + +The intercom system uses: +- **Murmur**: The Mumble server software (can run on one kiosk) +- **talkkonnect**: A headless Mumble client optimized for push-to-talk + +## Use Cases + +### 1. All-in-One (Server + Client) +One kiosk acts as both the server and a client. Other devices can connect to it. + +```bash +./setup_intercom.sh +# Select option 1: Install All-in-One (Server + Client) +``` + +### 2. Client Only +Connect to an existing Mumble server (could be another kiosk or external server). + +```bash +./setup_intercom.sh +# Select option 3: Install talkkonnect Client Only +# Enter the server IP, port, and credentials +``` + +### 3. Server Only +Turn a kiosk into a dedicated Mumble server. + +```bash +./setup_intercom.sh +# Select option 2: Install Murmur Server Only +``` + +## Quick Start + +### Single Kiosk Setup (Server + Client) + +```bash +cd /path/to/ubk +./setup_intercom.sh +``` + +1. Select **Option 1: Install All-in-One (Server + Client)** +2. Set a SuperUser password (for server administration) +3. Set a server password (clients need this to connect) +4. Set a welcome message +5. Set a username for the talkkonnect client +6. The client will auto-connect to the local server + +### Multi-Kiosk Setup + +**On the server kiosk:** +```bash +./setup_intercom.sh +# Select option 2: Install Murmur Server Only +# Note the server IP address shown after installation +``` + +**On each client kiosk:** +```bash +./setup_intercom.sh +# Select option 3: Install talkkonnect Client Only +# Enter the server IP from above +# Port: 64738 (default) +# Enter username and password +``` + +## Features + +### Push-to-Talk +- Default PTT key: **Spacebar** +- Press and hold to transmit audio +- Release to stop transmitting + +### Management +The script provides a full-featured menu for: +- Starting/stopping services +- Reconfiguring settings +- Viewing logs +- Uninstalling components + +### Connecting from Other Devices + +Other devices can connect to your Mumble server using: + +**Desktop (Windows/Mac/Linux):** +- Download Mumble client: https://www.mumble.info/downloads/ +- Connect to: `:64738` + +**Mobile (iOS/Android):** +- Install Mumble app from app store +- Add server: `:64738` + +## Configuration + +### Server Configuration +Location: `/etc/mumble-server.ini` + +Key settings: +- Port: 64738 (default) +- Max users: 10 +- Bandwidth: 72000 + +### Client Configuration +Location: `/home/kiosk/talkkonnect.xml` + +Key settings: +- Server address and port +- Username and password +- PTT button (default: spacebar) +- Audio settings + +## Troubleshooting + +### Check Service Status + +```bash +# Check Murmur server +sudo systemctl status mumble-server + +# Check talkkonnect client +sudo systemctl status talkkonnect +``` + +### View Logs + +Use the built-in menu options, or: + +```bash +# Murmur logs +sudo journalctl -u mumble-server -n 50 + +# talkkonnect logs +sudo journalctl -u talkkonnect -n 50 +``` + +### Audio Issues + +1. Check audio devices: +```bash +arecord -l # List recording devices +aplay -l # List playback devices +``` + +2. Test audio: +```bash +# Test microphone +arecord -d 5 test.wav && aplay test.wav +``` + +3. Edit talkkonnect configuration: +```bash +nano /home/kiosk/talkkonnect.xml +# Adjust