[Freeswitch-users] how to catch DTMF in Lua while a phrase macro is playing

Chad Phillips -- Apartment Lines chad at apartmentlines.com
Sat Aug 8 08:15:18 PDT 2009

in a lua script, i've tried using session:setInputCallback() to catch  
DTMF tones while a phrase macro is playing, but it doesn't seem to  
work.  the same callback _does_ catch DTMF when i use  
session:streamFile() to play something.  is there some other way to do  

below is an example of how i'm doing it now.  when voicemail/vm- 
mailbox_full.wav plays, i see key presses being printed to the  
console, but when the phrase plays, no key presses are displayed.

function key_press(session, input_type, data)
	if input_type == "dtmf" then
		freeswitch.consoleLog("info", "Key pressed: " .. data["digit"] ..  

if session:ready() then
	session:execute("sleep", "1000")
	session:setInputCallback("key_press", "")
	session:execute("phrase", "voicemail_menu,1:2:3:#")

More information about the FreeSWITCH-users mailing list