Tailmessage not working in ASL3

Setup Information

Use sudo asl-show-version to obtain this information from the console or SSH

Asterisk 22.5.2+asl3-3.6.2-1.deb12 built by builder @ allstarlink.org on a x86_64 running Linux │
│ on 2025-10-27 19:30:01 UTC

Inquiry

I've been running a HamVOIP installation on a RPi for several years as my repeater controller. I like a lot of the features and customizations HamVOIP has, but I dislike that I can't run it on my home server as a VM, and that the software version is 20+ years old. So I decided to move over to the new ASL3 running on a virtual machine on my home server. I have everything up and running with my nodes, and the RTCM voters working great. I've noticed that with ASL3, there are a lot of permission issues since asterisk no longer runs as root user. I've been overcomign those obstacle slowly. However, I have not been able to get the tailmessage to work, no matter what I try.

I installed SkywarnPlus and got it working but noticed that the tail message wasn't playing. So I've been changing settings in my rpt.conf to troubleshoot. At first I thought it might be another permissions issue, but I changed the file to one of the default sound files, and it still doesn't play the tail message. I even tried enabling the tail extension in extensions.conf to try to get it to work, but alas, it still didn't work. No matter what I try, the tail message does not play in my ASL3 install. I have been searching the web and forums, and all I found on this topic was some posts from September/October of 2024, but there was no resolution to the problem listed.

Below is my lines from rpt.conf with the tailmessage settings. I have the time set very low for testing purposes. Has anyone else run into this problem, and more importantly, has anyone found a solution to the problem? I'm open to any suggestions. I've almost exhausted testing everything. The last thing I was going to try is to spin up another VM and install ASL3 before I make any of my config changes for my node, and see if the tailmessage works. I'll post my results once I finish that test, but I wanted to get this question/topic out there in case anyone has a resolution they can share with me so I stop going nuts over this.

; ************************* TAIL MESSAGE SETTINGS - values in miliseconds *************************

;tailmessagelist = /tmp/SkywarnPlus/wx-tail

tailmessagelist = /usr/share/asterisk/sounds/en/activated ;test sound file

; This list is ignored if the dialplan (extensions.conf) contains the extension TAIL.

tailsquashedtime=30000

tailmessagetime=120000 ; 600000 = 10 minutes, 900000 = 15 minutes

Any help is appreciated.

73,

Larry, N6LKA

Most likely your problem is the same as what I experienced.

SkywarnPlus.py calls asterisk the wrong way or with the wrong path. I'm not in front of mine so I can't look it up right now to give you the exact details, but what I had to do was manually edit SkywarnPlus.py in the skywarnplus directory and find where it was calling the asterisk program (namely to playback the audio) and put the correct path to asterisk in there … which I think is … /use/local/sbin/asterisk

After I replaced those entries it worked fine. But I did scratch my head on it for several days before I came to that conclusion/fix lol.

-de W4MSI

Thanks for the reply.

Skywarn will play the audio just fine if I manually run it from the command prompt. The problem exists even when I try to set the tailmessage to one of the default audio files, like I have in my example (set to play ‘activated’) which I set for a test. That has nothing to do with skywarn. Thus, the tailmessage function within asterisk/rpt.conf itself is not working. Although I am trying to get it to work FOR Skywarn, this isn’t a Skywarn issue.

1 Like

Tail messages work fine in ASL3. I'm think something is wrong with the install because permissions should not be an issue. Let's address that. What permissions did you run into and what did you do to fix them? Did you change the RTCM port or make the udev rules change to allow the old port?

Ok my bad, I misread your post to a degree. It was late lol. But I see what you’re saying now. Yeah your rpt.conf seems fine in that section you posted. I’ve had no issues with tail messages on ASL3 just as WD6AWP mentions. I’m not familiar with any of the RTCM settings, but I might agree that maybe there’s something wrong with the install. Might try spinning up a new VM and test it again. I also haven’t ever installed it on a VM or any hardware other than a Pi. Pi’s have been my go to. So I may not be of any additional help. I’ll let the others pick it up from here. Good luck.

Well it would seem that my tail messages aren’t playing now either. I logged into the controller and injected an alert into skywarnplus, it creates the tail message and initially announces the alert, but the tail message never seems to engage. I also did like the OP and used the activated sound file as a test (which plays fine when manually fired) and no tail message ever happens with that either. I know for a fact they were working, not long ago but can’t pinpoint a date. I did update ASL3 sometime recently, like a week or maybe 2 ago can’t remember for sure. I wonder if the latest update might have broken something with this.

Just a datapoint, With ASL3.x, I’ve configured the tailmessage many versions ago, and have never had it not just work through all the upgrades.

I use tailmessagelist with the entire path to my audio file mostly so I remember where stuff is. Never had an issue.

73

It's simple enough to rule out any file permissions issues.

First off, please review ASL3 Manual : Permissions.

Then, if you are having issues with a certain audio file, you need to check the permissions for the file AND the full directory path.

Using your example file, /usr/share/asterisk/sounds/en/activated you can use the following commands :

# check the file (the "*" is needed because the audio file has an extension)
ls -l /usr/share/asterisk/sounds/en/activated*

# check the directory permissions
ls -ld /usr/share/asterisk/sounds/en
ls -ld /usr/share/asterisk/sounds
ls -ld /usr/share/asterisk
ls -ld /usr/share
ls -ld /usr
ls -ld /

If you are having issues with scripts and you want to check that they'll run OK when exec'd by asterisk, try using sudo -u asterisk ... like :

sudo -u asterisk /usr/local/bin/SkywarnPlus/SkywarnPlus.py

Dusty, misery love’s company. lol I’m sorry to hear you’re also have the same problems now, but I kinda feel better that its not just me.

I just installed ASL3 last weekend, and I’ve been working all week to transfer over settings and a few custom scripts. I don’t recall if my tailmessage ever worked, but I’ve only been using ASL3 for the past week.

Tim - to clarify, the permissions issues I’ve seen were with a few of my own scripts, and had nothing to do with ASL or skywarn. It was more me having to change my scripts to update file paths than anything else. To answer your question about the RTCM, I changed it to use the 1667 port, as per the instructions on the site. The RTCM/voters are working fine.

On a seperate note, I saw that Debian 13 is now supported, and the instructions online to upgrade. I followed the instructions and did the upgrade last night. However, it completly broke Skywarn. I got several errors that seem to by python errors when trying to run Skywarn. I then tried installing the new ASL appliance, but that somehow broke my entire VM to where it stalled, and wouldn’t boot. Thankfully, I followed SOP and made a backup before upgrading to Deb13, so I had to restore back to Deb12 to get it up and running again.

I might try spinning up a new VM again.

I ran the commands to check permissions. It looks like the ‘activated’ sound file that comes with ASL has root:root permissions. I then checked the /tmp folder, and path to the wx-tail.wav. The initial folder /tmp is root:root but the rest of the path is asterisk:asterisk. Could this be the problem?

root@AllStar-Rpt-Server:~# ls -l /usr/share/asterisk/sounds/en/activated*
-rw-r--r-- 1 root root 8512 Jan 26 2018 /usr/share/asterisk/sounds/en/activated.ulaw
root@AllStar-Rpt-Server:~# ls -ld /usr/share/asterisk/sounds/en
ls -ld /usr/share/asterisk/sounds
ls -ld /usr/share/asterisk
ls -ld /usr/share
ls -ld /usr
ls -ld /
drwxr-xr-x 9 root root 20480 Nov 16 19:14 /usr/share/asterisk/sounds/en
drwxr-xr-x 3 root root 4096 Nov 16 19:14 /usr/share/asterisk/sounds
drwxr-xr-x 13 root root 4096 Nov 16 19:14 /usr/share/asterisk
drwxr-xr-x 130 root root 4096 Nov 16 20:58 /usr/share
drwxr-xr-x 12 root root 4096 Jun 6 2021 /usr
drwxr-xr-x 19 root root 4096 Nov 18 14:44 /
root@AllStar-Rpt-Server:~# ls -ld /tmp
drwxrwxrwt 11 root root 4096 Nov 22 07:31 /tmp
root@AllStar-Rpt-Server:~# ls -ld /tmp/SkywarnPlus/
drwxr-xr-x 2 asterisk asterisk 4096 Nov 22 00:22 /tmp/SkywarnPlus/
root@AllStar-Rpt-Server:~# ls -ld /tmp/SkywarnPlus/wx-tail.wav
-rw-r--r-- 1 asterisk asterisk 30556 Nov 22 00:22 /tmp/SkywarnPlus/wx-tail.wav

As long as the file is world-readable - i.e. the last three permission bits are r-- or r-x then the asterisk user can read the file regardless of the owner. The files in /usr/share/asterisk are properly owned by root as they should be.

My skywarn also broke after my last update. I couldn't get it working, even with a wipe and fresh reload of SWP so I went to chatgpt and had it help me rescript it. I was getting those python errors too (assuming the same ones). So I now have SWP working but yeah I'm thinking the latest updates broke a few things.

Ok, there is definetly something wrong with tailmessage not working in ASL3. I just spun up a new VM, installed Debian 13, then installed the ALS3 application, as per the instructions on the site. I setup my test node 501267 via the asl-menu. The only thing I altered in the rpt.conf was to add the tailmessage section to my node stanza (see below). I also copied over the voter.conf settings from the other VM (chaning the node number to my test node) and pointed my RTCM on my repeater to the new IP of the test VM (so I could hear the tx from the test node). I didn’t alter anything else in rpt.conf, and left all the settings as default. I then tested if the node would play the tail message, and it is not. This is a brand new install, and fresh config, but tailmessage is still not working, which leads me to beleive that the problem is with ASL3, not a config issue.

Below is my node stanza from rpt.conf. I only added the tailmessage section with the stock ‘activated’ sound file to play as the tail message.

501267
rxchannel = Voter/501267
statpost_url = http://stats.allstarlink.org/uhandler
idrecording = |iN6LKA
duplex = 2
;startup_macro = *8132000

; ************************* TAIL MESSAGE SETTINGS - values in miliseconds *************************
;tailmessagelist = /tmp/SkywarnPlus/wx-tail
tailmessagelist = /usr/share/asterisk/sounds/en/activated
; This list is ignored if the dialplan (extensions.conf) contains the extension TAIL.
tailsquashedtime=30000
tailmessagetime=120000 ; 600000 = 10 minutes, 900000 = 15 minutes

That "looks" like it should work. As a quick test, I :

  • added similar statements to one of my nodes
  • started the asterisk CLI with sudo asterisk -r -vvvv
  • entered the CLI command module reload app_rpt.so
  • keyed up my node, heard the CW ID play, and then I heard the tailmessage play. In addition, the CLI logging said Playing '/usr/share/asterisk/sounds/en/activated.ulaw'

So, it's working for me :slight_smile:

Does the Asterisk CLI logging on your node give you any insights?

I ran the commands you listed via CLI and it did throw an error about the tail message, but I’m not sure what this means, or how to fix it. Any help/advice is appreciated.

-- Hungup 'DAHDI/pseudo-1810571136'

[2025-11-22 13:03:52.493] WARNING[8008][C-0000001a]: pbx.c:4521 __ast_pbx_run: Channel 'DAHDI/pseudo-99575127' sent to invalid extension but no invalid handler: context,exten,priority=telemetry,TAIL,1
-- Hungup 'DAHDI/pseudo-99575127'

Again, this is a fresh install, and the only thing I changed was to add the tailmessage lines to rpt.conf. Shouldn’t this work ‘out-of-the-box’ with a new install?

What version of asterisk do you have installed (e.g. /usr/sbin/asterisk -V) ?

Just for testing, on my other production VM, I ran the same commands and looked at the logging from CLI. Below is the output. I can see it play the repeater ID, but it doesn’t even try to play the tail message.

-Server (pid = 557)
-- Hungup 'DAHDI/pseudo-500049825'
-- Hungup 'DAHDI/pseudo-1157291919'
-- Hungup 'DAHDI/pseudo-42505016'
-- <DAHDI/pseudo-765839714> Playing '/etc/asterisk/local/node-id.gsm' (language 'en')
-- Hungup 'DAHDI/pseudo-1293932659'
-- Hungup 'DAHDI/pseudo-765839714'

On my test VM, node 501267 that I spun up this morning it shows:
Asterisk 22.5.2+asl3-3.6.2-1.deb13

On my other VM with my nodes for my repeater, it is:
Asterisk 22.5.2+asl3-3.6.2-1.deb12

I'm wondering if this might be PR #821. Can you try the latest update (in the "beta" stream).

sudo asl-repo-switch -l beta
sudo apt update
sudo apt upgrade
1 Like

I ran the update as you listed, and tried it again on my test VM. It worked, and it played the ‘activated’ tail message. I waited 2 minutes and keyed it again to make sure, and it still worked.

Module 'app_rpt.so' reloaded successfully.
-- Reloading module 'app_rpt.so' (Radio Repeater/Remote Base Application)
[2025-11-22 15:07:45.174] NOTICE[12391]: app_rpt.c:5546 load_config: Domain used for DNS node lookup is: nodes.allstarlink.org
-- Re-Loading config for repeater 501267
-- Hungup 'DAHDI/pseudo-1001423115'
-- <DAHDI/pseudo-854279969> Playing '/usr/share/asterisk/sounds/en/activated.ulaw' (language 'en')
-- Hungup 'DAHDI/pseudo-854279969'
-- Hungup 'DAHDI/pseudo-1828653989'
-- Hungup 'DAHDI/pseudo-1151237948'
-- <DAHDI/pseudo-1600340078> Playing '/usr/share/asterisk/sounds/en/activated.ulaw' (language 'en')
-- Hungup 'DAHDI/pseudo-1600340078'

Now I need to try it on my production VM and see if it works. I’m working on that now, and I’ll report back after I test.

On a different note, now that I switched to the beta repo, I don’t think I want to stay on beta repo. How do I switch back to stable? If this is the fix, when do you think it will be moved to stable and released?
I’ll reply again shortly after I test on my PROD VM.