通过shell脚本连接到Asterisk AMI - 权限被拒绝

时间:2016-05-12 17:10:43

标签: shell asterisk asteriskami

我正在尝试创建一个shell脚本来监听来自Asterisk AMI的事件,但当我尝试连接时,我得到:

Response: Error
Message: Permission denied

以下是我脚本中的相关代码:

set username "username"
set secret "secret"
set host "127.0.0.1"
set port "5038"

spawn telnet $host $port

expect "Manager/1.3" {
    send_user "Connected.\n"
    send "Action: Login \nUsername: ${username}\nSecret: ${secret}\n\n"
}

问题是,如果我使用完全相同的用户名和密码手动登录到该主机和端口,它就可以正常工作。

如果有帮助,请查看来自manager.conf的相关代码

[general]
enabled = yes
bindaddr = 127.0.0.1
port = 5038

[username]
secret=secret
read=call
write=all

CLI的输出确认它正在尝试从127.0.0.1连接

我觉得我必须遗漏一些明显但却无法弄清楚它是什么的东西。

谢谢!

1 个答案:

答案 0 :(得分:0)

长时间盯着代码已经产生了答案。在发送Action: Login系统冒犯之前,我在/n之后留下了一个额外的空格。我删除了空间,程序完美登录。