I am looking for some people willing to test out an updated process for streaming app_rpt out to Broadcastify (or anything else that reads audio from outstreamcmd=). I'm looking to introduce a process where outstreamcmd= is configured to use a small helper application rpt_audio_writer. This helper application takes the injected audio out of app_rpt and writes it non-blocking to a named pipe.
Other applications, notably in this use case the new asl-broadcastify, would read the audio from the named pipe and then stream it to the target. This would allow for restarting a failed stream without having to cycle all of asterisk.
If you're interested in testing, please do the following as root (i.e. sudo -s):
-
Change your repository to "devel" with
asl-repo-switch -l devel -
Update your apt cache with
apt update -
Run an upgrade - if you're current all you should get is
asl3-3.18.2-1. Please note that with this test release, the asl3 package is changing from an "all architectures" to an architecture-specific package. Also node that 3.18.2 is identical to current 3.18 with only the changes below in it. -
In
/etc/asterisk/rpt.confedit youroutstreamcmd=to be something like:outstreamcmd = /usr/libexec/asl3/rpt_audio_writer,/var/lib/asterisk/63001.fifoWhere you replace "63001" with your node number. Note that asl-playback requires the format of a node number like the above.
-
Restart asterisk with
systemctl restart asterisk -
Confirm the fifo is created and the command is running:
# ps auxw | grep rpt_ asterisk 204405 0.1 0.0 2060 756 ? S 17:35 0:04 /usr/libexec/asl3/rpt_audio_writer /var/lib/asterisk/63001.fifo # ls -l /var/lib/asterisk/*.fifo prw-r----- 1 asterisk asterisk 0 May 14 18:22 /var/lib/asterisk/63001.fifo -
In
/etc/asterisk/broadcastify, copy1999.conf.exampletoNODE.conf. In this example, the file would be63001.conf. -
Edit
/etc/asterisk/broadcastify/63001.confto match your Broadcastify channel information. This information is in your ezstream.xml file if you have one or is in the Broadcastify portal under your particular feed's "Feed Technical Details". -
Enable the asl-broadcast unit template for your node. For example:
systemctl enable asl-broadcastify@63001. -
Start the unit -
systemctl start asl-broadcastify@63001 -
Watch for your feed to turn green (again) in Broadcastify and then do some testing. You can check startup errors with
journalctl -xeu asl-broadcastify@63001
With the unit templates, you can create an infinite number of streams for each node on a given server. Just repeat steps 4-11 for each node number.
Please report feedback to this thread.