You need to look into answering machine detection. FreeSWITCH ships with two beep detectors, one supposedly more performant (CPU) than the other. These are fine if you're doing announcement style apps, but useless if you're trying to bridge to a live agent. In this latter case, you need at least simple VAD, if not word counting, which are not available in FreeSWITCH. This is one case where Asterisk unquestionably wins and adoption of FreeSWITCH is actively being hurt.
The general strategy for announcements is to start the call assuming you have a human. If you detect a beep, you try to react quickly enough by stopping what you were doing (executing an IVR, maybe) and starting playback of a message to be left at voicemail. This works because the IVR audio would be discarded having been played before their voicemail began recording.
If you're attempting to bridge to a live agent, you need to invert the logic - you start having no idea, try to figure out human vs machine very quickly, and *only* disturb a live agent if you think you have a human. In this case, the voicemail beep is entirely too late for beep detection to have any useful application to this case.
Ben