首页 > 解决方案 > Opensips 在运行两三天后突然崩溃

问题描述

我正在使用opensips,它工作正常,但2-3天后突然崩溃。不明白下面的日志

CRITICAL:core:receive_fd: EOF on 17
INFO:core:handle_sigs: child process 14090 exited by a signal 11
INFO:core:handle_sigs: core was generated
 INFO:core:handle_sigs: terminating due to SIGCHLD
CRITICAL:core:receive_fd: EOF on 17
INFO:core:handle_sigs: child process 14090 exited by a signal 11
INFO:core:handle_sigs: core was generated
INFO:core:handle_sigs: terminating due to SIGCHLD
INFO:core:sig_usr: signal 15 received

我如何调查我的 opensips 到底出了什么问题。我正在使用 Ubuntu,我应该将其更改为 Centos 还是 Debian?或者上面的日志指示错误是什么?任何想法。

标签: voipsip-serveropensips

解决方案


除了崩溃之外,日志没有告诉您任何其他信息。问题是为什么。

如果您在不同的环境中运行相同的版本和配置,您可能会遇到相同的问题。

崩溃的时间依赖性表明它在满足特定竞争条件时崩溃。这可能是一个带有无效呼叫者 ID 的呼叫,您试图将其解析为一个 int、一个很少被称为被调用的路由块、系统上的资源限制或完全不同的东西。

这是一条非常通用的崩溃消息,因此无需更多调试,这只是猜测,所以让我们启用调试:

OpenSIPs 配置文件的开头是我们启用的地方,这是默认配置的外观(假设您已经构建了标准模板):

####### Global Parameters #########

log_level=3
log_stderror=no
log_facility=LOG_LOCAL0

children=4

/* uncomment the following lines to enable debugging */
#debug_mode=yes

如果您将其更改为:

####### Global Parameters #########

log_level=8
log_stderror=yes
log_facility=LOG_LOCAL0

children=4

/* uncomment the following lines to enable debugging */
debug_mode=yes

您将启用调试功能,并在 syslog 中提供更多信息。

完成此操作后,请等待 2 天,直到它崩溃,您将得到关于哪个模块/路由块/数据包导致您的实例崩溃的答案。

之后,您可以将输出与配置文件一起发布到此处,但 OpenSIP 或 Kamailio 邮件列表中的某个人之前很有可能遇到过同样的问题。


推荐阅读