[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