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 default time used for analysis with our API is 10,000 milliseconds (or 10 seconds). You can choose to change this value with the machine_timeout parameter in the TTS API. 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 recognised as being answered by a person and so the call will continue.