[Freeswitch-users] session.recordFile issue when used right after "phrase" application
Anthony Minessale
anthony.minessale at gmail.com
Fri Apr 11 05:51:49 PDT 2008
You also could probably do session.execute("sleep", "2000");
But a beep is a more logical indication of when you can start recording.
I would not avoid phrase macros, they were designed to make ivr more
flexible and easy to design.
I think the problem is not related to performance it's a temporal issue so
the beep buys time for a lead-in on the recording.
The XML from the phrases are stored in memory and parsing them does not
become a bottleneck until about the 500 calls per second mark.
On Thu, Apr 10, 2008 at 9:30 PM, Chris Danielson <chris at maxpowersoft.com>
wrote:
> After debugging and fiddling with this further I discovered something of
> a useful workaround. Here it is. (works every time)
>
> while (session.ready() && dtmf.indexOf("#") < 0) {
> sayphrase("sayit", "Say something after the tone and press pound.");
> var tts = new TeleTone(session);
>
>
> tts.generate("v=-7;%(100,0,941.0,1477.0);v=-7;>=2;+=.1;%(1400,0,350,440)");
> session.recordFile(FILELOC+filename,on_record_file,"",30,500,10);
> }
>
> The catch is to trick the user into letting the speech engine catch up
> by signaling when it is ready. BTW, are there any plans of integrating
> something of a memcache (I know supjigator was researching it)?
>
> As-is every time a phrase is executed a call is made to the speech
> engine switch_ivr_phrase_macro(...) and that call invokes a huge amount
> of iteration across the xml elements. For testing, I did minimize the
> amount of iterations and found no significant difference in the time
> that the phrases stopped and the recording began. I suppose the better
> way of doing things is to avoid using phrase macros and stick
> predominantly to pre-recorded sound files.
> Cheers,
> Chris
>
>
> Chris Danielson wrote:
> > The following code seems to always perform the session.recordFile(...)
> > function late. And this leads to cutting off the first second of the
> > recording. The problem goes away when you remove the
> > session.execute("phrase","...") call. I even ran FreeSWITCH with the
> > "-hp" mode to see if that changed things. No luck. Any ideas on what I
> > can do other than setup a pre-recorded message to play?
> > Cheers,
> > Chris
> >
> > /*
> > <macro name="sayit">
> > <input pattern="(.*)">
> > <match>
> > <action function="speak-text" data="$1"/>
> > </match>
> > </input>
> > </macro>
> > */
> >
> > function on_record_file(sess, type, obj, arg) {
> > try {
> > if (type=="dtmf") {
> > dtmf += obj.digit;
> > if (dtmf.indexOf("#") > -1) return false;
> > }
> > } catch (e) {
> > console_log("error: " + e + "\n");
> > }
> > return true;
> > }
> >
> > var dtmf = "";
> > var FILELOC = "/var/sounds/";
> > var filename = session.uuid+".wav";
> > while (session.ready() && dtmf.indexOf("#") < 0) {
> > session.execute("phrase", "sayit, Your life is a joke say something
> > and press pound.");
> > session.recordFile(FILELOC+filename,on_record_file,"",30,800,10);
> > }
> >
> >
> >
> > _______________________________________________
> > 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/
AIM: anthm
MSN:anthony_minessale at hotmail.com <MSN%3Aanthony_minessale at hotmail.com>
GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com<PAYPAL%3Aanthony.minessale at gmail.com>
IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference
sip:888 at conference.freeswitch.org <sip%3A888 at conference.freeswitch.org>
iax:guest at conference.freeswitch.org/888
googletalk:conf+888 at conference.freeswitch.org<googletalk%3Aconf%2B888 at conference.freeswitch.org>
pstn:213-799-1400
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20080411/b2cb8b28/attachment-0002.html
More information about the FreeSWITCH-users
mailing list