#!/usr/bin/perl $|=1; while() { chomp; last unless length($_); if (/^agi_(\w+)\:\s+(.*)$/) { $AGI{$1} = $2; } } print STDERR "AGI Environment Dump:\n"; foreach $i (sort keys %AGI) { print STDERR " -- $i = $AGI{$i}\n"; } sub checkresult { my ($res) = @_; my $retval; $tests++; chomp $res; if ($res =~ /^200/) { $res =~ /result=(-?\d+)/; if (!length($1)) { print STDERR "FAIL ($res)\n"; $fail++; } else { print STDERR "PASS ($1)\n"; $pass++; } } else { print STDERR "FAIL (unexpected result '$res')\n"; $fail++; } } print STDERR "1. Testing 'sendfile'..."; print "STREAM FILE beep \"\"\n"; $result = ; checkresult($result); print STDERR "2. Testing 'sendtext'..."; print "SEND TEXT \"hello world\"\n"; $result = ; checkresult($result); print STDERR "3. Testing 'sendimage'..."; print "SEND IMAGE asterisk-image\n"; $result = ; checkresult($result); print STDERR "4. Testing 'saynumber'..."; print "SAY NUMBER 192837465 \"\"\n"; $result = ; checkresult($result); print STDERR "5. Testing 'waitdtmf'..."; print "WAIT FOR DIGIT 1000\n"; $result = ; checkresult($result); print STDERR "6. Testing 'record'..."; print "RECORD FILE testagi gsm 1234 3000\n"; $result = ; checkresult($result); print STDERR "6a. Testing 'record' playback..."; print "STREAM FILE testagi \"\"\n"; $result = ; checkresult($result); print STDERR "================== Complete ======================\n"; print STDERR "$tests tests completed, $pass passed, $fail failed\n"; print STDERR "==================================================\n";