So bluetooth streaming was working perfectly with this setup EXCEPT Sonos would disconnect from the Icecast server whenever Darkice lost bluetooth audio such as when when you switched audio apps or just simply disconnected bluetooth which was a pain because you would have to get bluetooth audio streaming again before you could even hit the play button in the Sonos app. This became a huge problem when I was trying to stream audio to Sonos from my phone's WatchESPN app which is fullscreen only so I couldn't hit the play button in the Sonos app after getting the bluetooth audio started but when I closed the WatchESPN app the Sonos stream wouldn't start unless you had the bluetooth audio started first! Ugh! I have been pulling my hair out trying to come up with an elegant fix for this. I tried a different mp3 encoder called liquidsoap that has the option to send silent audio when it loses connection but I couldn't get it to work with bluealsa. I tried to mix the bluealsa stream with a secondary dummy soundcard alsa stream using dsnoop and asym to try to trick Icecast into thinking there was still an audio signal present but alsa really doesn't allow you to manipulate bluetooth audio very much. I then started investigating using a fallback mount point using a silent mp3 file in Icecast but Sonos would see the mount point name change and disconnect. I was using a test.mp3 file and accidentally designated it as the main mount point name one time instead of the fallback one and noticed Sonos simply switched to playing that file when it got disconnected from the bluetooth "rapi.mp3" stream. Eureka! It wouldn't automatically switch back over to to the bluetooth stream when it became available again so that got me to thinking why not just use the same mount point name? So what you have to do is create a silent mp3 file and give it the same name as the Darkice mp3 stream, "rapi.mp3", and hard code it as the main mount point in the Icecast2 configuration file. What happens is that whenever Sonos loses connection to the Darkice/bluetooth rapi.mp3 stream it just starts looping the other silent rapi.mp3 file until the bluetooth stream comes back online. This way you don't have to have the bluetooth audio going before you hit play in Sonos. Here's how to do it...