Many companies detect voicemail by using beep detection. We do not. We think it is not the best way. We detect voicemail using heuristic algorithms which are based on the tone of voice, the speed of spoken words, etc.
This detection usually takes 3 to 5 seconds and usually has an accuracy of 60-75% which is on par with the industry standards. You can enable AMD at Plivo using our outbound call API itself with machine_detection and machine_detection_time as parameters. you can check out details on our outbound call API page.
To increase the accuracy of the machine detection you can setup the machine detection method as asynchronous and by increasing the wait seconds(machine_detection_time: is Time allotted to analyze if the call has been answered by a machine. It should be an integer >= 2000 and <= 10000 and the unit is ms. The default value is 5000 ms.)