我正在学习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;
提前致谢。
答案 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({...'