(Click on image for larger view.)
Time to get to the "real juicy bit" on how to install all the "ingredients" to setup the Mumble Bridge / Server / Client.
Now how do you install and setup an ASL3 / Mumble Bridge / Server / Client? Million dollar question? Now there are very few tutorials out there on the Internet that will assist you in installing a ASL3 / Mumble Bridge. I will however explain in this article how I went about installing and setting up the ZS1I Mumble Bridge on a Raspberry Pi 3 b with the assistance of AI.
For the purpose of this tutorial I am not going to explain how to install AllStarLink Ver 3 on an SD Card for use on a Raspberry Pi. The ASL3 Landing Page includes the ASL Manual. Click on the above link and you will be redirected to a comprehensive online manual for AllStarLink Ver 3. Here you will find all the necessary information to install AllStarLink Ver 3 successfully.
With
regards to installing and setting up the Bridge we need to install and
setup a public and private node, edit files, test connections to nodes, install and
setup Mumble Server, open ports on
you Internet Router and a few "odds and ends". More information on the sequence list available HERE. Do not run away! It is fairly simple to get the
ASL3 Mumble Bridge up and running. Having knowledge of Linux and the
Raspberry Pi will make it easier to navigate through all the
installations and setups. Even if you do not have experience in this
regard you will be able to install ASL3 and the Mumble Bridge if you follow
all the instructions carefully.
Let's get going!!
Image 1 (Click on image for larger view.)
I assume you already booted the PI and that you are on the Landing Page as displayed above. (Image 1) To get to the landing page just enter the Raspberry Pi's IP address in you Internet Browser. I use Firefox. Click on Web Admin Portal window. The AllStarLink System Manager page will open. Login with your username and password. (Image 2)
Image 2 (Click on image for larger view.)
Image 3 (Click on image for larger view.)
A new window will open , called the cockpit, displaying
many options. (Image 3) At the top a banner will be displayed - Web
console is running in limited access mode.
Click on "Turn on
Administrative Access". You will now have Administrative Access. On
the left side of the page go to Terminal and click on it. Terminal will
open. After the $ sign type:
sudo asl-menu [enter]
The asl-menu will open and here we are going to setup a New Private Node.
The AllStarLink Main Menu will open. Select 1 Node Settings [enter to select]
In the Node Setup Main Menu select 1 - Allstar Node Setup Menu [enter to select]
A new menu Allstar Node Select Menu will open . Select A - Add Node [enter to select]
Enter
new node number: I used 1977 ( Anything between 1800 - 2000. Do not
use private node number already used in other AllStarLink Nodes)
Question will appear asking: What configuration settings should we use for Node 1977?
Select 0 None of the above (show all settings) [enter to select]
Node 1977 info will appear:
1 Node Number: 1977
2 Node Password: (Leave blank.)
3 Node Call sign: ZS1I (Enter you call sign here)
4 Radio Interface: Select No Radio interface or Hub Node
5 Duplex Type: Select 0 Half / Full duplex with no telemetry link - Use space bar to select. Select half duplex. Next select Back and Back again. Select 2 Restart Asterisk <- Needed [enter to select]
Asterisk will restart
Node Setup Main Menu will appear again. Select 3 Update Asterisk AMI Password
Enter to select. If you have not changed it do in now. I already changed mine earlier.
Select 4 Update Asterisk IAX Port. Enter Change Port. I used 4566 - Ensure that this port forwarding is also opened in you Internet Router.
Exit Main Menu
Select <Back>
The AllStarLink Main Menu will open.
Asterisk
must be restarted to make your changes alive. Are you sure you want to
exit now. (Note: Asterisk restart can be done selecting 7
Logout/Reboot/Shutdown. Select 3)
Select Yes and [enter]
Type the following at the prompt in the Terminal
sudo systemctl restart asterisk.service [enter]
After restart type the following at the prompt in the Terminal
cd /etc/allmon3 [enter]
then sudo nano allmon3.ini [enter]
Go to the bottom of the page and enter the following:
sudo reboot now [enter]
Go to Web Admin Portal (Click on Window)
Log in again
AllStarLink System Manager will show up (Cockpit)
Turn on Administrative Access
Let's go to the Allmon3 page
Open and Internet Browser Tab and type
https://IP Address /allmon3/ [enter]
Browser Page will Refresh. If not just click refresh button (reload current page)
Node 1977 has been added once the page has reloaded. We now have two nodes displayed. AllStarLink3 Node (467650) and 1977.
Image: Allmon3 Monitoring Dashboard (Click on image for larger view.)
Login to Allmon3 (left side of page under nodes)
Username: ZS1I
Password: XXXXXX
We now need to check if node 1977 can connect to the AllStarLink3 Node you choose.
Choose the block with the two links on the right side of the Allmon3 Monitoring Dashboard page
check-connection.conf (Script File)
$cd /etc/asterisk/local/ [enter]
sudo nano check-connection.conf [enter]
# AllStarLink 3 Check Connection Configuration
# Created by install-asl3-check-connection.sh
# Your local AllStarLink node number
LOCAL_NODE="467650"
# Space-separated list of target nodes that should stay connected.
TARGET_NODES="1977 49355"
# Connection prefix:
# *3 = transceive connect
# *2 = monitor connect
CONNECT_PREFIX="*3"
# Wait this many seconds after issuing each reconnect command.
RECONNECT_DELAY_SECONDS="2"
# Set to "yes" for extra terminal output when run manually.
# Set to "no" if you want quieter cron logs.
VERBOSE="yes"
# Full path to the Asterisk binary.
ASTERISK_BIN="/usr/sbin/asterisk"
1. Update Your System
Ensure your Raspberry Pi packages are up to date.
• Open your terminal.
• Run: sudo apt update
• Run: sudo apt upgrade -y
2. Install System Dependencies
pymumble relies on Opus audio codecs and specialized development libraries.
• Run: sudo apt install python3-dev libopus-dev gcc -y
3. Install pymumble
Use pip to install the package. Depending on your OS version, you may need to use a virtual environment.
Option A: Using a Virtual Environment (Recommended for Raspberry Pi OS Bookworm and newer)
• Create a environment: python3 -m venv myenv
• Activate it: source myenv/bin/activate
• Install the library: pip install pymumble
Option B: System-wide Installation
4. Verify the Installation
Check that the library imports correctly.
• Run: python3 -c "import pymumble; print(pymumble.__version__)"
• If no error appears, the installation was successful.
Time now to install Pymumble
Image: See the ZS1I_467650_Bot (Click on image for larger view.)
Pymumble is an open-source library that allows you to build custom clients and automated bots for Mumble, a popular privacy-focused, self-hosted voice chat server. Written in Python, it acts as a programmatic interface to connect, speak, listen, and manage server channels. You will notice on the image above that I opted to use an automated bot for Mumble. I called it the ZS1I_467650_Bot. The ZS1I_467650_Bot will automatically connect to the Mumble Server.
Key Features of Pymumble
Audio Streaming: It allows developers to stream audio directly into Mumble channels (e.g., custom music or soundboard bots) and record incoming audio streams.
Event Callbacks: The library triggers events based on server activity, such as when a user connects, disconnects, speaks, or creates a channel.
Server Management: It functions as an automated administrative tool to move users, mute/deafen, or send text messages programmatically.
Common Use Cases
Music Bots: Frequently used to create dedicated audio bots (often playing stereo or high-fidelity streams) that provide music in Mumble voice channels.
Recording Bots: Used for writing custom scripts to record conversations and save speech data.
Amateur Radio Bots: In amateur radio, Pymumble is primarily used to bridge the gap between traditional radio frequencies (RF) and internet-based Voice over IP (VoIP) networks. Radio Amateurs leverage Mumble because its open-source, ultra-low latency Opus audio codec preserves signal clarity—making it a popular tool for building custom gateways, internet links, and remote station controllers.
Getting Started
The library is available and actively maintained across multiple active forks, such as the Azlux Pymumble GitHub Repository and the reworked Sourcehut Pymumble Library.
Note: I used Option B to install pymumble and it worked first time around.
Image: Mumble_Bridge.py in Thonny Python IDE
Installation of the Mumble_Bridge.py script file
It is now time to install the Mumble_Bridge.py script file that was created in collaboration with AI. The script file will be installed in the Analog_Bridge directory located at $ /opt/Analog_Bridge. Name of the file = mumble_bridge.py (6.6kb Python file dated 8 June 2026 18:38:09) Copy this script file to the Analog Bridge folder using FileZilla or the Terminal. ( $ /opt/Analog_Bridge/Mumble_Bridge.py)
Please take note of the following relating to the Mumble_Bridge.py script:
Open Source Sharing (License File)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including the rights to use, copy,
modify, merge, and publish copies of the Software, subject to the following
conditions:
1. The Software is NOT to be sub-licensed or sold in copies for commercial
purposes under any circumstances.
2. Any distributed or modified versions of this Software must retain the
above copyright notice, this list of conditions, and this disclaimer.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Mumble_Bridge.py script file can be downloaded by clicking HERE.
Time to install the tcpdump network packet analysis utility program
We are nearly finish installing all the firmware needed. The final firmware installation will be done on your mobile phone. I use an Oppo phone which runs Android. Here is how I installed the Mumble Client.
Image: Plumble Phone Client
Plumble Free Ver 3.2.0 nowadays called Mumla - Mumble VoIP can be downloaded from the Google PlayStore
Note: I would advise that the Mumble PC Client and the Murmur (Mumble) Server be installed completely separate from ASL3 / DVSwitch/Mumble_Bridge on the Raspberry Pi 4. I found that the performance is just better and faster and there is no clashing/fighting between the firmware.
Enough for now. In Part 4 we will be looking at the setup and configuration of all the firmware to ensure clean, crisp, good audio between all the network connections.










