rendered paste body#!/usr/bin/perl
use warnings;
use strict;
use lib ("/usr/local/grobill");
use GroBill;
use Asterisk::AGI;
our $AGI = new Asterisk::AGI;
our %INPUT = $AGI->ReadParse();
$AGI->setcallback (\&mycallback);
main();
sub main
{
my $dbh = GroBill::connect_db();
my $accountcode = $AGI->get_variable ('MYACCOUNTCODE');
my $destination = $AGI->get_variable ('DESTINATION');
print STDERR $accountcode . "\n";
print STDERR $destination . "\n";
my $transactionid = GroBill::create_transactionid ($dbh, $accountcode);
my $minutes = GroBill::reserve_time ($dbh, $transactionid, $accountcode, $destination);
$AGI->exec ('SetAccount' => $transactionid) && exit;
$AGI->exec ('AbsoluteTimeout' => int (60 * $minutes)) && exit;
}
sub mycallback
{
my ($returncode) = @_;
print STDERR "MYCALLBACK: User Hungup ($returncode)\n";
exit($returncode);
}
1;