[arm-allstar] Streaming audio from command line/shell script with Allstar disabled

Seth Miller N6PLmail at gmail.com
Sun Nov 22 22:28:43 EST 2020


I have a challenge, maybe someone can help: (sorry if a little long-winded)

I have built a mixed-mode Allstar/DMR repeater using an MMDVM-based DMR
controller in conjunction with a Pi running HamVoIP. Switching mode from
Allstar to DMR is accomplished with a macro that among other things
disables Allstar (with COP command 3) so that there will be no activity
while in DMR mode. This all works well except for one minor issue (which is
really the fault of the MMDVM software but hoping to use Allstar to
resolve.)

First some background:

The underlying problem is that the CW ID system in the MMDVM software is
very crude in that you can set a 10-minute ID, but if the ID time expires
during a DMR transmission then the ID will simply be skipped/ignored (since
you obviously can't CW ID over a digital transmission without disruption.)
The result of this is that when the system is busy you can exceed the
10-minute amatuer ID timing requirement by a significant amount, perhaps a
very long time if the system is busy. Not the end of the world but I'd
prefer to operate legally if possible and I theoretically have everything I
need to do so in the Allstar controller.

One way to solve the issue is to use Pi GPIO and some simple logic, i.e.
monitor PTT from the MMDVM controller and if the ID time has expired while
the transmitter is busy then wait until the transmitter naturally drops to
send the ID. This can be accomplished relatively easily since the MMDVM
board has an external inhibit line which will prevent TX permit (a DMR
thing) to a mobile while the CW ID is being broadcast. This has the minor
negative effect of delaying TX permit to a mobile for a few seconds but is
clearly much better than crashing an ongoing DMR transmission.

Whew... OK, with that out of the way my actual problem is: simply sending
the ID. With system disable (COP 3) in effect I cannot send an ID from a
shell script using rpt localplay, and streaming audio using Asterisk alone
apparently requires using AGI which is not a trivial task. I understand
that there are other less intrusive ways of limiting Allstar activity but
none are as complete as COP 3 and I need a total cessation of all Allstar
activity while in DMR mode. I could of course momentarily re-enable Allstar
and then send an ID, but doing so causes Alice to recite 'RPT ENA' which
takes too long and I can't figure out any way to suppress the undesired
voice message.

Any suggestions? Basically I need a way to stream an audio file to the
Allstar USB interface while system disable is in effect, or find a way to
bypass the 'RPT ENA' message, or use AGI, or find some other utility to
stream the ID. Or trigger an external IDer with GPIO I guess but that is
pretty inelegant.

Thanks for any ideas,

Seth   N6PL


More information about the ARM-allstar mailing list