All pastes #926573 Raw Edit

Mine

public text v1 · immutable
·published 2008-03-03 19:26 UTC
rendered paste body
// START OF CONFIGURATION SECTION

var digitmax    = argv[0];   // maximum length of a digit - 0 disables digits
var digitterm   = argv[1];  // terminator char for digit entry - cant be part of the digit number
var digitwait   = argv[2]; // ms to wait for digit entry
var digitmaxtry = 3;    // maximum number of times to ask for a digit before giving up

var snd_getdigit      = "say:test";     // prompt asking for their digit number

// this function strips a listed character out of a string
function removeChr(str,chr)
{
    var newStr = "";

    for(var i=0;i<str.length;i++) {
        if(str.substr(i,1) != chr) { newStr += str.substr(i,1); }
    }

    return newStr;
}


// this is the dtmf callback function - in a nice generic way
function main_cb(type,digits,args)
{
    if(type == "dtmf") {
        if(digits!='false') { return digits; }
        return false; // stop playback if any
    }
}


// MAIN PROGRAM ENTRY POINT

session.answer();

// session.speak("cepstral","William","Hello from FreeSwitch")

            session.flushDigits(); // clear out input buffers
            if((digit=session.speak("cepstral","callie","Please enter digits",main_cb))==false) {
                digit=session.getDigits(digitmax,digitterm,digitwait);
            } else {
                digit+=session.getDigits(digitmax-1,digitterm,digitwait);
            }

            digit = removeChr(digit,digitterm); // make sure the didnt enter it during the prompt

        session.setVariable("digits", digit);

exit();