Hi folks, With Lua script and/or originate command, I have tried recording a message file during outbound IVR call over and over, session:recordFile(-) inside Lua script does create a wav file during each of my testings but the recorded audio file is always empty. However, session:recordFile(-) works well for inbound IVR call. I tried the session:recordFile(-) via Lua script in three ways: 1. run lua script "test_outcall_ivr.lua" at freeswitch command-line: luarun test_outcall_ivr.lua -- [test_outcall_ivr.lua] { local sessionx = freeswitch.Session("sofia/gateway/sip.tpad.com/1726011", session) -- Set the path separator pathsep = '/' -- Windows users do this instead: -- pathsep = '\' -- Answer the call -- sessionx:answer() --Create a string with path and filename of a sound file prompt = "ivr" .. pathsep .. "ivr-welcome_to_freeswitch.wav" -- Print a log message freeswitch.consoleLog("INFO","Prompt file is '" .. prompt .. "'\n") --Play the prompt sessionx:streamFile(prompt) -- Record record file sessionx:streamFile("phrase:voicemail_record_message") -- Play a ""bong"" tone prior to recording sessionx:streamFile("tone_stream://v=-7;%(100,0,941.0,1477.0);v=-7;>=2;+=.1;%(1000, 0, 640)") -- record a message filename = sessionx:getVariable('sounds_dir') .. pathsep .. "123.wav" sessionx:recordFile(filename,300,100,10) -- play back the recorded msg sessionx:streamFile(filename) -- Hangup sessionx:hangup() } 2. I also tried it differently by submitting the following commands at the FreeSwitch command-line interface: originate user/1005 &transfer(8887 xml default) originate user/1005 &lua('test1.lua') originate sofia/gateway/sip.tpad.com/1726011 &lua('test1.lua') -- [test1.lua] { -- Set the path separator pathsep = '/' -- Windows users do this instead: -- pathsep = '\' --Answer the call session:answer() --Create a string with path and filename of a sound file prompt = "ivr" .. pathsep .. "ivr-welcome_to_freeswitch.wav" -- Print a log message freeswitch.consoleLog("INFO","Prompt file is '" .. prompt .. "'\n") --Play the prompt session:streamFile(prompt) -- Record record file session:streamFile("phrase:voicemail_record_message") -- Play a ""bong"" tone prior to recording session:streamFile("tone_stream://v=-7;%(100,0,941.0,1477.0);v=-7;>=2;+=.1;%(1000, 0, 640)") -- record a message filename = session:getVariable('sounds_dir') .. pathsep .. "123.wav" session:recordFile(filename,300,100,10) -- play back the recorded msg session:streamFile(filename) -- Hangup session:hangup() } -- [xml dialplan for extension 8887]: { <extension name="Simple Lua Test"> <condition field="destination_number" expression="^(8887)$"> <action application="set" data="record_waste_resources=true"/> <action application="lua" data="test1.lua"/> </condition> </extension> } ====================================================== For all the above testing cases, session:recordFile(-) always creates an empty wav file for each of outbound IVR calls, however, if I make an inbound IVR call to run Lua script "test1.lua", session:recordFile(-) always works perfect to generate a normal wav file. So, what's wrong with [session:recordFile(-)] during an outbound IVR call? x.k.