First of all, I don't see where $y is initialised or used except in the test condition of the while loop. That's probably your problem.
Why not move the logic of the top loop into the dialplan? exten => s, 1, Answer exten => s, 2, AGI(script) exten => s, 3, Hangup() exten => h, 4, DeadAGI(cleanup) then in your default case in your script send "SET PRIORITY 2" to *. On 5/25/05, Jon Farmer <[EMAIL PROTECTED]> wrote: > Moises Silva wrote: > > >could you post the script, the output of the script in the asterisk > >console and which asterisk version are you working with? > > > > > > > See below > > This is just a proof of concept script so its a bit basic... > > > #!/usr/bin/php -q > <?php > set_time_limit(30); > require "phpagi.php"; > error_reporting(0); > $agi = new AGI(); > $agi->agi_exec("ANSWER"); > while($y != 1){ > $response = ""; > $agi->agi_exec("STREAM FILE > /usr/share/asterisk/sounds/adsl/enter_ref #"); > $res = getDTMF("#",7); > $agi->agi_exec("STREAM FILE > /usr/share/asterisk/sounds/adsl/you_entered #"); > $response .= trim($res); > sayNumber($response); > switch($response) { > > case "12345": > $agi->agi_exec("STREAM FILE > /usr/share/asterisk/sounds/adsl/adsl_username_is #"); > $username = "JONFARMER"; > $userarray = myStringSplit(strtolower($username),1); > $usercount = count($userarray); > for($i=0;$i<$usercount;$i++){ > $agi->agi_exec("STREAM FILE > /usr/share/asterisk/sounds/letters/" . $userarray[$i] . " #"); > } > $agi->agi_exec("STREAM FILE > /usr/share/asterisk/sounds/adsl/domain1t #"); > break; > > case "67891": > $agi->agi_exec("STREAM FILE > /usr/share/asterisk/sounds/adsl/adsl_username_is #"); > $username = "test_user"; > $userarray = myStringSplit(strtolower($username),1); > $usercount = count($userarray); > for($i=0;$i<$usercount;$i++){ > $agi->agi_exec("STREAM FILE > /usr/share/asterisk/sounds/letters/" . $userarray[$i] . " #"); > } > $agi->agi_exec("STREAM FILE > /usr/share/asterisk/sounds/adsl/domain2 #"); > break; > > case "00": > $agi->agi_exec("STREAM FILE thanks #"); > exit(); > break; > > default: > $agi->agi_exec("STREAM FILE > /usr/share/asterisk/sounds/adsl/account_not_found #"); > break; > > } > } > $agi->agi_exec("STREAM FILE thanks #"); > unlink("/tmp/*.wav"); > > > function sayNumber($digit) { > global $agi; > $res = myStringSplit($digit,1); > $num = count($res); > for($x=0;$x<$num;$x++) { > $agi->agi_exec("STREAM FILE /usr/share/asterisk/sounds/digits/" > . $res[$x] ." #"); > } > sleep(1); > } > > function myStringSplit($string, $long){ > > $long--; > // Converting the string into an array > For( $i=0; isset($string{$i}); $i++){ > $myarray[] = $string{$i}; > } > > // Making arrays from the array > $a=0; > $end = $long; > $iend = count($myarray) / ( $long + 1 ); > For( $i=0; $i<$iend; $i++){ > > For( ; $a<=$end; $a++){ > > $array[$i] = $array[$i].$myarray[$a]; > } > $end = $end + $long + 1; > } > > return $array; > } > > > function getDTMF($term, $i) { > global $agi; > for($x=1;$x<$i;$x++) { > unset($res); > $res = $agi->agi_getdtmf(1,10000,$term,$prompt=FALSE); > $agi->conlog("Res: " . $res[0]); > if($res[0] == "") { > break; > } > if($res[0] != "") { > $result1 .= $res[0]; > //$agi->conlog("Result var: " . $result1); > } > $agi->conlog("Result var: " . $result1); > $agi->conlog("Channel: " . $agi->request["agi_channel"]); > $status = $agi->agi_channel_status($agi->request["agi_channel"]); > $agi->conlog("Status code: " . $status["status"]); > $agi->conlog("Description: " . $status["description"]); > if($status["description"] != "Line is up") { > exit(); > } > } > return $result1; > } > ?> > > > _______________________________________________ > Asterisk-Users mailing list > Asterisk-Users@lists.digium.com > http://lists.digium.com/mailman/listinfo/asterisk-users > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users > _______________________________________________ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users