Asterisk :: AMI模块

时间:2011-05-31 12:36:11

标签: perl asterisk telephony

我正在学习perl中的Asterisk :: AMI模块以连接到星号。运行以下程序时,我无法连接到星号。谁能给我解决这个问题的解决方案?。

use Asterisk::AMI;
my $astman = Asterisk::AMI->new(PeerAddr        =>      '127.0.0.1', #Remote host address
                                PeerPort        =>      '5038',      #Remote host port
                                                                     #AMI is available on TCP port 5038 if you enable it in manager.conf. 
                                Username        =>      'admin',     #Username to access the AMI

                                Secret          =>      'supersecret' #Secret used to connect to AMI
                                );

die "Unable to connect to asterisk" unless ($astman);

my $action = $astman->({ Action => 'Command',
                         Command => 'sip show peers'
                       });

print $action;

提前致谢。

3 个答案:

答案 0 :(得分:2)

如果包含以下内容,您的脚本应显示错误/警告:

use warnings;

在脚本开头。

答案 1 :(得分:1)

我一直在经历同样的问题 然后我发现我必须配置 /etc/asterisk/manager.conf文件中的用户

就像这个例子 http://www.voip-info.org/wiki/view/Asterisk+config+manager.conf

你会获得成功;

答案 2 :(得分:0)

你在这里缺少一个comman:
' $ action = $ astman->({...'
应该是
' $ action = $ astman-> send_action({...'