Can you please tell how callback works, my understanding is that it handles user input, not sure how it works when we are trying to catch voicemails? Thanks On Fri, Jul 26, 2013 at 1:25 PM, Michael Collins <msc@freeswitch.org> wrote:
I would do your "voicemail" stuff in the callback where you detect that the avmd detected true. I would also put the avmd_stop app in that code block. -MC
On Thu, Jul 25, 2013 at 7:33 PM, Raghu <srraghu45@gmail.com> wrote:
Thanks for checking it Michael. I thought i was trying execute 'speak' when AVMD detects a beep as below, but may be i am missing something. Please review the code and let me know if i am missing anything:
from freeswitch import *
# WARNING: known bugs with hangup hooks, use with extreme caution def hangup_hook(session, what): %s!!\n\n" % what) return
def input_callback(session, what, obj):
if (what == "dtmf"): consoleLog("info", what + " from callback " + obj.digit + "\n") return elif (what == "event" and session.getVariable('avmd_detect') == "TRUE"): consoleLog("info", "Voicemail Detected\n")
return "TRUE"
def handler(session, args):
session.answer() # session.setVariable("hangup_after_bridge", "false") callback = session.setInputCallback("input_callback") session.execute("avmd", "start") consoleLog("info", "AVMD start\n") session.execute("sleep", "18000") consoleLog("info", "AVMD status %s\n" % session.getVariable('avmd_detect'))
if session.getVariable('avmd_detect'): consoleLog("info", "Beep Detected\n") session.execute("speak", "flite|kal|'Hi this is '") session.execute("avmd", "stop")
session.execute("speak", "flite|kal|'Hi this is '") consoleLog("info","callback returned %s!!\n\n" % callback) session.execute("avmd", "stop") consoleLog("info", "AVMD stop\n") session.setHangupHook(hangup_hook) session.hangup() #hangup the call
Appreciate it!
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Michael S Collins Twitter: @mercutioviz http://www.FreeSWITCH.org http://www.ClueCon.com http://www.OSTAG.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org