Asterisk AMI没有收听端口5038

时间:2014-06-24 20:30:20

标签: asterisk

我有一个在ubuntu上运行星号的实例,我能够执行.call脚本并观察它们通过“asterisk -rcvvvvv”运行,但我无法通过telnet连接到它{{{ 3}}。 (我正在调试为什么我的PHP代码无法连接)

我已更新 /etc/asterisk/manager.conf 并使用以下方式重新启动星号:

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

#include "manager.d/*.conf"

[admin]
secret = abc123
deny = 0.0.0.0/0.0.0.0
permit = 127.0.0.1/255.255.255.255
read = all,system,call,log,verbose,command,agent,user,config
write = all,system,call,log,verbose,command,agent,user,config

我为localhost打开了防火墙:

sudo ufw allow from 127.0.0.1 to any port 5038

但如果我检查运行 telnet localhost 5038 ...

Trying ::1...
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

当我运行 netstat -plnt 时,我也看不到它在听:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:2000            0.0.0.0:*               LISTEN      -
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      -
tcp        0      0 127.0.0.1:11300         0.0.0.0:*               LISTEN      -
tcp6       0      0 :::80                   :::*                    LISTEN      -
tcp6       0      0 :::22                   :::*                    LISTEN      -
tcp6       0      0 ::1:5432                :::*                    LISTEN      -

我还有别的办法让它在端口5038上听吗?

4 个答案:

答案 0 :(得分:5)

找到答案。在http://the-asterisk-book.com/1.6/asterisk-manager-api.html的示例中,他们说要将[admin]添加到manager.conf的底部。它需要进入一个新文件,如/etc/asterisk/manager.d/admin.conf

重新启动星号,然后向右射击。

答案 1 :(得分:2)

使用分号取消注释/etc/asterisk/manager.conf中的include

;#include "manager.d/*.conf"

并重新启动星号

service asterisk restart

之后,端口应该打开:

telnet localhost 5038

答案 2 :(得分:0)

我遇到的问题是manager.conf上的文件权限。它创建为root,并且没有全局读取权限。

将所有者更改为运行星号的用户(在我的情况下为asterisk)有效。

值得检查这是否对你有用。

答案 3 :(得分:0)

帮助了我,但是却评论了 #include 我创建了不存在的文件

星号cli抛出错误(错误)

CLI> manager reload

config.c:1782 process_text_line: The file 'manager.d/*.conf' was listed as a #include but it does not exist.
manager.c:8653 __init_manager: Unable to open AMI configuration manager.conf, or configuration is invalid.

CLI> manager show settings

Global Settings:                                                                                                                       
----------------                                                                                                                       
  Manager (AMI):             No                                                                                                        
  Web Manager (AMI/HTTP):    No                                                                                                        
  TCP Bindaddress:           Disabled                                                                                                  
  HTTP Timeout (minutes):    60                                                                                                        
  TLS Enable:                No                                                                                                        
  TLS Bindaddress:           Disabled                                                                                                  
  TLS Certfile:              asterisk.pem                                                                                              
  TLS Privatekey:                                                                                                                      
  TLS Cipher:                                                                                                                          
  Allow multiple login:      Yes                                                                                                       
  Display connects:          Yes                                                                                                       
  Timestamp events:          No                                                                                                        
  Channel vars:                                                                                                                        
  Debug:                     No

然后我创建 /etc/asterisk/manager.d/temp.conf 和chown星号所有者