加载json.so时出现Kamailio启动错误

加载json.so时出现Kamailio启动错误,json,kamailio,Json,Kamailio,我在启动Kamailio 4.3版时遇到问题。我从源代码安装了Kamailio,模块存储在默认目录/usr/local/lib64/Kamailio/modules中。我使用的是Kamailio提供的json模块,但无法加载 Kamailio关于json模块的文档可以在这里找到: 文档说明,在加载模块之前,您需要我安装的所需库libjson。当我启动kamailio并通过kamailio start对日志文件进行cat时;cat/var/log/kamailio.log | grep erro

我在启动Kamailio 4.3版时遇到问题。我从源代码安装了Kamailio,模块存储在默认目录
/usr/local/lib64/Kamailio/modules
中。我使用的是Kamailio提供的json模块,但无法加载

Kamailio关于json模块的文档可以在这里找到:

文档说明,在加载模块之前,您需要我安装的所需库libjson。当我启动kamailio并通过
kamailio start对日志文件进行cat时;cat/var/log/kamailio.log | grep error
我收到以下错误:

Jan  8 12:43:53 localhost kamailio: ERROR: <core> [sr_module.c:576]: load_module(): could not open module </usr/local/lib64/kamailio/modules/json.so>:    /usr/local/lib64/kamailio/modules/json.so: undefined symbol: is_error
Jan  8 12:43:53 localhost kamailio: : <core> [cfg.y:3432]: yyerror_at(): parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 109, column 12-20: failed to load module
更多信息:

ldd json.so
linux-vdso.so.1 =>  (0x00007ffc33e97000)
libjson-c.so.2 => /lib64/libjson-c.so.2 (0x00007f24d8110000)
libc.so.6 => /lib64/libc.so.6 (0x00007f24d7d7c000)
/lib64/ld-linux-x86-64.so.2 (0x00007f24d8527000)
是否有其他人遇到过类似的问题,或者是否有人知道解决方案?还值得一提的是,我正在CentOS 6.7上运行kamailio。

is_error(p)应该是一个宏,查看json.h文件(可能位于/usr/include/json-c/json.h)中是否包含同一文件夹中的“bits.h”。应在bits.h内部定义宏is_error()

如果你没有,也许它是一个定制的库

作为补充说明,kamailio.cfg中json操作的另一种选择是使用jansson模块

ldd json.so
linux-vdso.so.1 =>  (0x00007ffc33e97000)
libjson-c.so.2 => /lib64/libjson-c.so.2 (0x00007f24d8110000)
libc.so.6 => /lib64/libc.so.6 (0x00007f24d7d7c000)
/lib64/ld-linux-x86-64.so.2 (0x00007f24d8527000)