// 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();