0

我正在开发一个使用星号服务器来管理 SIP 呼叫的应用程序。我为此使用 Asterisk.NET 库。

我需要通过代理服务器 AstManProxy 连接星号服务器。但是,当我通过代理连接时,它给了我一个超时异常。

谁能告诉我如何通过 AstManProxy 连接?

4

2 回答 2

0

首先测试您可以在没有代理的情况下连接到星号。

之后再次检查您是否正确配置了代理。

如果所有接缝都正常,请使用 tcpdump 或 wireshark 查看您的应用程序和代理之间的通信。

于 2013-08-15T14:39:01.407 回答
0

如果 astmanproxy 与 Asterisk 在同一台机器上运行,这是我通常遵循的过程。

在端口 5039 上启用 AMI
vi /etc/asterisk/manager.conf

[general]
enabled = yes
port = 5039
bindaddr = 0.0.0.0
timestampevents = yes

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

然后确保 AMI 响应

telnet localhost 5039
Action: Command
Command: core show channels<enter><enter>
Action: Logoff <enter><enter>

在端口 5038 上配置 ASTERISK MANAGER 代理

vi /etc/asterisk/astmanproxy.conf
host = localhost, 5039, username, password, on, off
listenport = 5038

然后在代理端口 5038 上测试

telnet localhost 5038
Action: Command
Command: core show channels<enter><enter>
Action: Logoff <enter><enter>

然后使用 MONIT 确保 ASTMANPROXY 保持运行
vi /etc/monit/monitrc

#Asterisk AMI Manager Proxy Monitoring Rule
check process astmanproxy with pidfile /var/run/astmanproxy.pid
start program = "/etc/init.d/astmanproxy start"
stop program = "/etc/init.d/astmanproxy stop"
if failed host 127.0.0.1 port 5038 then restart
if 5 restarts within 5 cycles then timeout
于 2013-08-16T10:20:19.063 回答