Checking if there was a VM left was indeed a problem, which has been fixed quite a while ago (Thanks Moc!).
It's in: variables->voicemail_message_len which has the length in seconds.


I check my CDRs for this:

$outside_call && $leg=="a" && ##that the outside call variable was set, and it's leg A -- we only want inbound calls to trigger this, not outbound calls that weren't picked up. If you have multiple transfers inside an IVR it might not catch them....
( ($last_app=="voicemail" && (!isset($voicemail_message)||$voicemail_message!=1)) ||$hangup_cause=="ORIGINATOR_CANCEL" )   ) //3 options: the last_app was voicemail AND voicemail_message_len wasn't set (if it was set we'll have a VM email) OR we had an originator cancel so they never even reached the VM.

Sorry for the pidgin code, it's from hacked PHP code that processes the xml_cdrs...

-Avi 

On Fri, Apr 17, 2015 at 8:48 PM, Chris Tunbridge <blasterjr@gmail.com> wrote:
as for the voice mail, I'm not 100% certain if there's a way to check if a voicemail was left, however you can check to see where the hangup occurred typically it mentions the app in event.