I haven't taken a good crack at this issue yet but it's definitely on my list. I have had a very similar experience doing basically the same thing. It's especially difficult when I built my system to work on twilio conferences instead of one directional calling (easier for human and ai agents to jump in and out). I know I'm late to this convo but after seeing what some people have said, my intuition would be to agree with @Chowderr that the best current way to go about this is with a tool/function watching for some typical voicemail or phone free verbiage in the transcript.
However... Another solution I'm going to explore especially in my case, is adding a silent listening participant into the call that's job is to listen and detect a voicemail beep tone or something more specific, ending the conference.
A couple ideas, I'm definitely going to do some more serious experimenting. I'll let you know if I make any progress.