Testers Needed: Improved Broadcastify / outstreamcmd

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):

  1. Change your repository to "devel" with asl-repo-switch -l devel

  2. Update your apt cache with apt update

  3. 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.

  4. In /etc/asterisk/rpt.conf edit your outstreamcmd= to be something like:

    outstreamcmd = /usr/libexec/asl3/rpt_audio_writer,/var/lib/asterisk/63001.fifo
    

    Where you replace "63001" with your node number. Note that asl-playback requires the format of a node number like the above.

  5. Restart asterisk with systemctl restart asterisk

  6. 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
    
    
    
  7. In /etc/asterisk/broadcastify, copy 1999.conf.example to NODE.conf. In this example, the file would be 63001.conf.

  8. Edit /etc/asterisk/broadcastify/63001.conf to 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".

  9. Enable the asl-broadcast unit template for your node. For example: systemctl enable asl-broadcastify@63001.

  10. Start the unit - systemctl start asl-broadcastify@63001

  11. 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.