通过套接字(telnet 样式)连接到 Asterisk Manager 时,每个命令执行后会有 3 秒的延迟。这是正常的吗?为什么会这样?可以立即返回响应吗?
**编辑**
更多信息
- 管理器是一个封闭的测试环境服务器
- 最多有 4 个用户同时连接
- 它使用最新的 trixbox CE 安装在物理企业服务器机器上
- 所有 DNS 似乎都已正确设置(SSH 运行正常且无延迟)
所有命令都执行时都会发送一个
\r\n
换行符,并\r\n
在末尾加上一个额外的换行符。例如 :
Action: Command{\r\n} Command: meetme list 204 concise{\r\n} {\r\n}
笔记:
{\r\n}
实际上是回车符和换行符,而不是文字字符串,以避免混淆并显示正在发送的内容。
答案1
由于 Asterisk 服务器非常繁忙,AMI 是否有三秒的延迟?
客户端与服务器之间的网络连接是否无延迟,或者是否存在自身延迟?
客户端系统是否没有延迟?
最可能的原因是 Asterisk 服务器非常繁忙,当命令到达排队命令的最前面时才做出响应。
您还有更多信息吗?
答案2
尝试放置行尾(或按回车键)两次,按照规范的要求;)
答案3
似乎在我们用于与 AMI 服务器通信的代码深处,有一些结构添加了一个等待超时每次 IO 操作之前。经过大量修改代码后,我成功删除了该“功能”,现在一切都正常运行”