-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration Reference
Config file: /etc/asterisk/scripts/asl3-herald/asl3-herald.conf
| Setting | Default | Description |
|---|---|---|
Node |
(required) | Your AllStarLink node number |
Debug |
false |
Enable verbose debug logging |
TailMessage.Enable |
true |
Enable/disable tail message function |
TailMessage.MinInterval |
300 |
Minimum seconds between tail messages |
TailMessage.NetworkKeyupTrigger |
false |
When enabled, tail messages also fire after a connected AllStar node unkeys (not just local RF); requires AMI |
TailMessage.Rotation |
(empty) | List of rotation entries (WAV file paths, or dicts with File plus optional Days/TimeStart/TimeEnd/Node) |
TailMessage.Rotation[].Days |
(always eligible) | Optional: daily (default) or a list, e.g. [tuesday] — restricts this entry to those days |
TailMessage.Rotation[].TimeStart / TimeEnd
|
(none) | Optional: HH:MM window this entry is eligible in; omit either side for open-ended |
TailMessage.Rotation[].Node |
(daemon's Node) |
Optional: target a specific node number for this entry (multinodes= setups) |
TailMessage.Rotation[].Enabled |
true |
Set to false to disable an entry without removing it; re-enable with herald toggle-rotation <name> or the web UI |
TailMessage.Rotation[].Speed |
1.0 |
TTS speech-speed multiplier, 0.5-2.0 (ignored on file-uploaded entries; takes effect the next time the entry's audio is (re)generated) |
TailMessage.SkywarnPlus.Enable |
true |
Enable SkywarnPlus WX tail integration |
TailMessage.SkywarnPlus.WxTailFile |
/var/lib/skywarnplus-ng/data/wx-tail.wav |
Path to the WX tail WAV — matches SkywarnPlus-NG's own default; set to /tmp/SkywarnPlus/wx-tail.wav for the classic fork |
TailMessage.SkywarnPlus.SilenceThreshold |
5000 |
File size (bytes) to distinguish active alerts from silence |
TailMessage.SkywarnPlus.NGEnable |
false |
See Tail Messages → SkywarnPlus-NG integration — needed alongside WxTailFile above when running NG, not needed for the classic fork |
TailMessage.SkywarnPlus.NGApiBase |
http://127.0.0.1:8100 |
NG's local dashboard API |
TailMessage.SkywarnPlus.NGPollIntervalSec |
30 |
How often Herald polls NG's API for change detection |
Scheduled[].Name |
(required) | Unique name for the scheduled announcement |
Scheduled[].Cron |
(required) | 5-field cron expression: MIN HOUR DOM MON DOW
|
Scheduled[].File |
(required) | Path to WAV file to play |
Scheduled[].PlayMode |
local |
local (this node only) or global (all connected/linked nodes) |
Scheduled[].Node |
(daemon's Node) |
Optional: target a specific node number for this entry (multinodes= setups) |
Scheduled[].Enabled |
true |
Set to false to disable an entry without removing it; re-enable with herald toggle-schedule <name> or the web UI |
Scheduled[].Speed |
1.0 |
TTS speech-speed multiplier, 0.5-2.0 (ignored on file-uploaded entries) |
AMI credentials are never stored in asl3-herald.conf. The daemon reads them automatically at startup and on every config reload from /etc/allmon3/allmon3.ini (Allmon3 users) or /etc/asterisk/manager.conf (Supermon and other frontends). If neither file yields usable credentials, herald falls back to the legacy CLI kerchunk counter (local RF unkeys only).
Node: "YOUR_NODE_NUMBER"
Debug: false
TailMessage:
Enable: true
MinInterval: 300
NetworkKeyupTrigger: false
Rotation:
- /etc/asterisk/scripts/asl3-herald/announcements/tail-messages/tail1.wav
SkywarnPlus:
Enable: true
WxTailFile: /var/lib/skywarnplus-ng/data/wx-tail.wav
SilenceThreshold: 5000
Scheduled:
- Name: "ARRL Audio News"
Cron: "30 7 * * 6" # Saturdays at 7:30 AM
File: /etc/asterisk/scripts/asl3-herald/announcements/scheduled/arrl-news.wav
Enabled: true
- Name: "Second Saturday Breakfast Net"
Cron: "0 8 8-14 * 6" # 2nd Saturday (DOM 8-14, DOW 6) at 8:00 AM
File: /etc/asterisk/scripts/asl3-herald/announcements/scheduled/breakfast-net.wav
Enabled: trueTail Messages and Scheduled Announcements each store their audio in their own subdirectory under announcements/ (tail-messages/ and scheduled/) — this keeps the two from ever colliding on a filename just because an entry in each happens to share a name. Entries created before this existed still work fine from wherever they already are; editing an entry (even without changing anything) moves it into the correct subdirectory automatically.
| Path | Description |
|---|---|
/usr/local/bin/asl3-herald/asl3-herald.py |
Main daemon (also exposes CLI subcommands used by herald) |
/usr/local/bin/asl3-herald/version.txt |
Version file |
/usr/local/bin/herald |
Management command |
/etc/asterisk/scripts/asl3-herald/asl3-herald.conf |
Configuration file |
/etc/asterisk/scripts/asl3-herald/asl3-herald.state |
Runtime state (rotation index, last played time, playback history) |
/etc/asterisk/scripts/asl3-herald/asl3-herald-disabled |
Disable flag (presence disables tail messages) |
/etc/asterisk/scripts/asl3-herald/announcements/tail-messages/ |
Tail Message announcement WAV files |
/etc/asterisk/scripts/asl3-herald/announcements/scheduled/ |
Scheduled Announcement WAV files |
/etc/systemd/system/asl3-herald.service |
systemd service unit |
/var/www/html/asl3-herald/ |
Shared UI fragment/JS and JSON API (PHP) |
/var/www/html/asl3-herald/img/ |
Logo assets (icon + banner), used by the Allmon3/Supermon page headers |
/usr/share/allmon3/asl3-herald.html |
Allmon3 entry point (installed alongside Allmon3's own index.html) |
/var/www/html/supermon/asl3-herald.php |
Supermon entry point (installed alongside Supermon's own index.php) |
install.sh / uninstall.sh (repo root) |
Installer / uninstaller — not installed on the node itself |
/etc/sudoers.d/asl3-herald-web |
Narrow passwordless sudo rule for www-data to run herald
|
/opt/piper/ |
Piper TTS binary |
/var/lib/piper-tts/ |
Piper voice models (shared with SkywarnPlus-NG / asl3-tts) |