from freeswitch import *
# WARNING: known bugs with hangup hooks, use with extreme caution
def hangup_hook(session, what):
consoleLog("info","hangup hook %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.execute("avmd", "start")
session.execute("sleep", "25000")
callback = session.setInputCallback(input_callback)
consoleLog("info","callback returned %s!!\n\n" % callback)
while session.getVariable('avmd_detect'):
session.execute("speak", "flite|kal|'Hi how are you'")
session.execute("avmd", "stop")
session.setHangupHook(hangup_hook)
session.hangup() #hangup the call
I can see avmd getting started but it does detect any beep. Is there a simpler way to check if avmd is working without using 'originate'?