将变量从Asterisk Dialplan传递到AGI perl脚本

时间:2013-04-01 21:31:27

标签: perl asterisk agi

我正在尝试使用AGI将Asterisk Dialplan中的变量传递给perl脚本。我现在对此表示非常困惑,以及它是如何工作的。现在在我的拨号方案中我有这个:

exten=>1122,1,Answer
exten=>1122,n,Read(digit)
exten=>1122,n,agi(/home/steve/Desktop/testperlping.pl,${digit})
exten=>1122,n,Hangup()

我希望用户拨打分机1122,然后输入1-10中的号码,并使用AGI将输入的号码传递给perl。

我的perl脚本如下:

#!/usr/bin/perl -w
$|=1;

use Net::Ping;
use Asterisk::AGI;

$AGI = new Asterisk::AGI;

my %input = $AGI->ReadParse();

***I think I need something here***

$AGI->verbose("$numbertheytypedintophone"); #This will display the entered number back to the CLI.

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我正在使用Asterisk :: FastAGI(推荐用于perl集成),代码如下所示:

my $dst = $self->param('dst');

对于Asterisk :: AGI它(我只读AGI.pm源代码):

my $digits=$input{'arg_1'};

如果您有任何问题,我强烈建议您阅读模块的源代码,将会更快。