No audio available on Recorder

We are receiving a warning message in asterisk logs “No audio available on Recorder” which kills the recording mid call. This is critical for us… We are using ARI through HTTP and Web Socket, so an async state machine as an IVR.

We are playing prompts to the bridge directly. My understanding is if prompts are played to the channel then the channel is temporarily removed from the bridge which will kill the recording due to no audio.

Final solution to the problem is to create a dummy channel which plays silence directly to the channel and keeps the recording from stopping. My understanding is that this can also help with rtp streams having to be reconnected or recreated mid call. The dummy channel is also a local channel within asterisk.

Are there any other alternatives outside of the dummy channel to guarantee a recording is never stopped?

We record on the bridge. So at the beginning of a call we only have 1 channel and then later on in the call flow we add a 2nd channel. We are seeing the issue for about 1% of the calls out of 100,000.

Appears to be a duplicate of this question.

However that question was specific to prompts being played to the channel while the recording was placed on the bridge. I assume if more than one channel is added to the bridge then that issue wouldn’t occur. As long as the channels had a constant stream of audio.

Seems like it can also occur when mute is pressed on whatever application. Some applications can probably stop the rtp/audio stream and then later do a re-invite once unmuted. I guess some forms of network blips can also cause the issue, maybe even an abnormal amount of rtp packets being dropped.

I don’t think Asterisk allows that. The closest is that you can configure the delivery of AST_CONTROL_HOLD to cause a re-invite to a=sendonly. but that isn’t enabled by default, and it block incoming, not outging media (the default is to generate music on hold).