Hosting an AllStar Node and an AllStarDMR bridge in the cloud

Update 2/10/21:

Official group: https://dvswitch.groups.io

NOTE: Make sure to match the TX and RX frequencies in the MMDVM_Bridge.ini it needs to function as a simplex node not a repeater for this to work as of 02/10/21.

A lot has changed since my original article and there are new ways to install the tools:
Start with Debian Buster AMD64.

Make sure you install is up to date
     apt update
    apt upgrade
    if updates were installed, reboot

Add the dvswitch repository
    wget http://dvswitch.org/buster
    chmod +x buster
    ./buster

Make sure you have added the repository
    apt update
    look for “deb http://dvswitch.org/DVSwitch_Repository hamradio” in the output

Install AllStar first
     apt install allstar
    errors? stop and ask
    reboot
    AllStar working?
    asterisk -r to login to the asterisk cli to check
    use asl-menu to do basic configuration

Install DVSwitch Server
    apt install dvswitch-server
    errors? stop and ask
    logout and back in, or reboot
    run the dvs menu to configure DVSwitch Server
        When asked for the USRP port, take the default (Just hit enter)

Configure AllStar and DVSwitch Server to taste.

Take your time, read the screen. If you get a error, stop, capture the error and past into a e-mail to the email group at https://dvswitch.groups.io

Configure DVSwitch Server to taste.
This guide will help you:
https://docs.google.com/document/d/1eN50Csr29eAprBu7eKA0Bfa2XUcsXw5iktY1Ey-Qjkg

DVSwitch: https://docs.google.com/document/d/1-Ot5pGaibmEGmmFh-l8HUq2LRyZoujiJYulr-VSga9s

Original Article:

Since jumping into Digital Modes and hotspots in November of 17 and Allstar stuff in early 2018, I decided to look at setting up something for my club, ALERT, to have EchoLink and bridge it over to DMR so members and ham radio storm spotters without DMR radios could still interact with each other.

There were several considerations made as far as hosting the node and bridge. I considered using my existing raspberry pi but there were some technical challenges with the OS and how you got the bridge software to install and extract. I think it can be done but I didn’t invest further time into it when it gave me trouble. I considered formatting an old windows computer with Ubuntu but after some thought about this being for the club maybe hosting this at home was not the best idea. Even though the title says host in the cloud you can totally do this on an Ubuntu computer at your home to (and if you are ok opening some ports), I’m explaining where mine ended up in this post. So, I chose AWS (Amazon) to host them both. There are also other great host I almost went with if I had heard about them earlier in the process, Vultr and DigitalOcean. I don’t know the AWS cost yet. I do know that I have 1yr free of AWS EC2 and that based on the data stats I may be able to stay in the free tier after that depending on usage. I suspect our usage will be small except during severe weather season so, we have time to watch it. I’ll update down the road when this gets nailed down.


Update on cloud services 02/10/21: AWS is probably the most expensive, after the one year free I’m running about $9~9.50 a month. I’ve helped other guys build bridges on Vultur and they are paying about $5 a month. I’ve also had experience with Virmach and their affordable Linux will run about $12.50 a year which is the best deal however it may not have the memory and bandwidth to support large systems but is great for small but you can get higher plans I haven’t tested the others extensively.

I don’t plan to cover setting up AWS as it’s pretty straight forward after setting up an account. However, I had to do this a few times because the image I chose (trying to get 32bit) cause me more install issues with the Ham stuff. I finally, found out I needed this and 64bit was fine. Also, in later installs after this publication, I have not been able to get ASL working on Ubuntu 18.04 there were some library getting it installed, then after I resloved them ASL didn’t run. I think the ASL team will need to look into later version of debian first (just shooting in the dark). But the following works flawlessly:

chrome_2018-05-23_14-49-44

Once you get the instance running they give you all the ways to connect to it which I also don’t plan to cover since they have their own guides as part of the setup. You can use your SSH tool of preference. I use Putty and Bitvise (client is free server is not but you shouldn’t need server). For AWS you download a user key (you do not use a username password) that you need to load into your ssh client. For Putty, AWS gives you instructions on converting the key to a putty file. With Bitvise, you just import the .pem file. Once you are in with SSH you can start installing the ALS Software.

Alltar (ASL):

Update: This might be a better guide as it’s more automated than my way as it is the manual process: https://www.youtube.com/watch?v=zGqdTvyObIU The video is for a Vultr install but may apply to AWS as well if you can install via ISO.
https://github.com/AllStarLink/Asterisk/releases/tag/ASL-1.01

The AWS server user logon is Ubuntu (covered in their docs) but so I didn’t have to use sudo all the time I set this after i got in. sudo -s and that switched me to root user.

To intall ASL run this:

Note on linux commands: enter these one line at a time and hit enter. You can cut and paste if your ssh client supports it. Right mouse click in putty and bitvise.

cd /tmp 
wget http://dvswitch.org/install-allstarlink-repository
chmod +x install-allstarlink-repository
./install-allstarlink-repository

If Raspbian: apt-get install raspberrypi-kernel-headers -y
Otherwise: apt-get install linux-headers-`uname -r` -y apt-get update

apt-get install allstarlink -y

Based on the video there is a menu that I didn’t know about when I setup my node that would be easier for a first time setup:

cd /usr/local/sbin
sudo asl-menu

end update.

Follow the “Manual setup” from this guide: https://www.hamvoip.org/config-setup.pdf

Even thought this guide is for the HamVOIP image most of the manual setup things apply or maybe minor edits. I didn’t rewrite these instructions to fit an ASL install, I just “made it work”.

Turn off your AllStar Telemetry via this guide this seems to interfere with the DMR to Allstar audio: https://dvswitch.groups.io/g/allstarlink/wiki/Private-Node-Template

To enable EchoLink make sure to modify the echolink.conf accordingly then enable it in the modules.conf.

Check your Node and made sure it’s online and you can connect to it before moving to the bridge part.

If not you may need support from this group: http://lists.allstarlink.org/cgi-bin/mailman/listinfo/app_rpt-users

Once it’s online mark your kernels and headers not to update by this guide before moving on to DVSwitch: https://dvswitch.groups.io/g/allstarlink/wiki/How-To%3A-Run-apt-get-upgrade-without-upgrading-the-kernel-or-headers

DVSwitch:

This is the Bridge software. They actually support bridges to all the digital modes I believe (DMR, C4FM, P25, NXDN, ect). They use a MD380 emulator to get around the hardware requirements of most systems with dongles or boards. Sign up for their email list they will provide great support for your project if you can’t get it going yourself. https://dvswitch.groups.io/g/main

To install:

As root
cd /tmp

wget http://dvswitch.org/install-dvswitch-repo
chmod +x install-dvswitch-repo
./install-dvswitch-repo
apt-get update

apt-get install analog-bridge -y
apt-get install mmdvm-bridge -y
apt-get install md380-emu -y

These get installed to the opt folder:

BvSsh_2018-05-23_15-19-06

Edit the ini files in the Analog folder and MMDVM folder (I did not have to modify the DVSwitch.ini for this bridge). However, you need to verify what’s in DVSwitch.ini matches what you are trying to use in the Analog_bridge.ini like this:

DVSwitch.ini             |       Analog_bridge.ini
[DMR]                    |       [AMBE_AUDIO]
Address = 127.0.0.1      |       server = 127.0.0.1
TXPort = 31100           |       fromDMRPort = 31100
RXPort = 31103           |       toDMRPort = 31103

I used beyond compare to show the difference between the original ini and what i changed to make it work:

The Analog_Bridge.ini allows you to set decoding to the emulator and your DMR information that will also be updated or used from your MMDVM_Bridge.ini

Analog_Bridge

Here are some recommended audio settings in Analog_Bridge.ini:

[USRP]
aslAudio = AUDIO_USE_GAIN               ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN)
agcGain = 5.0                           ; Gain (in db) of the AGC filter
dmrAudio = AUDIO_USE_GAIN               ; Audio from ASL (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
dmrGain = 0.17

MMDVM_Bridge.ini sets up a MMDVM configuration which isn’t much different than setting up the parameters on a hotspot just without the radio. So, you will most likely need to register for the Brandmeister self care website and once setup you need to set your desired TalkGroup as static. In the config your DMR ID is the callsign DMR will see and the Repeater ID is the DMR ID + 01 (or any 2 digits) Note: DMARC is not supported unless there is a D-plus bridge to it.

MMDVM_Bridge

In the rpt.conf turn off the dahdi and enable the USRP lines.

rpt

in the modules.conf enable the usrp.

modules

You also need to turn off “Telemetry” by setting these recommended rpt.conf settings for cutting off tones and connect/disconnect messages to DMR otherwise you may get one way audio: https://dvswitch.groups.io/g/allstarlink/wiki/Private-Node-Template

If you plan on using IAX, EchoLink, and SSH you may need to open some ports to your system. I did IAX and EchoLink:

chrome_2018-05-24_14-24-46

Now you are ready to load up the bridge software with these commands:

systemctl enable md380-emu
systemctl start md380-emu

systemctl enable analog_bridge
systemctl start analog_bridge

systemctl enable mmdvm_bridge
systemctl start mmdvm_bridge

If you have issues there are logs located here to review:

BvSsh_2018-05-24_13-57-33

As long as your server/bridge/nodes are running you have a live bridge between the 2 modes. Users on either side will not have to do anything out of the ordinary. AllStar users coming over to DMR do not have DMR numbers so DMR users will see the club/personal number of the number you chose in the MMDVM config.

Hopefully, with that, your AllStar Node and DMR bridge is running!

If not, don’t stress help is an email or remote session away. It’s probably something small that’s stopping it. There are lots of ways to do this and none of it is documented that great but be persistent and ask questions it took me a good week on an off to get mine online and tons of trial and error. Maybe this guide will help you with the concepts and get you going faster than it took me.

73,
Russell, KV4S

Author: KV4S

http://KV4S.com Amateur Radio Operator, Software Developer, Star Trek Online gamer. Game Handle: @Russell-KV4S

39 thoughts on “Hosting an AllStar Node and an AllStarDMR bridge in the cloud”

  1. Hi Russell,

    What a fantastic write up and exactly what I’m looking for! I will be attempting this soon. Thanks so much for your time and effort. I’m pretty familiar with setting up ASL on Pis and Linux, so this should be right up my alley.I’m fairly familiar with Linux but I’m a network professional not a programmer…

    Can you expand a little on usage after I get it working? Does it allow me to use the configured AllStar Node to connect to a DMR Talk Group? Then anyone on AllStar can connect to the node and be bridged to that particular Talk Group? Can it bridge to Brandmeister and/or DMR-MARC?

    Or, can someone on DMR connect to a private contact and be bridged into the AllStar node, and whatever other AllStar nodes it’s connected to?

    Thanks again and 73!

    -Will
    KE4IAJ

    Liked by 1 person

    1. Well good news is no programming needed unless you want to work on the project or write custom scripts for your node! 🙂

      I’ll attempt to answer your questions below:

      Can you expand a little on usage after I get it working? I did update the post for something I missed but essentially the bridge is always on at that point. The configured AllStar node and configured TalkGroup are live as long as the server is running.

      Does it allow me to use the configured AllStar Node to connect to a DMR Talk Group? Then anyone on AllStar can connect to the node and be bridged to that particular Talk Group? That’s correct, the ini files you setup will create a bridge between the AllStar Node and one DMR talk group.

      Can it bridge to Brandmeister and/or DMR-MARC? Or, can someone on DMR connect to a private contact and be bridged into the AllStar node, and whatever other AllStar nodes it’s connected to? It’s Brandmeister and DMR+ but DMARC is not supported pretty much just like a hotspot is. I don’t believe private calls are supported unless perhaps your talkgroup was your DMR ID but I have not tried it.

      Like

  2. Excellent write up and I have just been successful in getting to working from Echolink to DMR. Thanks de AK2DM

    Like

  3. I have followed the instructions given and have run the program. I am able to see audio traffic from my DMR TG 31669 “Global DX System” but am unable to hear or transmit from my Allstar Node 44139.

    Is there something I have missed. Any help in resolving this issue would be greatly appreciated.

    James – KE0KEY
    Global DX System

    Like

  4. Russell,

    How are you? I hope you can help me. I find all of this interesting, and overwhelming at the same time. Right now, all I want to do is create a private network for me and a few of my buddies who are in my radio club. I don’t want to involve Brandmeister or any public network. I took a stab at installing the SharkRF IP Connector Protocol Server on Ubuntu and it works great. I am a Linux newbie, but after a few hours, I got it working perfectly. I have it up and running and the dashboard is working with Apache2 and PHP. The problem is that not everyone uses SharkRF OpenSpots. I have 3 buddies using PiStar with ZumSpot and JumboSpot devices. I wish there was a way that those devices can connect with the SharkRF IP Connector Protocol Server, but according to the guys at SharkRF, there is no way until they incorporate SharkRF IP Connector Protocol Server support in PiStar, which may never happen. What would I need to do to host a server that all types of HotSpots can connect to and use it in a similar way as the SharkRF IP Connector Protocol Server? Any help or detailed information would be greatly appreciated.

    Thank you,

    Martin
    W2MPR

    Like

    1. Hey Martin, that’s pretty cool you got the shark IP running. I briefly looked at how to do it and stopped at Linux….. now that I know more I may have to try that again.
      I think my response may be more to go over than I want in the comments on this post so, if you don’t mind look me up on QRZ and send me an email as I might have some ideas for you.

      Like

  5. Great information, everything is working except one thing. I can hear the the dmr talkgroup on the analog side but the analog side doesnt cross over to the dmr talkgroup. Anyone have any suggestions?

    Like

      1. i will keep reading 🙂 when i key up analog it now shows up in brandmeister last heard, but no audio still after making the telemetry changes, i will keep looking 🙂

        Like

      2. yes, it is static, i have added it on brandmeister.network and in analog_bridge.ini
        [AMBE_AUDIO]
        server = 127.0.0.1
        fromDMRPort = 31100
        toDMRPort = 31103
        ambeMode = DMR
        minTxTimeMS = 2000
        gatewayDmrId = 310693201
        repeaterID = 310693202
        txTg = 31063
        txTs = 2
        colorCode = 1

        Like

  6. I have followed your guide diligently and I’m able to hear from DMR to my allstar node but when I *99 my node I see it populate on last heard but dead silence, doesn’t even show up on my openspot 2 status page. Any suggestions?

    Like

  7. I have followed your guide diligently and I’m able to hear from DMR to my allstar node but when I *99 my node I see it populate on last heard but dead silence, doesn’t even show up on my openspot 2 status page. Any suggestions?

    Like

  8. Hello, I’ve followed the guide to the T and when I try to enable and start the below commands I get an error stating: “Failed to enable unit: The name org.freedesktop.PolicyKit1 was not provided by any .services files”

    Any help will be greatly appreciated!!

    systemctl enable md380-emu
    systemctl start md380-emu

    systemctl enable analog_bridge
    systemctl start analog_bridge

    systemctl enable mmdvm_bridge
    systemctl start mmdvm_bridge

    Like

  9. I would like to use c bridge instead of brandmister any thing special I need to do this will keep my system working when brandmister goes down

    Like

    1. I’m actually not sure that this software can connect to cbridge. That would be a question for the email list I spoke about in the article.

      Like

  10. Hello Russ, I want to express gratitude for your tutorial! Its fantastic when folks like yourself take the time creating and sharing easy to understand documentation that really helps bring understanding to people like me with less experience in working with these tools. Thank you!
    I’ve not achieved success yet, but will get there. I am receiving an error that I’ve yet to resolve. If you have the time to consult, please feel free to email me., Thank you!

    Like

  11. well,quite interesting all of those comments but i would lie if i would say i understood!!!all of it.What i found interesting is the ability too be using my FM AllStar node and taliking to my friends on DMR,,am i right??? i did not read anywhere that i could talk in FM on my AllStar node here ,,with my Yeasu FT2500??? i did not installed anything since i dont read all those too small caracteres and i would lie again that i “know Linux” and i dont.BTW thanks for your work for the Communauty
    Gervais,VE2CKN
    Riviere-Bleue,Quebec

    Like

  12. looking to host a Allstarlink HUB on the cloud. But confused on the usage.. something like .0007 per hour.. How do they caculate that. As I assume if you have a few nodes hooked to it its transmitting info back and forth saying.. You you there, yep i am here..

    Like

    1. Got it working but has anyone had any issues that the audio from analog to DMR not getting through.. Are there some sort of wait times that need to be adjusted. Its hit and or miss.

      Like

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.