2016-05-12 60 views
0

我想創建一個shell腳本來偵聽來自Asterisk的AMI事件,但是當我嘗試連接時,我得到:連接到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連接

我覺得我必須失去了一些東西顯而易見,但無法弄清楚它是什麼。

謝謝!

回答

0

盯着代碼足夠長的時間已經產生了答案。在Action: Login之後我留下了一個額外的空間,然後發送/n系統冒犯了。我完全刪除了空間和程序日誌。