Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

monitor (record/archive) function not working as it used to #382

Open
kenalker opened this issue Aug 1, 2024 · 16 comments
Open

monitor (record/archive) function not working as it used to #382

kenalker opened this issue Aug 1, 2024 · 16 comments
Labels
bug Something isn't working

Comments

@kenalker
Copy link

kenalker commented Aug 1, 2024

Describe the bug
I am using the “monitor” function to record repeater audio. We have one node that mixes audio from three RTCMs plus anyone attaching to the node via Allstar. Audio is recorded to a WAV file (date_and_time_stamp.WAV as filename) each time someone keys up until they unkey (one file per key-up), as expected. With the “previous” (very old) version of Allstar, every file contained audio, as would be expected. With ASL3 I’m finding that most, but not all, files are 60 bytes in length and contain no audio. The only files that are a sensible size and have audio appear to be from people who are connected to the node via Allstar. Also, every now and then we get a file that is recorded from someone coming in from an RTCM that sounds like some kind of techo music (it’s very musically interesting, actually - maybe an incorrect CODEC or something), otherwise its just a 60 byte file with no audio content.

I reported this problem on the forum here, but there isn't anything there that isn't in this report. Also, the same issue is posted here which includes a sample file from Andriy_Grin of the "techno music" I referenced above, if you want to hear something fun and interesting (but no intelligible audio).

To Reproduce
Steps to reproduce the behavior:

  1. Add the archivedir command to your node stanza in rpt.conf. Ensure directory where wave files will be written has proper permissions (ASL3 is not setting permissions to directory correctly when directory is created; I'll report this separately). Here is a snippet of rpt.com:
    [1900](node-main)
    archivedir = /var/spool/asterisk/monitor
  2. Key up your repeater and speak.
  3. Play back the WAV file created in the /var/spool/asterisk/monitor/##### directory (where ##### is your actual node number)

Expected behavior
I expect to have a WAV (*.wav) file recorded that I can then play back just as would happen in the older version of ASL.

Software versions (listed in asl-menu, option 4)
OS: Debian GNU/Linux 12 (bookworm)
OS Kernel: 6.1.0-23-amd64
Asterisk: 20.8.1+asl3-3.0.2-1.deb12
ASL [app_rpt] : 3.0.1
Packages:
allmon3 1.2.1-2
asl3 3.2.0-1.deb
asl3-asterisk 2:20.8.1+asl3-3.0.2-1.deb12
asl3-asterisk-config 2:20.8.1+asl3-3.0.2-1.deb12
asl3-asterisk-dev 2:20.8.1+asl3-3.0.2-1.deb12
asl3-asterisk-doc 2:20.8.1+asl3-3.0.2-1.deb12
Our previous system that worked flawlessly was many years old and I am unsure how to determine the ASL version but Asterisk was "Asterisk 1537 built by root @ repeater on a i686 running Linux on 2016-09-03 21:38:23 UT".

Have you run a software update and rebooted?
Yes.

What is the platform - e.g. Raspberry Pi 4, Raspberry Pi 5, Virtual Machine, Desktop, etc.
Beelink SER5 Mini PC with AMD Ryzen 5 5560U 6 core (up to 4.0GHz) 16GB DDR4 RAM, 500GB NVMe M.2 SSD, RX Vega7

@kenalker kenalker added the bug Something isn't working label Aug 1, 2024
@kenalker
Copy link
Author

kenalker commented Aug 1, 2024

I just noticed this warning in the Asterisk console (when people are keying up) which may be helpful:
[2024-07-31 20:17:39.417] WARNING[156961]: translate.c:408 framein: no samples for lintogsm

@kenalker
Copy link
Author

kenalker commented Aug 1, 2024

I just bumped into this article that states, "The Monitor dialplan application and module in Asterisk ... has since been replaced by the MixMonitor dialplan application and module and will be removed as of Asterisk 21". How does this apply to ASL3? Should I be using mixmonitor.so instead of monitor.so?

@jxmx
Copy link
Member

jxmx commented Aug 10, 2024

Moving this to app_rpt.

@jxmx jxmx transferred this issue from AllStarLink/ASL3 Aug 10, 2024
@wd5m
Copy link

wd5m commented Jan 26, 2025

I just bumped into this article that states, "The Monitor dialplan application and module in Asterisk ... has since been replaced by the MixMonitor dialplan application and module and will be removed as of Asterisk 21". How does this apply to ASL3? Should I be using mixmonitor.so instead of monitor.so?

If "monitor" is going away, I hope the "archivedir" method can be updated to use mixmonitor, or something suitable. The reasons for moving to mixmonitor, described in the linked posting, seem prudent. In the meantime, I implemented a method for ASL3 to record audio using mixmonitor commands with a script that gets called from a node event when the number of connections changes from zero (0). So, while this alternate script method is possible, it is not nearly as simple as using "archivedir". The "archivedir" method also logs connection activity info in a txt file, which I have found quite useful over time.

David WD5M

@mkmer
Copy link
Collaborator

mkmer commented Jan 27, 2025

Our local repeater also has been using this function for years, and your note made me wonder if ours was broken too.
I can report our wav files sound fine and are of varying sizes. Since there were a LOT of things to workout when moving to ASL3, maybe something is missing in your config? I'm not sure the best way to compare configs (or what one may matter in this case).
Our codec section looks like this (maybe the first place to start?):

load => codec_adpcm.so              ; Adaptive Differential PCM Coder/Decoder
load => codec_alaw.so               ; A-law Coder/Decoder
load => codec_a_mu.so               ; A-law and Mulaw direct Coder/Decoder
noload => codec_dahdi.so            ; Generic DAHDI Transcoder Codec Translato
load => codec_g726.so               ; ITU G.726-32kbps G726 Transcoder
load => codec_gsm.so                ; GSM Coder/Decoder
load => codec_ulaw.so               ; mu-Law Coder/Decoder
noload => codec_ilbc.so             ; http://en.wikipedia.org/wiki/Internet_Low_Bitrate_Codec

@wd5m
Copy link

wd5m commented Jan 27, 2025

Our local repeater also has been using this function for years, and your note made me wonder if ours was broken too. I can report our wav files sound fine and are of varying sizes. Since there were a LOT of things to workout when moving to ASL3, maybe something is missing in your config? I'm not sure the best way to compare configs (or what one may matter in this case). Our codec section looks like this (maybe the first place to start?):

Are you using simpleusb? This issue may be related to using the simpleusb radio interface. My limited testing seems to get good recordings on an ASL3 HUB VSP VM node without chan_simpleusb loaded. On the other hand, my Raspberry PI4 ASL3 node, using simpleusb, exhibits the symptoms described for this issue. Audio from the radio is not recorded and the described warning message is logged.

Using mixmonitor records without issues on both nodes.

David WD5M

@kenalker
Copy link
Author

I just bumped into this article that states, "The Monitor dialplan application and module in Asterisk ... has since been replaced by the MixMonitor dialplan application and module and will be removed as of Asterisk 21". How does this apply to ASL3? Should I be using mixmonitor.so instead of monitor.so?

If "monitor" is going away, I hope the "archivedir" method can be updated to use mixmonitor, or something suitable. The reasons for moving to mixmonitor, described in the linked posting, seem prudent. In the meantime, I implemented a method for ASL3 to record audio using mixmonitor commands with a script that gets called from a node event when the number of connections changes from zero (0). So, while this alternate script method is possible, it is not nearly as simple as using "archivedir". The "archivedir" method also logs connection activity info in a txt file, which I have found quite useful over time.

David WD5M

David - can you share your script and the call method?

@kenalker
Copy link
Author

kenalker commented Jan 27, 2025

Our local repeater also has been using this function for years, and your note made me wonder if ours was broken too. I can report our wav files sound fine and are of varying sizes. Since there were a LOT of things to workout when moving to ASL3, maybe something is missing in your config? I'm not sure the best way to compare configs (or what one may matter in this case). Our codec section looks like this (maybe the first place to start?):

load => codec_adpcm.so              ; Adaptive Differential PCM Coder/Decoder
load => codec_alaw.so               ; A-law Coder/Decoder
load => codec_a_mu.so               ; A-law and Mulaw direct Coder/Decoder
noload => codec_dahdi.so            ; Generic DAHDI Transcoder Codec Translato
load => codec_g726.so               ; ITU G.726-32kbps G726 Transcoder
load => codec_gsm.so                ; GSM Coder/Decoder
load => codec_ulaw.so               ; mu-Law Coder/Decoder
noload => codec_ilbc.so             ; http://en.wikipedia.org/wiki/Internet_Low_Bitrate_Codec

Thank you for your feedback!

My codec setup (in modules.conf) is identical to yours, so that may not be the issue.
What exact version of ASL3 are you using?
What channel driver modules do you have enabled in modules.conf?
Are you using the "archivedir" command to record?
Do you have just a single node?
How does data flow between your repeater and the ASL3 box (ie. what hardware is in between; RTCM, URIx, etc.)?
Perhaps shoot me full copies of your configs via email, and I can compare?

@kenalker
Copy link
Author

kenalker commented Jan 27, 2025

Our local repeater also has been using this function for years, and your note made me wonder if ours was broken too. I can report our wav files sound fine and are of varying sizes. Since there were a LOT of things to workout when moving to ASL3, maybe something is missing in your config? I'm not sure the best way to compare configs (or what one may matter in this case). Our codec section looks like this (maybe the first place to start?):

Are you using simpleusb? This issue may be related to using the simpleusb radio interface. My limited testing seems to get good recordings on an ASL3 HUB VSP VM node without chan_simpleusb loaded. On the other hand, my Raspberry PI4 ASL3 node, using simpleusb, exhibits the symptoms described for this issue. Audio from the radio is not recorded and the described warning message is logged.

Using mixmonitor records without issues on both nodes.

David WD5M

I am using chan_voter since I have RTCM's at each repeater site. I had chan_simpleusb loaded because we used to have a URIx at one site, but we removed the URIx a while back so I unloaded chan_simpleusb (via modules.conf) and restarted Asterisk but that did not fix the problem described in this ticket.

@wd5m
Copy link

wd5m commented Jan 27, 2025

David - can you share your script and the call method?

I call the script via the event segment(s) in rpt.conf. On my systems running multiple nodes, each node has its own event segment. Here's an example event segment. This is almost a copy of an example from the old Wiki for events.

[events614320]
/etc/asterisk/custom/mixmonitor.sh 0 614320 = s|f|RPT_NUMLINKS
/etc/asterisk/custom/mixmonitor.sh 1 614320 = s|t|RPT_NUMLINKS

My script is below. If you don't need the mp3 conversion, that part could be removed and just rename the wav file. As noted in the script, I'm not sure my choice of using "IAX2" as the channel argument for mixmonitor is the best choice. I haven't found a quick easy way to get or provide the actual connecting channel. This seems to be working for my use though.

#!/bin/bash
# ASL3 broke rpt archivedir so we use mixmonitor.
# https://github.com/AllStarLink/app_rpt/issues/382
# app_mixmonitor must be loaded in modules.conf
# This mixmonitor.sh script starts/stops recording when the number of connections (RPT_NUMLINKS)
# transitions above zero (0) or back to zero.
# There may be an way to do this in extensions.conf too.
#
# I place this script in the /etc/asterisk/custom/ directory with asterisk ownership
# and execute permissions.
#
# These applications are also required:
#   lame
#   soxi
#   libsox-fmt-mp3
#   bc
#
# To run from [events] section in rpt.conf...
#
# /etc/asterisk/custom/mixmonitor.sh 0 <yournodenumber> = s|f|RPT_NUMLINKS
# /etc/asterisk/custom/mixmonitor.sh 1 <yournodenumber> = s|t|RPT_NUMLINKS
#
# The first argument indicates:
#   0 (zero) when RPT_NUMBLINKS changs to 0 (zer) connections, which
#   results in stopping recording, renaming the file and converting to mp3.
#
#   1 (one) when RPT_NUMLINKS changes from from 0 connections, which
#   resutls in starting the recording for the node.
#
# The second argument is the local node number to be recorded.
#
# Be sure to initially create the directory /var/www/html/archive when installing
# this script with ownership of asterisk.
#   sudo mkdir /var/www/html/archive
#   sudo chown asterisk:asterisk /var/www/html/archive
#
# This script will create a subdirectory for the node number specified, similar to archivedir.
#
# 20241122 - D McAnally WD5M
# 20250127 - D McAnally WD5M Add more comments and modify for multi node system.
PGM=`basename $0`
export TERM=dumb
[[ -z "${2}" ]] && exit 100     # Missing node number argument.
NODE="${2}"
ASLRECORDPATH="/var/www/html/archive/${NODE}"
/usr/bin/mkdir -p "${ASLRECORDPATH}"    # make sure the node subdirectory exists.
ASLRECORD="${ASLRECORDPATH}/.aslrecord.wav"

declare -i DEBUG=0      # enables logging if set to 1
LOGFILE="/tmp/${PGM}.log"
function log() {
        DATE=`date '+%a %b %d %T %Z %Y'`
        echo "${DATE} ${@}" >> ${LOGFILE}
        echo "${DATE} ${@}"
}

aslrecordstop() {
        # The aslrecordstop function stops mixmonitor and converts the audio to mp3.
        [ ${DEBUG} -eq 1 ] && log "aslrecordstop ${1} starting"
        [[ -z ${1} ]] && return 100
        [[ ! -f ${1} ]] && return 100
        FLEN=`/usr/bin/soxi -D ${1}`
        FLENI=$(echo "${FLEN}/1" | /usr/bin/bc)
        # ignore audio recording less than 5 seconds.
        if [[ ${FLENI} -le 5 ]] ; then
                [ ${DEBUG} -eq 1 ] && log "${1} audio length ${FLENI} is less than 5 seconds"
                /usr/bin/rm -f ${1}
                return
        fi
        DIR="${1%/*}"
        NEWFN=`/usr/bin/stat -c %w "${1}" | \
                /usr/bin/awk -F '.' '{print $1}' | \
                /usr/bin/tr -d '-' | \
                /usr/bin/tr -d ':' | \
                /usr/bin/tr -d ' '`
        /usr/bin/mv -f ${1} ${DIR}/${NEWFN}.wav
        /usr/bin/lame --quiet -b 16 --resample 8 -a "${DIR}/${NEWFN}.wav" "${DIR}/${NEWFN}.mp3"
        if [[ "${?}" == "0" ]] ; then
                /usr/bin/touch --reference=${DIR}/${NEWFN}.wav ${DIR}/${NEWFN}.mp3
                /usr/bin/rm -f ${DIR}/${NEWFN}.wav
        fi
        [ ${DEBUG} -eq 1 ] && log "aslrecordstop ${1} finished"
}
if [ "${1}" == "0" ]; then
        # No more connections on the node. Turn off audio archiving/monitoring.
        [ ${DEBUG} -eq 1 ] && log "stopping mixmonitor ${2}"
        # Note: Using IAX2 as the channel is probably sketchy for multi node systems.
        # Also, tlb and echolink may use different channel names. e.g. tlb versus IAX2
        # Maybe there is a way to find and use the actual connecting channel name?
        /usr/sbin/asterisk -rx "mixmonitor stop IAX2"
        [ ${DEBUG} -eq 1 ] && log "mixmonitor stop rc is ${?}"
        aslrecordstop ${ASLRECORD}
elif [ "${1}" == "1" ] ; then
        # Someone connected to the node. Turn on audio archiving/monitoring.
        [ ${DEBUG} -eq 1 ] && log "starting mixmonitor ${2}"
        # Note: Using IAX2 as the channel is probably sketchy for multi node systems
        # Also, tlb and echolink may use different channel names. e.g. tlb versus IAX2
        # Maybe there is a way to find and use the actual connecting channel name?
        /usr/sbin/asterisk -rx "mixmonitor start IAX2 ${ASLRECORD}"
        [ ${DEBUG} -eq 1 ] && log "mixmonitor start rc is ${?}"
fi
exit 0

@kenalker
Copy link
Author

I just completed a few hours of investigating and found that app_rpt.c is sending the "mixmonitor start ..." command to Asterisk (via the ast_cli_command routine found in ast_cli.h). This answers the question/concern about "monitor" vs. "mixmonitor" above. It appears it is using the newer version (mixmonitor), so that is put to rest.

Interestingly, I can execute "mixmonitor start voter filename.wav49" from the Asterisk CLI (then "mixmonitor stop voter") and it records just fine. So, the problem doesn't seem to lie within the mixmonitor code. At this point I'm wondering if when app_rpt.c assembles the "mixmonitor start ..." command to send to Asterisk it is somehow getting the channel name wrong. I can't seem to find any way to turn on the proper debugging (at the proper level) to expose what is being sent from app_rpt to Asterisk. I may have to resort to adding hooks (printf's or something) to the code and recompiling, but I'm trying to figure out a way to debug this without having to go that far.

The 60-byte (only) files I have been plagued with for months haven't appeared once during my testing; I'm only getting the strange sounding "techno music" files; no explanation on this.

As an aside, I have another slightly newer installation of ASL3 on another node entirely (different repeater system) and I tried the archivedir command on it this morning and it records silence rather than the "techno music" described above (except that the ID and courtesy tone that the ASL3 code generates are recording just fine).

If anyone has any thoughts or comments on above, please interject!

@mkmer
Copy link
Collaborator

mkmer commented Jan 27, 2025

Our local repeater also has been using this function for years, and your note made me wonder if ours was broken too. I can report our wav files sound fine and are of varying sizes. Since there were a LOT of things to workout when moving to ASL3, maybe something is missing in your config? I'm not sure the best way to compare configs (or what one may matter in this case). Our codec section looks like this (maybe the first place to start?):

load => codec_adpcm.so              ; Adaptive Differential PCM Coder/Decoder
load => codec_alaw.so               ; A-law Coder/Decoder
load => codec_a_mu.so               ; A-law and Mulaw direct Coder/Decoder
noload => codec_dahdi.so            ; Generic DAHDI Transcoder Codec Translato
load => codec_g726.so               ; ITU G.726-32kbps G726 Transcoder
load => codec_gsm.so                ; GSM Coder/Decoder
load => codec_ulaw.so               ; mu-Law Coder/Decoder
noload => codec_ilbc.so             ; http://en.wikipedia.org/wiki/Internet_Low_Bitrate_Codec

Thank you for your feedback!

My codec setup (in modules.conf) is identical to yours, so that may not be the issue. What exact version of ASL3 are you using? What channel driver modules do you have enabled in modules.conf? Are you using the "archivedir" command to record? Do you have just a single node? How does data flow between your repeater and the ASL3 box (ie. what hardware is in between; RTCM, URIx, etc.)? Perhaps shoot me full copies of your configs via email, and I can compare?

Version: Asterisk 20.11.0+asl3-3.2.0-2.deb12
I have 2 nodes ->
1 -> repeater using RTCM's and Voter (chan_dahadi, chan_echolink, chan_iax2, chan_voter are enabled)
2 -> "radio less node" using simpleusb (chan_dahadi, chan_iax2, and chan_simpleusb are enabled)

Both have archivedir=<blah> set in rpt.conf

Both are recording wav files in the archivedir.
Time to put on the detective hat :)

@kenalker
Copy link
Author

kenalker commented Jan 28, 2025

Our local repeater also has been using this function for years, and your note made me wonder if ours was broken too. I can report our wav files sound fine and are of varying sizes. Since there were a LOT of things to workout when moving to ASL3, maybe something is missing in your config? I'm not sure the best way to compare configs (or what one may matter in this case). Our codec section looks like this (maybe the first place to start?):

load => codec_adpcm.so              ; Adaptive Differential PCM Coder/Decoder
load => codec_alaw.so               ; A-law Coder/Decoder
load => codec_a_mu.so               ; A-law and Mulaw direct Coder/Decoder
noload => codec_dahdi.so            ; Generic DAHDI Transcoder Codec Translato
load => codec_g726.so               ; ITU G.726-32kbps G726 Transcoder
load => codec_gsm.so                ; GSM Coder/Decoder
load => codec_ulaw.so               ; mu-Law Coder/Decoder
noload => codec_ilbc.so             ; http://en.wikipedia.org/wiki/Internet_Low_Bitrate_Codec

Thank you for your feedback!
My codec setup (in modules.conf) is identical to yours, so that may not be the issue. What exact version of ASL3 are you using? What channel driver modules do you have enabled in modules.conf? Are you using the "archivedir" command to record? Do you have just a single node? How does data flow between your repeater and the ASL3 box (ie. what hardware is in between; RTCM, URIx, etc.)? Perhaps shoot me full copies of your configs via email, and I can compare?

Version: Asterisk 20.11.0+asl3-3.2.0-2.deb12 I have 2 nodes -> 1 -> repeater using RTCM's and Voter (chan_dahadi, chan_echolink, chan_iax2, chan_voter are enabled) 2 -> "radio less node" using simpleusb (chan_dahadi, chan_iax2, and chan_simpleusb are enabled)

Both have archivedir=<blah> set in rpt.conf

Both are recording wav files in the archivedir. Time to put on the detective hat :)

I just upgraded to the latest ASL3 and it is the same as yours. I also enabled chan_echolink just so my channel drivers would match yours (even though this likely won't fix anything). Result: neither of these changed anything. That said, this pushed me to thinking this really does have something to do with config differences rather than an issue I should be debugging at the code level (at least just yet).

So now I'm curious about your OS and OS Kernel versions, etc. Can you send me a cut-and-paste of the entire page from your asl-menu Main Menu item number 4 "Show System Version Numbers"? [focusing solely on your node being used with the repeater employing the RTCM]

Also, there are ways to change the codec being used with the RTCM (if I'm reading comments in voter.conf correctly). Can you send me the contents of your voter.conf?

Can you shoot over the line where you call archivedir?

Are you positive that when you key up your repeater that uses the RTCM that the file produced on your ASL3 box is truly listenable and includes audio traversing the RTCM itself? Can you send me an example file you've recorded via that ASL3 box JUST IN CASE it has something to do with the audio client that I'm using to listen to play the files (wouldn't that be crazy)?

Thanks so much!!

@kenalker
Copy link
Author

Our local repeater also has been using this function for years, and your note made me wonder if ours was broken too. I can report our wav files sound fine and are of varying sizes. Since there were a LOT of things to workout when moving to ASL3, maybe something is missing in your config? I'm not sure the best way to compare configs (or what one may matter in this case). Our codec section looks like this (maybe the first place to start?):

Are you using simpleusb? This issue may be related to using the simpleusb radio interface. My limited testing seems to get good recordings on an ASL3 HUB VSP VM node without chan_simpleusb loaded. On the other hand, my Raspberry PI4 ASL3 node, using simpleusb, exhibits the symptoms described for this issue. Audio from the radio is not recorded and the described warning message is logged.

Using mixmonitor records without issues on both nodes.

David WD5M

David - Can you send me a cut-and-paste of the entire page from your asl-menu Main Menu item number 4 "Show System Version Numbers"? [Also - thanks for the script!!]

@mkmer
Copy link
Collaborator

mkmer commented Jan 28, 2025

Let's see if I can get everything you asked :)
OS/Kernel: Linux Moline 6.1.0-30-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.124-1 (2025-01-12) x86_64 GNU/Linux
Kernels .29 and .30 have issues with USB sound - hopefully that's not your problem. I haven't noticed a problem on our RTCM systems.

Voter CONFIG: (I don't think it's anything "special"

[general]
port = 667                      ; specifies the UDP port to use for incoming connections
buflen = 480                    ; specifies the receive buffer length in milliseconds.
                                ; This parameter should be set to the maximum expected network latency,
                                ; plus a little padding (100 milliseconds of padding is a good amount).
                                ; The default is 480 milliseconds, the minimum is 320 milliseconds.
                                ; Buffer length may be specified on a per-stanza and per-client basis, see below.

password = xxx                 ; password common to all clients (Main Menu Item 6 - Host Password, on RTCM/VOTER)
utos = n                        ; Turn on IP TOS for Ubiquiti (ToS is enable by default on the RTCM/VOTER) from the host TO the clients

[29972]                         ; define the 1999 instance stanza
Moline = xxxx,transmit        ; master,transmit,adpcm,nulaw,nodeemp,noplfilter,buflen=value,gpsid[=value],prio=value
Lakeview =xxxx,transmit         ;
Ada = xxxx,transmit        ; master - this client is the Master Timing source (the RTCM client that is on the same LAN as the Asterisk server.)
                                ; There can only be 1 Master Timing source per ENTIRE Asterisk server.
                                ;
                                ; secret - password unique to this client
                                ; transmit - this client is intended to have transmit audio sent to it and will have a transmitter connected to it.
                                ; adpcm - this client is to be sent audio in 8000 samples/sec, 4-bit, IMA ADPCM format, rather than default G.711 Mulaw (aka ulaw).
                                ; nulaw - this client is to be sent audio in 4000 samples/second Mulaw (Nulaw, as we call it), rather than the standard 8000 samples/second.
                                ; nodeemp - this client is not to perform de-emphasis of the receiver audio  (This is only to be used with non-voting clients). Switches
                                ; the hardware de-emphasis filter OUT on the client
                                ; noplfilter - this client is to not to perform hardware pl filtering of the audio. Switches the hardware PL filter OUT on the client.
                                ; buflen=value - receive buffer length override for this client only.
                                ; gpsid[=value] - This specifies a gps identity to associate with the specified client (as referred in the /etc/asterisk/gps.conf file).
                                ; prio=value - define a specific priority for this client when voting. Lower numbers are higher priority. Default is 0 if nothing specified.

plfilter = n                    ; use DSP IIR 6 pole High pass filter, 300 Hz corner with 0.5 db ripple (note clients filter PL by default already) 

[20250128060515.zip](https://github.com/user-attachments/files/18578763/20250128060515.zip)

Mode 3 setting in RTCM/VOTER

thresholds = 255,110=5          ;

rpt.conf at archive dir:

[29972]
archivedir=/disk2/nodeaudio

statpost_program=/usr/bin/wget,-q,--timeout=15,--tries=1,--output-document=/dev/null
statpost_url=http://stats.allstarlink.org/uhandler.php
...

@mkmer
Copy link
Collaborator

mkmer commented Jan 28, 2025

Zipped up audio from today (via RTCM)
20250128060515.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants