rendered paste bodyvar TestID = Argv[0];
Verbose(0, "We're here.. with TestID " + TestID + "\n");
TestProcedures = sp_ast_test_GetDTMFINPUT(TestID);
Verbose(0, "Getting TestProcedures.... get length of " +TestProcedures.length + "\n" );
if ( ! TestProcedures > 0 ) {
Verbose(0, "TestProcedures Length was great not greater then zero! exiting\n");
sp_ast_test_SetOUTPUT(TestID, 0, "Invalid TestID passed!");
Chan.Hangup();
Die();
}
TestLength = TestProcedures - 1;
Verbose(0, "TestLength is " + TestLength + "\n");
while ( Chan.Up(true) ) {
for ( i = 0; i < TestLength; i++ ) {
Verbose(0, "Loop # " + i + "\n");
//TestProcedures[i].ID
//TestProcedures[i].Priority
//TestProcedures[i].DTMF
//TestProcedures[i].MS_WAIT
if ( ! Chan.Up(true) ) {
Verbose(0, "Channel hung up for TestID : " + TestID + "\n");
sp_ast_test_SetOUTPUT(TestID, TestProcedures[i].ID, 'Channel down, exiting');
break;
}
if ( TestProcedures[i].DTMF != "" ) {
for ( x = 0 ; x < TestProcedures[i].DTMF.length; x++) {
Chan.Wait(500);
Chan.Exec("SendDTMF", TestProcedures[i].DTMF[x]);
Verbose(0, "Sending DTMF : " + TestProcedures[i].DTMF[x] + "\n");
}
// Chan.Exec("SendDTMF", TestProcedures[i].DTMF);
}
if ( TestProcedures[i].MS_WAIT != "" ) {
Verbose(0, "Waiting on channel for : " + TestProcedures[i].MS_WAIT + "\n");
Chan.Wait(parseInt(TestProcedures[i].MS_WAIT)); // For some reason, parseInt is needed here. BUG
Verbose(0, "Done waiting\n");
}