[Asterisk-Users] AGI.pm wait_for_digit() not working for
me!!!
Andy Powell
andy at beagles-den.demon.co.uk
Tue May 11 05:56:40 MST 2004
Ok,
the first think to do is check the permissions on the conf-background.agi ..asterisk needs to be able to run it ...
The code I've listed below works fine for me:
#!/usr/bin/perl
use Asterisk::AGI;
$AGI = new Asterisk::AGI;
%input = $AGI->ReadParse();
$soundpath = "/var/lib/asterisk/sounds/";
$timeout = 10;
while(1)
{
$input = chr($AGI->wait_for_digit($timeout));
if ($input eq "*")
{
$AGI->stream_file("$soundpath/banana-phone-song");
}
if ($input eq "1")
{
exit 0;
}
}
*********** REPLY SEPARATOR ***********
On 11/05/2004 at 10:52 Atif wrote:
>Hello everybody!!!
>
>
>
>I really need your help guys, I am using the AGI mode in meetme
>application,
>and I want that AGI should wait for an input from the client/user i.e. a
>digit and then proceed, but I have used that AGI function
>agi->wait_for_digit(), but no use....my agi just passes, or ignores this
>function,
>
>where AGI should stop here and wait for the input....
>
>
>
>.....my extension in my dialplan.....
>
>exten => 21,1,answer
>
>exten => 21,2,meetme(21|pb)
>
>
>
>..........and here is my AGI...........
>
>#!/usr/bin/perl -w
>
>#use strict;
>
>
>
>$aginame="conf-background.agi";
>
>use File::Copy cp;
>
>use Asterisk::AGI;
>
>$AGI = new Asterisk::AGI;
>
>my %input = $AGI->ReadParse();
>
>
>
>$char=0;
>
>
>
>#while(1)
>
>{
>
>
>
> #$AGI->exec('WaitExten','25000');
>
> #$char = $AGI->receive_char('600');
>
> $char=chr($AGI->wait_for_digit('600'));
>
>
>
> print STDERR "input form rec char : $char\n";
>
>
>
> if($char eq "*")
>
> {
>
> print STDERR "Dialing your number\n";
>
> $srcfile="/tmp/mycall";
>
> $dstfile="/var/spool/asterisk/outgoing/mycall";
>
> open(MYCALL,">$srcfile") || die "Cant't open file :$srcfile
>$!\n";
>
> print MYCALL "Channel:IAX2/bali:bali\@nain/25\@atif\n";
>
> print MYCALL "MaxRetries:2\n";
>
> print MYCALL "RetryTime:60\n";
>
> print MYCALL "WaitTime:30\n";
>
> print MYCALL "Context:atif\n";
>
> print MYCALL "Extension:22\n";
>
> print MYCALL "Priority:1\n";
>
> close MYCALL;
>
># cp($srcfile,$dstfile);
>
> print STDERR "dialing complete...\n";
>
> }
>
>
>_______________________________________________
>Asterisk-Users mailing list
>Asterisk-Users at lists.digium.com
>http://lists.digium.com/mailman/listinfo/asterisk-users
>To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-users
More information about the asterisk-users
mailing list