If FreeSWITCH crashes you really should raise a ticket on JIRA, and include a backtrace if you can. On 17/02/12 15:08, Michael Lutz wrote:
Hi Oz,
I tried:
session:setVariable('playback_terminators', cRecordingStopkey); session:recordFile(cFile, nMaxduration, 10, nSilenceDelay); session:setVariable('playback_terminators', 'none');
But now when I press a key freeswitch just totaly stops, (crash), without anything valuable in the logs...
2012-02-17 16:05:11.063289 [ERR] switch_cpp.cpp:1227 ========> Starting the recording: SPEAK! 2012-02-17 16:05:11.063289 [DEBUG] switch_ivr_play_say.c:585 Raw Codec Activated 2012-02-17 16:05:11.063289 [DEBUG] switch_core_codec.c:216 sofia/internal/31205222332@172.16.5.12 Push codec L16:70 2012-02-17 16:05:15.064689 [DEBUG] switch_rtp.c:3405 RTP RECV DTMF #:2080 2012-02-17 16:05:15.064689 [DEBUG] switch_core_codec.c:241 sofia/internal/31205222332@172.16.5.12 Restore previous codec PCMU:0. <eof>
Does not seem to be working either... I could try using the api session_record function, but what about silence detection?
/Mike.
2012/2/17 Oz Mortimer<oz@o-tec.tv>:
You can do session:setVariable('playback_terminators','#'); before the record and remove the input_callback or you could use session_record and in your callback use stop_record_session - i'd go the latter.
-----Original Message----- From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Peter Olsson Sent: 17 February 2012 14:22 To: 'FreeSWITCH Users Help' Subject: Re: [Freeswitch-users] Bug?: recordFile with input callback always ends recording
Have you tried setting the variable playback_terminators to "none"?
I believe this variable has effect on recordings as well.
/Peter
-----Ursprungligt meddelande----- Från: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] För Michael Lutz Skickat: den 17 februari 2012 15:12 Till: FreeSWITCH Users Help Ämne: [Freeswitch-users] Bug?: recordFile with input callback always ends recording
Hi All,
I am using the following peace of code, It should be able to set a termination key with the cStopRecording variable, and inside the input callback it should terminate if the dtmf key entered is valid and should return "break". However as soon as it gets inside the input callback function it always terminates the recording? Based on the wiki example this should work. By debugging I can see it never gets to the"return "break"". So the evaluation is correct.
Can someone please tell me what I am doing wrong or is it a bug?
Regards, Mike.
---------------------------------------------------- cStopRecordingKey = "#" cFile = "blah.wav"
session:setInputCallback("Record_onInput", ""); session:recordFile(cFile, 120, 10, 10); session:streamFile(cFile);
function Record_onInput(s, type, obj) if cRecordingStopkey == "-" then cRecordingStopkey = "" end -- None if cRecordingStopkey == "+" then cRecordingStopkey = "0123456789*#" end -- Any
if type == "dtmf" then freeswitch.consoleLog("NOTICE", "Got recording input: ".. obj['digit']); freeswitch.consoleLog("NOTICE", "Stopkey : ".. cRecordingStopkey); if (string.find(cRecordingStopkey, obj['digit'])~=nil) then -- It should only terminate when the key is in the list! return "break"; end end
end ----------------------------------------------------