[Freeswitch-users] Issues with using avmd from python script

raj singh rajictdialer at gmail.com
Sat Jul 27 01:46:17 MSD 2013


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 at 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 at 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 at freeswitch.org
>> http://www.freeswitchsolutions.com
>>
>> 
>> 
>>
>> Official FreeSWITCH Sites
>> http://www.freeswitch.org
>> http://wiki.freeswitch.org
>> http://www.cluecon.com
>>
>> FreeSWITCH-users mailing list
>> FreeSWITCH-users at 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 at freeswitch.org
> http://www.freeswitchsolutions.com
>
> 
> 
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://wiki.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20130726/ca3fd0de/attachment.html 


Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list