rendered paste body#!/usr/bin/perl
$| = 1;
use strict;
use warnings;
use Asterisk::AGI;
my $agentno = 0;
my $try;
my $i;
my $AGI = new Asterisk::AGI;
my %input = $AGI->ReadParse();
open(LOGFILE, ">>logfile");
foreach $i (sort keys %input) {
print LOGFILE "$i = $input{$i}\n";
}
while ( (length($agentno) != 3 && $try < 3)) {
print "GET DATA vm-intro 10000 3\n";
my $result = <STDIN>;
if ($result =~ m/200 Result:(\d\d\d)/g) { $agentno = $1; }
if (length($agentno) == 3) {
open(CALLFILE, ">$agentno-2");
print CALLFILE "Channel: Local/8900\@agentlogin\n";
print CALLFILE "MaxRetries: 0\n";
print CALLFILE "RetryTime: 60\n";
print CALLFILE "WaitTime: 60\n";
print CALLFILE "Application: AgentCallbackLogin\n";
print CALLFILE "Data: $agentno|$input{callerid}\@outbound\n";
close(CALLFILE);
$agentno = $agentno + 300;
open(CALLFILE2, "$agentno-2");
print CALLFILE2 "Channel: Local/8900\@agentlogin\n";
print CALLFILE2 "MaxRetries: 0\n";
print CALLFILE2 "RetryTime: 60\n";
print CALLFILE2 "WaitTime: 60\n";
print CALLFILE2 "Application: AgentCallbackLogin\n";
print CALLFILE2 "Data: $agentno|$input{callerid}\@outbound\n";
close(CALLFILE2);
exit(0);
close(LOGFILE);
}
$try++;
}
close(LOGFILE);