[Freeswitch-users] session:recordFile(-) always creates empty wav file during outbound IVR call

king2kin xing2kin at yahoo.com
Thu Sep 1 21:45:17 MSD 2011


I tried it again like you advise, but there is no difference. It's really a problem.

By the way, my dev system is windows 2003 server, SIP client is X-Lite,
and FS versions are GIT 1.0-head-2011-08-31 or GIT 1.0-head-2011-05-23.


--- On Thu, 9/1/11, Anthony Minessale <anthony.minessale at gmail.com> wrote:

> From: Anthony Minessale <anthony.minessale at gmail.com>
> Subject: Re: [Freeswitch-users] session:recordFile(-) always creates empty wav file during outbound IVR call
> To: "FreeSWITCH Users Help" <freeswitch-users at lists.freeswitch.org>
> Date: Thursday, September 1, 2011, 8:51 AM
> now try this:
> 
> {record_waste_resources=true,ignore_early_media=true}sofia/gateway/mygateway/1726011
> 
> My guess is that the other end of your call does not
> support
> asynchronous RTP and since we do not send media while
> recording its
> not either.
> 
> 
> 
> 
> On Thu, Sep 1, 2011 at 4:48 AM, king2kin <xing2kin at yahoo.com>
> wrote:
> > Hi Anthony,
> >
> > Actually FreeSwitch application "record" doesn't work
> either for outbound IVR call (see below), created an empty
> wav file with its size 68 bytes, the wav file doesn't
> contain any samples of audio data;
> >
> > <action application="record"
> data="C:/c4dev/freeswitch/Debug/sounds/test.wav 20
> 200"/>
> >
> > earlier I reported that "session:recordFile(-)"
> doesn't work inside Lua Script for any outbound IVR call.
> >
> > - My CLI commands to make an outbound IVR call:
> >
> > originate
> {ignore_early_media=true}sofia/gateway/mygateway/1726011
>  8884
> > or
> > originate user/1005   8884
> >
> > - xml diaplan for extension 8884:
> > {
> >        <extension name="Play and Record Sound
> File">
> >                <condition
> field="destination_number" expression="^(8884)$">
> >                        <action
> application="answer"/>
> >                        <action
> application="sleep" data="1000"/>
> >                        <action
> application="playback" data="ivr/ivr-thank_you.wav"/>
> >
> >                        <action
> application="record"
> data="C:/c4dev/freeswitch/Debug/sounds/test.wav 20
> 200"/>
> >
> >                        <action
> application="sleep" data="1000"/>
> >                        <action
> application="playback" data="voicemail/vm-goodbye.wav"/>
> >
> >                        <action
> application="sleep" data="1000"/>
> >                        <action
> application="hangup"/>
> >                </condition>
> >        </extension>
> > }
> >
> > --- On Wed, 8/31/11, Anthony Minessale <anthony.minessale at gmail.com>
> wrote:
> >
> >> From: Anthony Minessale <anthony.minessale at gmail.com>
> >> Subject: Re: [Freeswitch-users]
> session:recordFile(-) always creates empty wav file during
> outbound IVR call
> >> To: "FreeSWITCH Users Help" <freeswitch-users at lists.freeswitch.org>
> >> Date: Wednesday, August 31, 2011, 7:46 PM
> >> Does the empty file contain silence
> >> that corresponds to the duration
> >> of the time it's recording?
> >> Are you producing the audio yourself into the
> recording and
> >> can you
> >> verify with a pcap that there is actually any
> audio to
> >> record?
> >>
> >>
> >> On Wed, Aug 31, 2011 at 9:21 PM, king2kin <xing2kin at yahoo.com>
> >> wrote:
> >> > Anthony,
> >> >
> >> > Thank you for help. I tried outbound IVR call
> in
> >> multiple ways again based on your advice,
> >>  session:recordFile(-) still doesn't work
> normally, still
> >> created empty wav file .
> >> >
> >> > Could anyone please give me a hand on
> FreeSwitch
> >> Record? It always fails to record audio file
> during any
> >> outbound IVR call (auto dialer) although it works
> well
> >> during any inbound ivr call.
> >> >
> >> > Session:streamFile(-) works well to play back
> prompt
> >> files, dtmf keypress also works, ... during
> outbound ivr
> >> call.
> >> >
> >> > x.k.
> >> >
> >> > --- On Wed, 8/31/11, Anthony Minessale <anthony.minessale at gmail.com>
> >> wrote:
> >> >
> >> >> From: Anthony Minessale <anthony.minessale at gmail.com>
> >> >> Subject: Re: [Freeswitch-users]
> >> session:recordFile(-) always creates empty wav
> file during
> >> outbound IVR call
> >> >> To: "FreeSWITCH Users Help" <freeswitch-users at lists.freeswitch.org>
> >> >> Date: Wednesday, August 31, 2011, 12:17
> PM
> >> >> try this dial string instead
> >> >>
> >> >>
> >>
> {ignore_early_media=true}sofia/gateway/sip.tpad.com/1726011
> >> >>
> >> >> On Wed, Aug 31, 2011 at 12:52 PM,
> king2kin <xing2kin at yahoo.com>
> >> >> wrote:
> >> >> > 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.
> >> >> >
> >> >> >
> >> >> > 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
> >> >> >
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> Anthony Minessale II
> >> >>
> >> >> FreeSWITCH http://www.freeswitch.org/
> >> >> ClueCon http://www.cluecon.com/
> >> >> Twitter: http://twitter.com/FreeSWITCH_wire
> >> >>
> >> >> AIM: anthm
> >> >> MSN:anthony_minessale at hotmail.com
> >> >> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
> >> >> IRC: irc.freenode.net #freeswitch
> >> >>
> >> >> FreeSWITCH Developer Conference
> >> >> sip:888 at conference.freeswitch.org
> >> >> googletalk:conf+888 at conference.freeswitch.org
> >> >> pstn:+19193869900
> >> >>
> >> >>
> >> >> 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
> >> >>
> >> >
> >> >
> >> > 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
> >> >
> >>
> >>
> >>
> >> --
> >> Anthony Minessale II
> >>
> >> FreeSWITCH http://www.freeswitch.org/
> >> ClueCon http://www.cluecon.com/
> >> Twitter: http://twitter.com/FreeSWITCH_wire
> >>
> >> AIM: anthm
> >> MSN:anthony_minessale at hotmail.com
> >> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
> >> IRC: irc.freenode.net #freeswitch
> >>
> >> FreeSWITCH Developer Conference
> >> sip:888 at conference.freeswitch.org
> >> googletalk:conf+888 at conference.freeswitch.org
> >> pstn:+19193869900
> >>
> >>
> >> 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
> >>
> >
> >
> > 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
> >
> 
> 
> 
> -- 
> Anthony Minessale II
> 
> FreeSWITCH http://www.freeswitch.org/
> ClueCon http://www.cluecon.com/
> Twitter: http://twitter.com/FreeSWITCH_wire
> 
> AIM: anthm
> MSN:anthony_minessale at hotmail.com
> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
> IRC: irc.freenode.net #freeswitch
> 
> FreeSWITCH Developer Conference
> sip:888 at conference.freeswitch.org
> googletalk:conf+888 at conference.freeswitch.org
> pstn:+19193869900
> 
> 
> 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
> 



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