All pastes #986 Raw Edit

agent perl

public text v1 · immutable
#986 ·published 2004-09-18 14:14 UTC
rendered paste body
#!/usr/bin/perl

$| = 1;
use strict;
use Asterisk::AGI;
my $agentno;
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>;
        $AGI->verbose("Whee 3");
        if ($result =~ m/200\sResult\:(\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);