[Freeswitch-users] mod_vmd--can it do more than simply find VoiceMail Beeping?

Matthew Fong mattdfong at gmail.com
Mon Apr 6 23:52:54 PDT 2009


I'm doing some outbound dialing, and want to use mod_vmd to detect if a live
person picks up or a voicemail picks up. I've read the wiki, and have been
playing around with the dialplan implementation and the lua implementation,
along with capturing the mod_vmdvmd::beep event.

Using the examples on the wiki, I am able to call a number, sleep for 25
seconds, and mod_vmd usually detects a Beep (the answering machine beep
right before you are to speak your message).

My question is, is there a way to use mod_vmd to detect if an answering
machine or human has picked up within the first 1-2 seconds after being
answered? If so, can I get an example of how to set this up?

my dialplan to test my lua implementation looks like

<!-- mod_vmd test extension (new mod)--> <extension name="vmdtest">
<condition field="destination_number" expression="^1986$"> <action
application="answer"/> <action application="lua" data="matt_vmd.lua"/>
<action application="hangup"/> </condition> </extension>

and matt_vmd.lua looks like

print ("--matt_vmd.lua START--") local human_detected = false; local
voicemail_detected = false; function onInput(session, type, obj) if type ==
"dtmf" and obj['digit'] == '1' and human_detected == false then
print('MATT--I detected a HUMAN'); human_detected = true; return "break";
end if type == "event" and voicemail_detected == false then print('MATT--I
detected a VOICEMAIL'); voicemail_detected = true; return "break"; end end
session:setInputCallback("onInput"); session:execute("vmd");
session:sleep(25000); print ("--matt_vmd.lua FINISHED--")


Thanks.

--matt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20090407/d8d30c16/attachment-0002.html 


More information about the FreeSWITCH-users mailing list