Giter VIP home page Giter VIP logo

asl-asterisk's People

Contributors

ajpaul25 avatar allstarlink1 avatar davidgsd avatar du8bl avatar dvswitch avatar encbar5 avatar jimzah avatar kb4mdd avatar kg7qin avatar lejudd avatar mkmer avatar mrbungle42 avatar n0nb avatar n2mh avatar n4irs avatar n8thn avatar rgr4y avatar thecranston avatar tolitski avatar tsawyer avatar vk6flab avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

asl-asterisk's Issues

usbradio adds hardcoded 2000mS delay before setting rxCarrierDetect=0 when in VOX mode

Describe the bug
usbradio's carrierfrom=vox mode works very well for detecting when audio is present on the Rx Audio line. This makes it easy to use an HT - or any other radio that does not have a COS output - as a node radio, and for usbradio to then reliably detect when any audio signal (even just ~1mV of background room noise) is present, thus enabling support for a wide variety of radios that don't have an easily accessible COS output. This works very well for me with exception of one issue: asterisk/channels/xpmr/xpmr.c defines a hardcoded delay, #define XPMR_VOX_HANGTIME 2000. After transmitting into your node and then unkeying your radio, xpmr.c:PmrRx() then does a countdown and will not set pChan->rxCarrierDetect to 0 until this full 2000mS has elapsed. chan_usbradio.c:usbradio_read() then sets o->rxcarrierdetect to 0 (cd) if rxcdtype==CD_XPMR_VOX. This results in a full 2 second delay after every transmit before it is considered to have ended and thus causes a very noticeable silence and delay for all users on connected remote nodes and systems, before the post-transmit hang timer then starts, the repeater courtesy tone plays, and other nodes/users can key up.

I was able to follow the instructions on https://github.com/AllStarLink/ASL-Asterisk#compiling and compile on my RPi4, and changed the XPMR_VOX_HANGTIME to 500 mS and verified that everything now works very well. My transmits now end much sooner after I unkey, and I see no false drops in carrier detect, even when not talking.

Thus I believe delay of more like ~500mS should generally be much more optimal, though ideally this should be configurable with a setting in the usbradio.conf or other .conf file. I would consider this a bug, since carrierfrom=vox mode creates a very noticeable issue in adding 2 seconds of silence after every Tx. If this were made a configuration parameter, such as adding a new parameter named voxhangtime after the carrierfrom parameter in usbradio.conf, it could have the same default value as XPMR_VOX_HANGTIME (2000 mS), thereby ensuring full backwards-compatibility in case any existing nodes/users actually want that long of a delay, but would enable the value to be easily reduced to something more reasonable and easily adjusted as needed.

To Reproduce
Steps to reproduce the behavior:

  1. In usbradio,conf set carrierfrom=vox, ctcssfrom=no, rxdemod=speaker.
  2. Disconnect COS line (if present) from your node radio or USB interface. Set the squelch control on your radio so there is no noise on the Rx Audio line when you are not transmitting into your node.
  3. Transmit audio into your node. Your transmission will then go out to any connected nodes, and if you watch the status on a remote node you'll see that your node continues to show as keyed for a full 2 seconds after you unkey.

Expected behavior
XPMR_VOX_HANGTIME should be a configuration parameter instead of a #define, so it can be set in a .conf file to any desired value, or at least within a range of ~ 200 - 2000 mS.

Screenshots
I could provide a video if desired of me talking into my node, unkeying, and a remote node monitor page then showing I'm still keyed for 2 additional seconds. But the issue is easy to see by changing the XPMR_VOX_HANGTIME #define to various values and then looking at the resulting delay between the end of your transmit and the courtesy tone/end of the node's transmit.

Additional context
ASL and usbradio works very well at reliably detecting the presence of even a quiet carrier on the Rx audio line, with no false triggers and no false dropouts but the 2 second delay definitely seems excessive. Making this configurable should be a simple change that will add a lot of value in a range of use cases. I believe many people would like to build their own nodes using an HT for the node radio and thereby get away from the commercial nodes (which often are high-priced and/or have low-quality noisy RF modules and proprietary software), but the COS requirement is a challenge because it requires either modifying an HT, using a more expensive mobile radio having a COS output, using the usbradio vox function with the 2 second delay after every Tx (which also affects all other connected nodes), or recompiling the code with the #define change.

I'd be happy to do a pull request and implement and test the new cfg parameter if that would help. (I see there was recently a merged pull request #12 which is similar in that it added one config parameter to usbradio.conf and thus seems to be a good template for adding a cfg parameter.)

Pi4 audio issues with two nodes

Hello,

I have a new Pi4 install running asl-2.0.0-beta.5-kc1kcc-20210226-rpi-armhf.img.zip. There are two RF nodes on this box.

There are some significant audio issues when both nodes have audio playing at the same time. For example, if one node is IDing and the other is speaking telemetry. The audio will drop out on one, sometimes both. It's particularly concerning when a voice ID is interrupted. Radios will key down with no audio for several seconds. Sometimes audio will play intermittently, with seconds of dead air in between.

I've run ASL 1 on a Pi2 for several years without any such issue. This Pi4 replaced the Pi2 with otherwise all of the same hardware, radios etc.

Thank you. 73

Kyle
K0KN

postrotate command in asl-asterisk.logrotate failes on Debian

It seems the asl-asterisk.logrotate file includes a postrotate command that fails because there is no asterisk service file in /etc/init.d/ I substituted the asterisk -rx "logger reload" command. There may be a better/different method though.

David McAnally
WD5M

Add GPIO Audio Card Support

Adding GPIO audio card support for the Fe-Pi sound card, or potentionally others would be very beneficial. It provides better reliabilty than USB ever could.

AllStarLink app_rpt version 3 Alpha Release debian buster-backports - the public key is not available: NO_PUBKEY

Ran into a issue on Step#3 of the "AllStarLink app_rpt version 3 Alpha Release Notes Revised 2/25/2023 rev 3-5" by Danny Loyd & TIm Sawyer.
Part of Step#3 says to do this command:
./install-allstarlink-repository
It's saying something about NO_PUBKEY stuff, and it stopped.
So this is where I'm at for now.
Also showed what version I'm running on this RPi.

root@TEST-ASL30-K6CV:/tmp# ./install-allstarlink-repository
If prompted to overwrite allstarlink-keyring.gpg, answer y.
File '/usr/share/keyrings/allstarlink-keyring.gpg' exists. Overwrite? (y/N) y
Get:1 http://deb.debian.org/debian bullseye-backports InRelease [49.0 kB]
Hit:2 http://apt.allstarlink.org/repos/asl_builds buster InRelease
Get:3 https://deb.debian.org/debian buster-backports InRelease [51.4 kB]
Get:4 http://raspbian.raspberrypi.org/raspbian bullseye InRelease [15.0 kB]
Get:5 http://archive.raspberrypi.org/debian buster InRelease [32.6 kB]
Err:1 http://deb.debian.org/debian bullseye-backports InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY 0E98404D386FA1D9
Err:3 https://deb.debian.org/debian buster-backports InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY 0E98404D386FA1D9
Err:4 http://raspbian.raspberrypi.org/raspbian bullseye InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9165938D90FDDD2E
Err:5 http://archive.raspberrypi.org/debian buster InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 82B129927FA3303E
Reading package lists... Done
W: GPG error: http://deb.debian.org/debian bullseye-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY 0E98404D386FA1D9
E: The repository 'http://deb.debian.org/debian bullseye-backports InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: GPG error: https://deb.debian.org/debian buster-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY 0E98404D386FA1D9
E: The repository 'https://deb.debian.org/debian buster-backports InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: GPG error: http://raspbian.raspberrypi.org/raspbian bullseye InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9165938D90FDDD2E
E: The repository 'http://raspbian.raspberrypi.org/raspbian bullseye InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: GPG error: http://archive.raspberrypi.org/debian buster InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 82B129927FA3303E
E: The repository 'http://archive.raspberrypi.org/debian buster InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
root@TEST-ASL30-K6CV:/tmp# cat /etc/release
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
root@TEST-ASL30-K6CV:/tmp# uname -a
Linux TEST-ASL30-K6CV 5.10.103-v7+ #1529 SMP Tue Mar 8 12:21:37 GMT 2022 armv7l GNU/Linux
DE K6CV - Chris Victor

net-setup inserting comma between dns servers in dhcpcd.conf

In net-setup, a comma is being inserted between $PDNS and $SDNS for the static domain_name_servers value in /etc/dhcpcd.conf. This seems to result in an error in /etc/resolv.conf. A trailing comma is included on the nameserver value in /etc/resolv.conf. Then the host command and Allstar Asterisk message log reports dns lookup errors.

Only a space is required between those values in /etc/dhcpcd.conf. Substituting a space for the comma in /etc/dhcpcd.conf seems to resolve the error in /etc/resolv.conf.

Note, there are two lines to change in net-setup to fix this issue for both wired and wlan network devices.

Kerchunk filter

App-rpt has long needed a real kerchunk filter. Using rxondelay is not a suitable workaround in most cases.

usbradio - no RX audio

Using a DMK URIxB connected to a Pi4 running ASL2.0.0b6, SimpleUSB works perfectly for both RX and TX. With the same connections, USBradio does not get RX audio.

asl-menu -> radio-tune-menu -> Set Rx Voice Level (using display) ---- audio meter does not budge
asl-menu -> radio-tune-menu -> Toggle echo mode ---- does not echo anything

/var/log/asterisk/messages shows the following when USBradio is enabled:

[Jan  2 21:52:29] NOTICE[1986] chan_usbradio.c: Assigned USB device 1-1.2:1.0 to usbradio channel usb_1111
[Jan  2 21:52:29] WARNING[1986] chan_usbradio.c: Loaded parameters from usbradio_tune_usb_1111.conf for device usb_1111 .
[Jan  2 21:52:29] WARNING[1985] chan_usbradio.c: Possibly stuck USB read channel. [usb_1111]
[Jan  2 21:52:29] WARNING[1985] chan_usbradio.c: Nope, USB read channel [usb_1111] wasn't stuck after all.

Working simpleusb.conf:

; If you are going to use this channel driver, you MUST enable it in modules.conf
; change:
; noload => chan_simpleusb.so ;                   CM1xx USB Cards with Radio Interface Channel Driver (No DSP)
; to:
; load => chan_simpleusb.so ;                   CM1xx USB Cards with Radio Interface Channel Driver (No DSP)

; SimpleUSB configuration

[general]

[usb_1111]

eeprom = 0              ; EEPROM installed: 0,1
                        ; 0 = no (default)
                        ; 1 = yes

hdwtype = 0             ; Leave this set to 0 for USB sound fobs modified using
                        ; the instructions from usbfob.pdf. Use a setting of
                        ; 1 is for Dingotel/Sph interfaces.

; Receiver parameters

rxboost = 1             ; 0 = 20db attenuator inserted, 1= 20db attenuator removed
                        ; Set to 1 for additonal gain if using a low-level receiver output

carrierfrom = usbinvert ; no,usb,usbinvert
                        ; no - no carrier detection at all
                        ; usb - from the COR line on the USB sound fob (Active high)
                        ; usbinvert - from the inverted COR line on the USB sound fob (Active low)

ctcssfrom = no          ; no,usb,usbinvert
                        ; no - CTCSS decoding, system will be carrier squelch
                        ; usb - CTCSS decoding using input from USB sound fob (Active high)
                        ; usbinvert - from the inverted CTCSS line on the USB sound fob (Active low)

deemphasis = no         ; enable de-emphasis (input from discriminator)

plfilter = no           ; enable PL filter

rxondelay = 5           ; number of 20ms intervals to hold off receiver turn-on indication


; Transmitter parameters

txmixa = voice          ; Left channel output (A): no,voice
                        ; no - Do not output anything
                        ; voice - output voice only

txmixb = no             ; Right channel output (B): no,voice
                        ; no - Do not output anything
                        ; voice - output voice only

txboost = 1

invertptt = 0           ; Invert PTT: 0,1
                        ; 0 - ground to transmit
                        ; 1 - open to transmit

preemphasis = 0         ; Perform standard 6db/octave pre-emphasis

; pager = no            ; no,a,b (e.g. pager = b means "put the normal repeat audio on channel A, and the pager audio on channel B")

; duplex3 = 0           ; duplex 3 gain setting (0 to disable)

duplex = 0              ; Duplex 0,1
                        ; 0 - half duplex
                        ; 1 - full duplex

#includeifexists custom/simpleusb.conf

Non-working usbradio.conf:

; If you are going to use this channel driver, you MUST enable it in modules.conf
; noload => chan_usbradio.so ;                    CM1xx USB Cards with Radio Interface Channel Driver (DSP)
; to:
; load => chan_usbradio.so ;                    CM1xx USB Cards with Radio Interface Channel Driver (DSP)

; Usbradio channel driver Configuration File


[general]

[usb_1111]

eeprom = 0                      ; EEPROM installed: 0,1
                                ; 0 = no (default)
                                ; 1 = yes

hdwtype = 0                     ; Leave this set to 0 for USB sound fobs modified using
                                ; the instructions from usbfob.pdf. Use a setting of
                                ; 1 is for Dingotel/Sph interfaces.

rxboost = 1                     ; 0 - 20db attenuator inserted
                                ; 1 - 20db attenuator removed
                                ; Set to 1 for additonal gain if using a low-level receiver output

rxctcssrelax = 1                ; reduce talkoff from radios w/o CTCSS TX HPF
                                ; Do not change this, leave this as a 1

rxsqhyst = 500                  ; Setting Squelch Hysteresis
                                ; 3000 is the default amount.
                                ; An amount of 500 seems good.
                                ; Then set the squelch to the highest number revealed when doing a "radio
                                ; tune rxsquelch" - running the command multiple (like 20) times in a row.
                                ; <http://allstarnode.com/wiki/lib/exe/fetch.php?media=asterisk-notes-wj8g.pdf>

txctcssdefault = 113.8          ; default TX CTCSS frequency, any frequency permitted
rxctcssfreqs = 113.8            ; RX CTCSS frequencies list in floating point. must be in table
txctcssfreqs = 113.8            ; TX CTCSS frequencies list. any frequency permitted. will follow RX CTCSS frequency
rxctcssoverride = 0             ; Set to 1 to start out in carrier squelch mode

carrierfrom = usbinvert         ; no,usb,usbinvert,dsp,vox
                                ; no - no carrier detection at all
                                ; usb - from the COR line on the USB sound fob (Active high)
                                ; usbinvert - from the inverted COR line on the USB sound fob (Active low)
                                ; dsp - from RX noise using DSP techniques
                                ; vox - voice activated from RX audio

ctcssfrom = no                  ; no,usb,usbinvert,dsp
                                ; no - no CTCSS decoding, system will be carrier squelch
                                ; usb - from the CTCSS line on the USB sound fob (Active high)
                                ; usbinvert - from the inverted CTCSS line on the USB sound fob (Active low)
                                ; dsp - CTCSS decoding using RX audio in DSP.
                                ; rxdemod option must be set to flat for this to work.

rxdemod = flat                  ; input type from radio: no,speaker,flat
                                ; no - RX audio input not used
                                ; flat - Use RX audio from discriminator (before de-emphasis)
                                ; speaker - use de-emphasized audio

rxsquelchdelay = 30             ; delayline in ms carrier squelch tail eliminator

rxondelay = 0                   ; Number of 20mSec intervals following the release of PTT.
                                ; Uncomment and/or adjust for simplex nodes to eliminate "Ping Ponging"
                                ; or "Relay Racing". A positive value here will instruct the usbradio
                                ; driver to ignore the COR line for a specified number of 20mSec
                                ; intervals following the release of PTT. Use this ONLY on simplex
                                ; nodes, and leave commented out for repeaters or other full duplex nodes.

txboost = 1                     ; Add transmitter audio gain boost: 0,1

txprelim = yes                  ; Audio processing on left output channel: no,yes
                                ; no - Audio is not pre-emphasized and limited.
                                ; Suitable for use on a microphone input
                                ; yes - Audio is pre-emphasized and limited.
                                ; Suitable for direct connection to an FM modulator

txlimonly = no                  ; Audio limiting with no pre-emphasis on output channel: no,yes
                                ; no - Audio is not limited.
                                ; yes - Audio is  limited.
                                ; Suitable for transmitters with no limiting but with pre-emphasis.

txtoctype = notone              ; Transmit tone control type: no,phase,notone
                                ; no - CTCSS tone encoding with no hang time
                                ; phase - encode CTCSS and reverse phase
                                ; AKA ("reverse burst") before unkeying TX
                                ; notone - encode CTCSS and stop sending tone before unkeying TX
                                ; AKA ("chicken burst")

txmixa = voice                  ; Left channel output: no,voice,tone,composite,auxvoice
                                ; no - Do not output anything
                                ; voice - output voice only
                                ; tone - CTCSS tone only
                                ; composite - voice and tone
                                ; auxvoice - auxiliary voice output at headphone level for monitoring

txmixb = no                     ; Right channel output: no,voice,tone,composite, auxvoice
                                ; no - Do not output anything
                                ; voice - output voice only
                                ; tone - CTCSS tone only
                                ; composite - voice and tone
                                ; auxvoice - auxiliary voice output at headphone level for monitoring

; Audio filters - requires version newer than ASL_1.01
rxlpf = 0                       ; Receiver Audio Low Pass Filter 0,1 2
                                ; 0 - 3.0 kHz cutoff (Default) value for reduced noise and increased intelligibility.
                                ; 1 - 3.3 kHz cutoff for increased high end, sibilance and brightness.
                                ; 2 - 3.5 kHz cutoff for even more high end, sibilance and brightness.
rxhpf = 0                       ; Receiver Audio High Pass Filter 0,1
                                ; 0 - 300 Hz cutoff. (Default) value to reduce sub-audible signals for retransmission and in the receiver speaker.
                                ; 1 - 250 Hz cutoff for additional received and retransmitted bass response.
                                ; recommend using this filter with a CTCSS tone no higher than 186.2 Hz.
txlpf = 0                       ; Transmitter Audio Low Pass Filter 0,1
                                ; 0 - 3.0 kHz cutoff. (Default) value.
                                ; 1 - 3.3 kHz cutoff for increased high end, sibilance and brightness.
txhpf = 0                       ; Transmitter Audio High Pass Filter 0,1,2
                                ; 0 - 300 Hz cutoff. (Default) value to reduce interference between voice and sub-audible signaling tones and codes.
                                ; 1 - 250 Hz cutoff for increased bass response in transmitted audio.
                                ; 2 - 120 Hz cutoff for special applications requiring additional bass response in transmitted audio.
                                ; Not recommended due to the increased possibility of voice energy interfering with sub-audible signaling

invertptt = 0                   ; Invert PTT: 0,1
                                ; 0 - ground to transmit
                                ; 1 - open to transmit

duplex = 0                      ; Duplex 0,1
                                ; 0 - half duplex
                                ; 1 - full duplex
duplex3 = 0                     ; duplex 3 gain setting (0 to disable) ???

#includeifexists custom/usbradio.conf

Add ability to trigger SimpleUsb through CLI like hamvoip does (invert COS?)

Example Python works on HamVoIP but not ASL. We'd like to add the menu command

susb tune menu-support K

def cos_on():
    print("COS ON")
    subprocess.Popen("/usr/sbin/asterisk -rx 'susb tune menu-support K'", shell=True)
def cos_off():
    print("COS OFF")
    subprocess.Popen("/usr/sbin/asterisk -rx 'susb tune menu-support k'", shell=True)

segfault at c8

Tim WD6AWP sent me over here ,
The machine is a Dell Wyse 3040 running ASL2 with current updates as of 9/27/2023. I'm running ANR100 Radio-Less Full-Duplex Nodes from https://allscan.info/ using simpleUSB
I have another issue with simpleUSB not controlling the FOB as well

In dmesg I get this error repeating

repeater@Thin01:~$dmesg
[169028.689588] asterisk[8450]: segfault at c8 ip 00007eff6f366118 sp 00007eff6d 5262a0 error 4 in app_rpt.so[7eff6f359000+39000]
[169028.689633] Code: 3e 3d ff ff 48 8d 54 24 18 be 02 00 20 00 48 89 df 31 c0 e 8 fa 39 ff ff 48 89 df e8 b2 31 ff ff e8 0d 31 ff ff 48 8b 44 24 18 <81> 38 c8 0 0 00 00 74 40 4c 8d 05 a9 14 03 00 48 8d 0d 4a 48 03 00

repeater@Thin01:~$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

repeater@Thin01:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster

repeater@Thin01:~$ hostnamectl
Static hostname: Thin01
Icon name: computer-desktop
Chassis: desktop
Machine ID: bd24bae03b2842e4abbdcf8ada1645a2
Boot ID: 5408953dce9a4be2a8cc88503ec8e7e5
Operating System: Debian GNU/Linux 10 (buster)
Kernel: Linux 4.19.0-25-amd64
Architecture: x86-64

repeater@Thin01:~$ uname -r
4.19.0-25-amd64

Segfault Messages from Status Updates

The following message is logged once every 30 seconds for each status reporting node:

segfault at c8 ip 00007ff47a27a118 sp 00007ff4783f12a0 error 4 in app_rpt.so[7ff47a26d000+39000]

App_rpt does not crash. Status Page updates appear normal.

Temporary work around is to comment each rpt.conf occurrence of statpost_url=http://stats.allstarlink.org/uhandler.php ; Status updates.

Custom MOTD

How is the MOTD generated I would like to add some customisation to it but if the IP address changes its regenerated.

Thanks

Sample config provides only partial list of available settings

While editing rpt.conf settings for "eannmode", we found the sample values are missing "eannmode=0". It only included settings for values 1 through 3. If one checks the wiki documentation for rpt.conf, it doesn't include "eannmode". The only place "eannmode" is referenced, after searching the wiki, is under .

Could rpt.conf.sample be updated for "eannmode" to...

;eannmode` = 1ย ย ย  ; 0 = do not announce Echolink nodes at all
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  ; 1 = Say only node number on echolink connects (default = 1)
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  ; 2 = say phonetic call sign only on echolink connects
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย  ; 3 = say phonetic call sign and node number on echolink connects

I also see rpt.conf is missing examples for "echolinkdefault" and "echolinkdynamic". Should those be added as well?

I wonder if there is a better way to provide sample configuration file settings so all possible settings are included? Perhaps reference and the wiki pages in the sample files and keep the wiki updated?

chan_dahdi.c: Unable to dup channel: No such file or directory after upgrade ASL2.0Beta OS from buster to bullseye.

Hello
I hope anyone can help me .
I got a problem, after upgrade ASL2.0Beta OS from buster to bullseye , the asl-asterisk.service start error.

ERROR[19456] chan_dahdi.c: Unable to dup channel: No such file or directory
[Apr 14 19:49:48] WARNING[19457] chan_dahdi.c: Unable to open '/dev/dahdi/pseudo': No such file or directory
[Apr 14 19:49:48] ERROR[19457] chan_dahdi.c: Unable to dup channel: No such file or directory
[Apr 14 19:49:48] WARNING[19459] chan_dahdi.c: Unable to open '/dev/dahdi/pseudo': No such file or directory
[Apr 14 19:49:48] ERROR[19459] chan_dahdi.c: Unable to dup channel: No such file or directory
[Apr 14 19:49:48] WARNING[19458] chan_dahdi.c: Unable to open '/dev/dahdi/pseudo': No such file or directory
[Apr 14 19:49:48] ERROR[19458] chan_dahdi.c: Unable to dup channel: No such file or directory
^Z
[1]+  Stopped                 tail -100f /var/log/asterisk/messages
root@pi-star:~# ls /dev/dahdi/pseudo
ls: cannot access '/dev/dahdi/pseudo': No such file or directory

After compare to the buster OS , dahdi mod lost in new bullseye OS,

lsmod | grep dahdi
dahdi_dummy            16384  0
dahdi_transcode        16384  0
dahdi                 237568  2 dahdi_dummy,dahdi_transcode
crc_ccitt              16384  1 dahdi

I try to install it , but got more error .

W: GPG error: http://apt.allstarlink.org/repos/asl_builds bullseye InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6A72C389B517460F
E: The repository 'http://apt.allstarlink.org/repos/asl_builds bullseye InRelease' is not signed.

image

apt -y install allstar-dahdi-5.4.51-v7l-asl+-dkms allstar-dahdi-5.4.51-v7l-asl+-tools

 
allstarlink.list

deb http://apt.allstarlink.org/repos/asl_builds bullseye main



root@pi-star:~# apt update
Hit:1 http://raspbian.raspberrypi.org/raspbian bullseye InRelease
Hit:2 http://archive.raspberrypi.org/debian bullseye InRelease                                             
Hit:3 https://repo.openwebrx.de/debian bullseye InRelease                                                  
Get:4 http://apt.allstarlink.org/repos/asl_builds buster InRelease [7,361 B]
Err:4 http://apt.allstarlink.org/repos/asl_builds buster InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6A72C389B517460F
Reading package lists... Done
W: GPG error: http://apt.allstarlink.org/repos/asl_builds buster InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6A72C389B517460F
E: The repository 'http://apt.allstarlink.org/repos/asl_builds buster InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.


uname -r
5.4.51-v7l-asl+

root@pi-star:~# apt -y install allstar-dahdi-5.4.51-v7l-asl+-dkms allstar-dahdi-5.4.51-v7l-asl+-tools
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package allstar-dahdi-5.4.51-v7l-asl+-dkms
E: Couldn't find any package by glob 'allstar-dahdi-5.4.51-v7l-asl+-dkms'
E: Unable to locate package allstar-dahdi-5.4.51-v7l-asl+-tools
E: Couldn't find any package by glob 'allstar-dahdi-5.4.51-v7l-asl+-tools'

Thank you very much!

Oclock sound file not played.

With the latest version found on Github that I compiled, there is a small problem with the answer to a *712 (give time of day).

Within Asterisk CLI, I see that between the hour and minutes sound files, the sound "digits/oclock" should be played, but it never happens.

I checked that the sound file is present in the sounds/digits folder and I can play it with the CLI "rpt localplay" command.

73 Patrick

Echolink will not connect: chan_echolink.c - erroneously parsed IP address

Hi, I have just installed ASL 2.0 RC6 Beta and cannot connect to Echolink node. The echolink seems to be correctly configured, the database has been correctly downloaded, however I am getting an error message where IP address is incorrectly parsed from the database: "pv76.209.232" instead of "54.176.209.232".

allstarlink*CLI> echolink dbget c ECHOTEST
9999|ECHOTEST|54.176.209.232

[Nov 14 18:01:28] ERROR[585]: chan_echolink.c:2583 do_new_call: Cannot find DB entry for IP addr pv76.209.232

Echolink related ASL crashes

I've had ASL crashes happening for quite a long time and they persist in ASL v2 (including building using commit c2a2a12).

On my hub (Debian 10 VPS): I pulled Echolink functionality out into its own instance/server - creating "ASL1" and "ASL2" instances. Both are compiled from source. ASL2 being: only with needed functionality for Echolink, private node connection to ASL1, and management using Supermon through ASL1. Now only the ASL2 instance crashes. ASL1 no longer crashes, after disabling chan_echolink.

I switched my personal node (Raspberry Pi) compiling the same source as above with Echolink enabled. I've already seen crashes and my suspicion is they are Echolink related too.

Is there a way to debug this further? Done the troubleshooting I can think of to eliminate other ASL settings and OS issues.

Save default /etc/asterisk for node reinitialization

It is desirable to have a way to reset ASL back to default node settings. Could be store a tar/gzip copy of /etc/asterisk some where, perhaps in /usr/share? I'll then add a reset to defaults feature to the new menus.

"Give time of day" in french bug

Hi,
The status command 712 that plays back the time of day is not correct in french.

  1. it does never play the "oclock" sound
  2. it uses a wrong sound for "one" which should be feminine.

I've made changes in say.c n my Github that correct this.
I'm not familiar with Github. Can someone make a pull request for these corrections ?

On USB error channel.c Exception warning repeats forever until disk is full

I have seen on 2 occasions where if there is any issue with a USB cable (loose or accidentally partially unplugged while node running) the following message starts repeating 1,000's of times per second in /var/log/syslog and /var/log/asterisk/messages:

[timestamp] WARNING[871] channel.c: Exception flag set on 'SimpleUSB/usb_[node#]', but no exception handler

One time I happened to be watching the logs and caught it, but the other time it happened to someone I made a node for and the node's flash disk filled up after ~1 day at which point ASL stops working.

This is easy to reproduce, just run ASL and then fiddle with the USB cable going to the URI until some USB errors are introduced. You'll then start getting 1,000's of the above messages per second written to the logs -- even if the USB error was only temporary and goes away.

This is a pretty major issue since it can make a node completely unusable, requiring a monitor and keyboard to be hooked up to go in and manually delete the massive log files. USB errors may be a rare thing but they can happen for a number of reasons and should be handled more gracefully.

Error creating statpost thread message after fix

On a fresh Debian 10 install of GIT b61020d (includes stats post fix), statpost has begun failing with the console messages below and no status reporting. Neither the *CLI nor stats reporting had been checked for a day or two so assume the failure began after 7 to 8 days of uptime. There is a core file from Jan 4.

Restarting asterisk cleared the error and restored stats posting. No core file was created.

Copyright (C) 1999 - 2018 Digium, Inc. Jim Dixon and others
Copyright (C) 2018-2021 AllStarLink Inc.
Created by Mark Spencer <[email protected]>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk GIT b61020d currently running on rambo (pid = 27791)
Verbosity is at least 3
rambo*CLI> core show uptime
System uptime: 1 week, 1 day, 23 hours, 36 minutes, 32 seconds
[Jan 13 15:11:47] ERROR[27815]: app_rpt.c:5753 statpost: Error creating statpost thread
rambo*CLI> rpt localnodes

Node
----
2530

[Jan 13 15:11:53] ERROR[27815]: app_rpt.c:5753 statpost: Error creating statpost thread
[Jan 13 15:12:21] ERROR[27815]: app_rpt.c:5753 statpost: Error creating statpost thread
[Jan 13 15:12:27] ERROR[27815]: app_rpt.c:5753 statpost: Error creating statpost thread

DTMF Not Echoed to CLI

DTMF input is not being echoed from rxchannel input. This should normally happen with verbose level 3 or higher. Confirmed problem exists with chan_simpleusb and chan_voter.

Error: Unable to bind socket: Cannot assign requested address, after I made a new IMG and run in another RPi 4B

Hi All,
can anyone help me ? this situation appear ,
after I made a new IMG and run in another RPi 4B

Thank you !

sudo /usr/sbin/asterisk -c

AllStarLink Asterisk Version 2.0.0-beta 03/24/2021 GIT a4245fb
Copyright (C) 1999 - 2018 Digium, Inc. Jim Dixon and others
Copyright (C) 2018-2021 AllStarLink Inc.
Created by Mark Spencer [email protected]
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.

[ Booting...
[ Reading Master Configuration ]
[ Initializing Custom Configuration Options ]
[Aug 22 09:53:03] NOTICE[26459]: dnsmgr.c:394 do_reload: Managed DNS entries will be refreshed every 300 seconds.
[Aug 22 09:53:03] WARNING[26459]: manager.c:3159 init_manager: Unable to bind socket: Cannot assign requested address
repeater@repeater:~$

manager.c:3159 init_manager: Unable to bind socket: Cannot assign requested address

image

Private node startup not success and no logs ,in sometime , Raspberry Pi 4B2G buster , 2.0_Beta

Hello all,
Recently I got a Random issue, I setup 1 public node , 3 private node .
In sometime I reboot the OS , the private not success and no logs (I have update the logger with debug and verbose). If I reboot again , all startup success.

The node list as follow in rpt.conf

592030 = [email protected]:4569/592030,NONE    ; Your Allstarlink node number, connect to Repeater board 460800bps FM Network,MMDVM
1999 = [email protected]:4569/1999,NONE           ; 1999 connect to DVSwitch/Ananlog_Bridge ,MMDVM_Bridge to BM,FreeDMR,
1998 = [email protected]:4569/1998,NONE           ; 1998 connect to Analog_Reflector ,USRP_Client(KR), PyUSRP
46007 = [email protected]:4569/46007,NONE               ; 91 connect to DVSwitch/Ananlog_Bridge ,BM91

image

I reconnect my public node to private node , use manually commends, the 1999 success, 1998 ,46007 failed.
but the node 1998/46007 local UDP port have exist.

image

My questions is :

1, How can I get detail logs for the private startup and connect to public error logs? No detail logs in syslog and asterisk/message.

2, What commend I can use to restart private node , I do not want to restart allstarlink service .

Thank you very much!

i-star*CLI> rpt cmd 592030 ilink 3 1999
    -- Accepting UNAUTHENTICATED call from 127.0.0.1:
       > requested format = gsm,
       > requested prefs = (gsm|ulaw|adpcm|g722|g726aal2|ilbc),
       > actual format = ulaw,
       > host prefs = (ulaw|adpcm|g722|g726aal2|gsm|ilbc),
       > priority = mine
    -- Call accepted by 127.0.0.1 (format ulaw)
    -- Format for call is ulaw
    -- Executing [1999@radio-secure:1] Rpt("IAX2/127.0.0.1:4569-466", "1999") in new stack
    -- Incoming call: Got SIP response 405 "Method Not Allowed" back from 192.168.31.22
  == Spawn extension (radio-secure, 1999, 1) exited KEEPALIVE on 'IAX2/127.0.0.1:4569-466'
    -- Remote UNIX connection
    -- Incoming call: Got SIP response 405 "Method Not Allowed" back from 192.168.31.22
    -- Remote UNIX connection
    -- Remote UNIX connection disconnected
    -- Remote UNIX connection disconnected
    -- Hungup 'DAHDI/pseudo-1416358335'
    -- <DAHDI/pseudo-1441430874> Playing 'rpt/node' (language 'en')
    -- <DAHDI/pseudo-1441430874> Playing 'digits/1' (language 'en')
    -- <DAHDI/pseudo-1441430874> Playing 'digits/9' (language 'en')
    -- <DAHDI/pseudo-1441430874> Playing 'digits/9' (language 'en')
    -- <DAHDI/pseudo-1441430874> Playing 'digits/9' (language 'en')
    -- <DAHDI/pseudo-1441430874> Playing 'rpt/connected' (language 'en')
    -- <DAHDI/pseudo-1441430874> Playing 'digits/2' (language 'en')
    -- <DAHDI/pseudo-1441430874> Playing 'rpt/node' (language 'en')
    -- <DAHDI/pseudo-1441430874> Playing 'digits/5' (language 'en')
    -- <DAHDI/pseudo-1441430874> Playing 'digits/9' (language 'en')
    -- <DAHDI/pseudo-1441430874> Playing 'digits/2' (language 'en')
    -- <DAHDI/pseudo-1441430874> Playing 'digits/0' (language 'en')
    -- <DAHDI/pseudo-1441430874> Playing 'digits/3' (language 'en')
    -- <DAHDI/pseudo-1441430874> Playing 'digits/0' (language 'en')
    -- Hungup 'DAHDI/pseudo-1441430874'

pi-star*CLI> rpt cmd 592030 ilink 3 1998
[Apr 23 15:11:15] NOTICE[1198]: chan_iax2.c:9091 socket_process: Rejected connect attempt from 127.0.0.1, request '1998@radio-secure' does not exist
[Apr 23 15:11:15] WARNING[1200]: chan_iax2.c:9269 socket_process: Call rejected by 127.0.0.1: No such context/extension
    -- Incoming call: Got SIP response 405 "Method Not Allowed" back from 192.168.31.22
    -- Hungup 'IAX2/127.0.0.1:4569-509'
    -- Hungup 'DAHDI/pseudo-467672555'
    -- Incoming call: Got SIP response 405 "Method Not Allowed" back from 192.168.31.22
    -- Remote UNIX connection
    -- Remote UNIX connection disconnected
    -- Hungup 'DAHDI/pseudo-612523559'
    -- <DAHDI/pseudo-1333247995> Playing 'rpt/node' (language 'en')
    -- <DAHDI/pseudo-1333247995> Playing 'digits/1' (language 'en')
    -- <DAHDI/pseudo-1333247995> Playing 'digits/9' (language 'en')
    -- <DAHDI/pseudo-1333247995> Playing 'digits/9' (language 'en')
    -- <DAHDI/pseudo-1333247995> Playing 'digits/8' (language 'en')
    -- <DAHDI/pseudo-1333247995> Playing 'rpt/connection_failed' (language 'en')
    -- Hungup 'DAHDI/pseudo-1333247995'
[Apr 23 15:11:44] DEBUG[1199]: chan_iax2.c:10216 iax2_do_http_register: https request: {"data":{"nodes":{"592030": {"node":"592030","passwd":"d25f106c4ba7","remote":0}}}}
[Apr 23 15:11:45] DEBUG[1199]: chan_iax2.c:10247 iax2_do_http_register: https response: 
[Apr 23 15:11:45] DEBUG[1199]: chan_iax2.c:10216 iax2_do_http_register: http request: {"data":{"nodes":{"592030": {"node":"592030","passwd":"d25f106c4ba7","remote":0}}}}
[Apr 23 15:11:45] DEBUG[1199]: chan_iax2.c:10247 iax2_do_http_register: http response: 

pi-star*CLI> rpt cmd 592030 ilink 3 46007
[Apr 23 15:12:09] NOTICE[1195]: chan_iax2.c:9091 socket_process: Rejected connect attempt from 127.0.0.1, request '46007@radio-secure' does not exist
 
[Apr 23 15:12:09] WARNING[1199]: chan_iax2.c:9269 socket_process: Call rejected by 127.0.0.1: No such context/extension
    -- Incoming call: Got SIP response 405 "Method Not Allowed" back from 192.168.31.22
    -- Hungup 'IAX2/127.0.0.1:4569-704'
    -- Hungup 'DAHDI/pseudo-722365681'
    -- Incoming call: Got SIP response 405 "Method Not Allowed" back from 192.168.31.22
    -- Remote UNIX connection
    -- Remote UNIX connection disconnected
    -- Hungup 'DAHDI/pseudo-755490378'
    -- <DAHDI/pseudo-1641116483> Playing 'rpt/node' (language 'en')
    -- <DAHDI/pseudo-1641116483> Playing 'digits/4' (language 'en')
    -- <DAHDI/pseudo-1641116483> Playing 'digits/6' (language 'en')
    -- <DAHDI/pseudo-1641116483> Playing 'digits/0' (language 'en')
    -- <DAHDI/pseudo-1641116483> Playing 'digits/0' (language 'en')
    -- <DAHDI/pseudo-1641116483> Playing 'digits/7' (language 'en')
    -- <DAHDI/pseudo-1641116483> Playing 'rpt/connection_failed' (language 'en')
    -- Hungup 'DAHDI/pseudo-1641116483'
    -- <DAHDI/pseudo-1116864092> Playing 'rpt/node' (language 'en')
    -- <DAHDI/pseudo-1116864092> Playing 'digits/1' (language 'en')
    -- <DAHDI/pseudo-1116864092> Playing 'digits/9' (language 'en')
    -- <DAHDI/pseudo-1116864092> Playing 'digits/9' (language 'en')
    -- <DAHDI/pseudo-1116864092> Playing 'digits/9' (language 'en')
    -- <DAHDI/pseudo-1116864092> Playing 'rpt/timeout' (language 'en')
    -- Hungup 'DAHDI/pseudo-1116864092'
  == Refreshing DNS lookups.
    -- Remote UNIX connection
    -- Remote UNIX connection disconnected
    -- Remote UNIX connection
    -- Remote UNIX connection disconnected
  == Manager 'admin' logged off from 127.0.0.1
    -- Remote UNIX connection
    -- Remote UNIX connection disconnected
  == Manager 'admin' logged on from 127.0.0.1
[Apr 23 15:14:16] DEBUG[1193]: chan_iax2.c:10216 iax2_do_http_register: https request: {"data":{"nodes":{"592030": {"node":"592030","passwd":"d25f106c4ba7","remote":0}}}}
[Apr 23 15:14:16] DEBUG[1193]: chan_iax2.c:10247 iax2_do_http_register: https response: 
[Apr 23 15:14:16] DEBUG[1193]: chan_iax2.c:10216 iax2_do_http_register: http request: {"data":{"nodes":{"592030": {"node":"592030","passwd":"d25f106c4ba7","remote":0}}}}
[Apr 23 15:14:17] DEBUG[1193]: chan_iax2.c:10247 iax2_do_http_register: http response:

OS boot logs with Allstarlink .

image

rpt_manager_do_xstat Conn: line value formatting doesn't match value lengths

In "ASL-Asterisk/asterisk/apps/app_rpt.c", the "rpt_manager_do_xstat" routine appends and returns "Conn:" information lines with this statement...

astman_append(ses, "Conn: %-10s%-20s%-12d%-11s%-20s%-20s\r\n",
s->name, s->peer, s->reconnects, (s->outbound)? "OUT":"IN", conntime, connstate);

As coded, this formats the "Conn:" content variables with various spaced values for the specified width lengths. For example, "s-name" is to be the first 10 characters, "s->peer" is the next 20 characters, etc. However, at least with the "s->name" and "s-peer" variables, the values in those variables could be longer than the length spacing specified for those lines. If I'm not mistaken, the name values could be up to 300 characters per MAXNODESTR and the peer values could be up to 31 characters per MAXPEERSTR.

Shouldn't the values, at least in "s-name" and "s->peer", be truncated to match the formatting of the lengths used, so they will match the giving format spacing?

Utilities using the rpt_manager_do_xstat routine, such as Supermon or Allmon, seem to have assumed a space delimited result for the "Conn:" lines returned from xstat. While this parsing assumption may work for Allstar node numbers, some name values from phone interconnects could be longer. The "Conn:" line values should probably be parsed at the specified lengths as formatted by rpt_manager_do_xstat routine. But I was able to cause the "Conn:" values to break the value length format parsing by allowing longer "CALLERID" values for phone interconnects to be used in extensions.

Perhaps a routine returning the information in XML or another easily parsed data exchange format would be more desirable in the future?

Images Changes to Accommodate Menu Improvements

  • A common way to setup networking on both intel and Pi.
    /etc/dhcpcd.conf for intel?

Looks like editing interfaces is the accepted way for intel/servers. No change to net-setup script for this

  • A tar gzip of the /etc/asterisk directory as configured at build
    This would be used to "factory reset" the node.
    should update on new releases

Wrote up a separate issue per Rob.

  • A common directory for the menu to store local backups
    "factory reset" tgz could be here too as read only

decided to use /var/asl-backups

  • /etc/environment
    ASLVERSION="ASL 2.0.0-Beta"
    fyi, menus use this for the title
    should update on new releases

  • /etc/bash.bashrc
    alias first-time='sudo /usr/sbin/first-time'
    alias asl-menu='sudo /usr/sbin/asl-menu'
    alias net-setup='sudo /usr/sbin/net-setup'
    alias node-setup='sudo /usr/sbin/node-setup'

  • /home/repeater/.bashrc
    sudo /usr/sbin/asl-menu
    fyi, menu can remove and add this line

  • /usr/sbin/first-time
    does not need to run on first boot like ASL 1.01 did

Compile error in Raspian

make[1]: Leaving directory '/tmp/ASL-Asterisk/asterisk/channels'
make: *** [Makefile:361: channels] Error 2

All issues is that not found files, makefiles will be fixed

ASL will not connect to some HV nodes

I posted on the ASL forum about an issue a customer was seeing (https://community.allstarlink.org/t/node-having-connect-issues-chan-iax2-c-auto-congesting-call-error/20155/4) and it turns out that the issue was happening because a node he was trying to connect to was running HamVOIP. I am able to duplicate the issue trying to connect to East Coast Reflector node 45192, whereas ECR node 27339 works fine.

Asterisk output when connecting to these nodes:

repeater*CLI> rpt fun 571570 *345192
[May 21 21:06:47] NOTICE[800]: chan_iax2.c:4099 __auto_congest: Auto-congesting call due to slow response
    -- Hungup 'IAX2/12.17.28.213:4598-45'
    -- Hungup 'DAHDI/pseudo-684748903'
    ...
repeater*CLI> rpt fun 571570 *327339
    -- Call accepted by 12.17.28.195 (format ulaw)
    -- Format for call is ulaw

This may not be an ASL bug per se but ASL and HV should be interoperable over IAX. Would be great if the root cause of this issue could be found and fixed. It is very easy to reproduce, just try connecting to 45192 from any ASL node. (HamVOIP nodes do not get any error and connect fine to 45192.) I and others have noticed that a small percent of other nodes also exhibit the same issue when trying to connect to them from an ASL node. The connection status will show as "Connecting" for a few seconds (eg. in AllMon) and then disappear.

Self connect test fails at approximately 32 nodes

In an effort to test PR #42 a server was setup with a couple hundred nodes. To perform a benchmark test (w/o PR #42) each node is connected to node 1999 on the same server. After connecting approximately 32 nodes a waring message prints.

[Jan 13 10:15:44] WARNING[2982]: app_rpt.c:4327 linkcount: maximum number of links exceeds 32 in rpt_do_stats()!

And the following begins printing repeatedly.

[Jan 13 09:31:00] WARNING[553]: chan_iax2.c:3126 __attempt_transmit: Max retries exceeded to host 127.0.0.1 on IAX2/127.0.0.1:4569-4341 (type = 6, subclass = 11, ts=20018, seqno=2)

The fix seems pretty obvious; increase MAX_STAT_LINKS in app_rpt.c. Will try that later. In the mean time here's the test procedure.

Test Setup and Procedure

rpt.conf
The rpt.conf for this test is attached. This is formatted as an Asterisk template to greatly reduce the line count. Telemdefault is set to none, statpost is disabled, and there is no IAX registration to prevent complications. rpt.conf.zip

extensions.conf
Extensions.conf has a minor change to [radio-secure] in order to reduce line count.

[radio-secure]
exten => _XXXX!,1,NoOp(Connect from node: ${CALLERID(num)})
exten => _XXXX!,n,NoOp(Connect to: ${EXTEN})
exten => _XXXX!,n,rpt(${EXTEN})

max-connect-test
Test script

#! /bin/bash
n=1960
while [ $n -lt 2000 ]
do
	echo "$n ==========>"
	/usr/sbin/asterisk -rx "rpt cmd $n ilink 3 1999"
	sleep 1
	/usr/sbin/asterisk -rx "rpt lstats 1999"
	sleep 1
	n=$(( $n + 1 ))
done

Result
When running the script, rpt lstats 1999 stops increasing at node 1993 and the above warnings begin repeating indefinitely.

1997 ==========>
NODE      PEER                RECONNECTS  DIRECTION  CONNECT TIME        CONNECT STATE
----      ----                ----------  ---------  ------------        -------------
1960      127.0.0.1           0           IN         00:01:33:371        ESTABLISHED
1961      127.0.0.1           0           IN         00:01:30:519        ESTABLISHED
1962      127.0.0.1           0           IN         00:01:27:731        ESTABLISHED
1963      127.0.0.1           0           IN         00:01:25:33         ESTABLISHED
1964      127.0.0.1           0           IN         00:01:22:318        ESTABLISHED
1965      127.0.0.1           0           IN         00:01:19:631        ESTABLISHED
1966      127.0.0.1           0           IN         00:01:16:926        ESTABLISHED
1967      127.0.0.1           0           IN         00:01:14:299        ESTABLISHED
1968      127.0.0.1           0           IN         00:01:11:661        ESTABLISHED
1969      127.0.0.1           0           IN         00:01:09:147        ESTABLISHED
1970      127.0.0.1           0           IN         00:01:06:635        ESTABLISHED
1971      127.0.0.1           0           IN         00:01:04:128        ESTABLISHED
1972      127.0.0.1           0           IN         00:01:01:595        ESTABLISHED
1973      127.0.0.1           0           IN         00:00:59:53         ESTABLISHED
1974      127.0.0.1           0           IN         00:00:56:540        ESTABLISHED
1975      127.0.0.1           0           IN         00:00:54:25         ESTABLISHED
1976      127.0.0.1           0           IN         00:00:51:510        ESTABLISHED
1977      127.0.0.1           0           IN         00:00:48:997        ESTABLISHED
1978      127.0.0.1           0           IN         00:00:46:487        ESTABLISHED
1979      127.0.0.1           0           IN         00:00:43:978        ESTABLISHED
1980      127.0.0.1           0           IN         00:00:41:480        ESTABLISHED
1981      127.0.0.1           0           IN         00:00:39:72         ESTABLISHED
1982      127.0.0.1           0           IN         00:00:36:641        ESTABLISHED
1983      127.0.0.1           0           IN         00:00:34:320        ESTABLISHED
1984      127.0.0.1           0           IN         00:00:31:543        ESTABLISHED
1985      127.0.0.1           0           IN         00:00:28:765        ESTABLISHED
1986      127.0.0.1           0           IN         00:00:26:47         ESTABLISHED
1987      127.0.0.1           0           IN         00:00:23:409        ESTABLISHED
1988      127.0.0.1           0           IN         00:00:21:13         ESTABLISHED
1989      127.0.0.1           0           IN         00:00:18:682        ESTABLISHED
1990      127.0.0.1           0           IN         00:00:16:375        ESTABLISHED
1991      127.0.0.1           0           IN         00:00:14:59         ESTABLISHED
1992      127.0.0.1           0           IN         00:00:11:829        ESTABLISHED
1993      127.0.0.1           0           IN         00:00:09:584        ESTABLISHED
1998 ==========>

Pi4 audio issues with two nodes

(via kyle470)
Hello,

I have a new Pi4 install running asl-2.0.0-beta.5-kc1kcc-20210226-rpi-armhf.img.zip. There are two RF nodes on this box.

There are some significant audio issues when both nodes have audio playing at the same time. For example, if one node is IDing and the other is speaking telemetry. The audio will drop out on one, sometimes both. It's particularly concerning when a voice ID is interrupted. Radios will key down with no audio for several seconds. Sometimes audio will play intermittently, with seconds of dead air in between.

I've run ASL 1 on a Pi2 for several years without any such issue. This Pi4 replaced the Pi2 with otherwise all of the same hardware, radios etc.

Thank you. 73

Kyle
K0KN

NEW Feature - external agile remote base functional control interface

Problem:
Currently, agile remote bases that can be set-up are limited, old, and in short supply and built-in to the source.
The reason many do not create/enable this option is for this very reason.

Solution:
Take the existing remote base and add option for external control by setting only 2 new options.
1 - remote = "external"
2 - agilescript = /etc/asterisk/remote/script.sh - Name of script to be called on a remote command.
the parameters issued by a (remote command) just forwarded/passed to the script.
i.e. set freq
(remote command)00142500
calls
script.sh 001425000

Admitably, some functions like bump up/down 100khz may need to output something new to the script. non-issue really.
Same with mode, but a simple text output would suffice like usb,lsb,fm,cw or even by number 0,1,2,3,4,5 etc.
The script does the heavy lifting. It just needs a steering wheel that app_rpt already has.

app_rpt code only needs to send the issued existing agile command to the script for processing.
The script and external code would be responsible for command interpreter to the exact radio along with port and speed of the communications. So you are keeping the existing 'remote' command structure for agile remote. Just changing where the data is sent with 'EXTERNAL' option. No need to set port, speed or iobase in app_rpt as the external script/program would handle that.
Although you may need to ignore looks to those internal settings when running a external command.

This allows anyone to write to control any new radio coming down the pike without changing the source anymore.
And the existing infrastructure does not need changed to any large extent. And the existing command and voice reply (allison) is correct in form and function.

debian 11 (bullseye) dependencies

A couple of the apt packages shown in the README.md are unavailable in an almost fresh bullseye install:

  • libreadline-gplv2-dev
  • libsqlite-dev

When I remove these from the "Install apt dependencies" list, I can successfully install all the other things.

This also seems to affect a the "Packaging (.deb)" process, as the debuild cannot find those dependencies.

The "Manually" process worked just fine.

The README.md might be modified to more clearly indicate that the two processes under "Compiling" are not intended to be executed sequentially, but as an alternative to each other. IMHO.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.