ASTCC AGI PHP get_variable 1

ASTCC AGI PHP $_GET 问题 http://www.yippeesoft.com/blog/p/astccagiphpgeterr.php

because I can not get perl agi source-code,so I use PHP agi.

like perl-astcc
$res = $agi->exec("DIAL SIP/123/5508&line;30&line;HL(17982600000:60000:30000)");
$dialstatus = $agi->get_variable("DIALSTATUS");
print("#######\\n");
print("–".$dialstatus);
print "\\n";
print("**********\\n");
sleep(1);
$answeredtime = $agi->get_variable("ANSWEREDTIME");
print("#######\\n");
print "–".$answeredtime;
print "\\n";
print("*********\\n");

it output:

AGI Tx >> 200 result=-1
AGI Rx << GET VARIABLE DIALSTATUS
AGI Tx >> 200 result=1 (ANSWER)
AGI Rx << #######
AGI Tx >> 510 Invalid or unknown command
AGI Rx << –200 result=-1
AGI Tx >> 510 Invalid or unknown command
AGI Rx << **********
AGI Tx >> 510 Invalid or unknown command
AGI Rx << GET VARIABLE ANSWEREDTIME
AGI Tx >> 200 result=1 (6)
AGI Rx << #######
AGI Tx >> 510 Invalid or unknown command
AGI Rx << –200 result=1 (ANSWER)
AGI Tx >> 510 Invalid or unknown command
AGI Rx << *********
AGI Tx >> 510 Invalid or unknown command
AGI Rx << HANGUP
AGI Tx >> 200 result=1

the phpagi.php
do
&leftsign;
      $str =trim(fgets($this->in, 4096));
&rightsign; while($str == \’\’ && $count++ < 5);

I think it read in only one time,

I modify it :
do
&leftsign;
    $str =trim(fgets($this->in, 4096));
    $ri=strstr($str,"result");
&rightsign; while($ri ==false && $count++ < 5);

AGI Tx >> 200 result=-1
AGI Rx << GET VARIABLE DIALSTATUS
AGI Tx >> 200 result=1 (ANSWER)
AGI Rx << #######
AGI Tx >> 510 Invalid or unknown command
AGI Rx << –200 result=1 (ANSWER)
AGI Tx >> 510 Invalid or unknown command
AGI Rx << **********
AGI Tx >> 510 Invalid or unknown command
AGI Rx << GET VARIABLE ANSWEREDTIME
AGI Tx >> 200 result=1 (7)
AGI Rx << #######
AGI Tx >> 510 Invalid or unknown command
AGI Rx << –200 result=1 (7)
AGI Tx >> 510 Invalid or unknown command

it seem output ok,but it can not hangup

历史博文

标签:, , ,
十一月 24, 2005 at 1:34 下午 by yippee 1,042 次
Category: Dev
Tags: , , ,