While his if statement will never do what he expects (check for the value "ANSWER" in $dialstatus) it should work when the call is answered as an assignment in an if statement will pretty much always return true... and he isn't overwriting a variable he uses in his execute.... so the thing should work in that case.

What you mean for your code to say is this:
$AGI->exec('Dial', $dialext);

my $dialstatus =  $AGI->get_variable("DIALSTATUS");

if($dialstatus eq "ANSWER") {
       $Accounting_update->execute($fdatetime,$Cuniq,$UserName,$CalledN);
}

But like I am saying above, that won't fix your problem, without your other code there is no way to really diagnose the problem. The only other thing I notice from the blurb is that you have a capital A in accounting where every other variable you reference other than $AGI is in lowercase. Are you using strict to make sure you are referencing variables that exist? You can do that by adding the following line to the top of your script:
use strict;

you might also try changing the execute line to say:
$Accounting_update->execute($fdatetime,$Cuniq,$UserName,$CalledN) or print STDERR "update failed!";

So that you would know if it failed....

Furqan wrote:

Hi Code Lover,

Please try this code :

if ($dialstatus eq "ANSWER"){$Accounting_update->execute($fdatetime,$Cuniq,$UserName,$CalledN);}

I hope it will solve your problem. We use "eq" instead of "=" in perl or cgi for strings.

Thanks

Furqan Ahmed
Software Engineer
B.E. (Computer System), DBA
Super Technologies Inc., Pensacola, Florida

Http://www.SuperTec.com - Tommrow's Technology, Today.
Http://www.SuperTec.com/solutions/ - VOIP Billing Solutions.
Http://www.AsteriskSupport.com - Premium Asterisk Support & Development Services.

----- Original Message ----- From: "Code Lover" <[EMAIL PROTECTED]>
To: <asterisk-users@lists.digium.com>
Sent: Sunday, December 18, 2005 2:13 AM
Subject: [Asterisk-Users] PERL AGI DIALSTATUS


Hi all,

I wanted to execute one of mySQL query when the call is answered i
tried with the following code but it dones not seems to work.

$AGI->exec('Dial', $dialext);

my $dialstatus =  $AGI->get_variable("DIALSTATUS");
if($dialstatus="ANSWER"){$Accounting_update->execute($fdatetime,$Cuniq,$UserName,$CalledN);}

It is not updating my query when the call is successfull answered, and
i checked my query from outside using perl commond it is working well
without any issue.




--
Thank You,
Code Lover
_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

Asterisk-Users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users


_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

Asterisk-Users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users


_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

Asterisk-Users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to