如果在 asterisk CLI 上执行 reload 命令,则 Asterisk 调用断开连接

Asterisk call disconnecting if the reload command is executed on asterisk CLI

我从 asterisk CLI 执行重新加载命令:

  1. 所有 sip Registry 都取消注册。
  2. 所有进行中的通话都被挂断。

我使用的是asterisk 13.16.0版本。 这是默认行为还是这里有问题?

不,确定它不是默认值。也没有办法配置这样的行为,所以你有问题。

勾选

asterisk -rx "core show uptime"

如果您在重新加载后的正常运行时间小于 1 分钟,则意味着您的核心已崩溃,并且您已选择 "how to debug asterisk crash"。

您还可以在 /var/log/asterisk/

中查看星号日志

此问题是特定于 SIP 提供商的。当 chan_sip 被重新加载并且文件 sip.conf 被修改时(即使你 touch 文件)然后 Asterisk 再次发送带有新生成的 Call-ID 的新 Register 请求到存在于sip.conf 文件。 在我的例子中,当 SIP 提供商获得这个新的呼叫 ID 时,该提供商正在丢弃所有现有的 SIP 会话,从而导致所有呼叫中断。

我通过稍微修改 chan_sip 模块的重新加载功能来解决这个问题。