We are using a Call Progress Analyzer (CPA) when doing answering machine (voicemail) detection. While there is no consistent signalling difference between a call picked up by a human or a machine, we detect voicemail using heuristic algorithms which are based on tone of voice, speed of spoken word etc. This detection usually takes 3 to 5 seconds and Nexmo's machine detection typically has an accuracy which is above or on par with the industry standards.
The time used for analysis with our Voice API is 5,000 milliseconds (or 5 seconds). If a machine is detected during the this time period and machine_detection is set to hangup, the call hangs up immediately and the status parameter value sent back to your webhook URL will be set to "machine".
We are currently unable to support machine detection towards Google Voice numbers due to the short greeting on the initial answer of the voicemail. Due to the length of the message this is recognized as being answered by a person and so the call will continue.