0

我想问一下,如何在 Kamailio 4.1.2 中加载新模块?实际上,我有一个问题,当我尝试编译我kamaiio.cfg 的错误时:

root@kamailio:/usr/local/# kamailio -c kamailio.cfg
loading modules under /usr/local/lib64/kamailio/modules/
 0(25392) ERROR: <core> [sr_module.c:587]: load_module(): ERROR: load_module: could not find module <websocket> in </usr/local/lib64/kamailio/modules/>
 0(25392) : <core> [cfg.y:3408]: yyerror_at(): parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 323, column 12-25: failed to load module
 0(25392) ERROR: <core> [cfg.y:3272]: yyparse(): cfg. parser: failed to find command ws_handle_handshake
 0(25392) : <core> [cfg.y:3411]: yyerror_at(): parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 1083, column 27: unknown command, missing loadmodule?

ERROR: bad config file (2 errors)

当我实际查看时,/usr/local/lib64/kamailio/modules/有一些模块,但websocket.so丢失了。那么,如何在 Kamailio 中获取和加载模块?

谢谢你的帮助!

4

2 回答 2

3

您尚未安装模块websocket。编辑源代码目录下的 modules.lst 文件,将 websocket 添加到 include_modules 变量中。如果您没有 modules.lst,只需执行以下操作:

make cfg

替代方法是:

make cfg include_modules="websocket"

默认情况下,kamailio 的构建系统仅编译和安装与应用程序核心具有相同依赖关系的模块。对于 websocket,您需要安装 libunistring 和 openssl (libssl) 开发包。

于 2014-04-08T10:58:49.850 回答
0

将新模块加载到Kamailio服务器的步骤。(如果上述答案不适合您,请尝试)

  1. 直接检查默认模块中是否存在模块/usr/local/lib64/kamailio/modules
    如果找到,请在kamailio.cfg文件 的加载模块部分添加加载模块“module_name.so ” 。
  2. 如果在默认模块目录中找不到该模块,您可以在默认模块源代码目录/usr/local/src/kamailio-4.4/kamailio/modules中检查该模块的源代码。
  3. 如果找到源代码,进入模块目录。然后通过以下命令创建模块的共享对象文件(.so)。

    ./configure
    make
    测试
    make install

  4. 然后你会得到一个共享对象文件(.so)。将该文件复制到默认模块目录中。并从步骤 1 中提到的kamailio.cfg文件加载此模块。

  5. 如果默认源代码目录下不存在模块源代码,则需要从网上下载源代码。并按照步骤 3 和 4 进行操作。

于 2018-02-21T05:22:55.453 回答