我想问一下,如何在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中获取并加载模块?
谢谢你的帮助!
答案 0 :(得分:3)
您尚未安装模块 websocket 。编辑源代码目录中的modules.lst文件,并将websocket添加到include_modules变量中。如果您没有modules.lst,请执行以下操作:
make cfg
替代方案是:
make cfg include_modules="websocket"
默认情况下,kamailio的构建系统仅编译和安装与应用程序核心具有相同依赖关系的模块。对于websocket,您需要安装libunistring和openssl(libssl)开发包。
答案 1 :(得分:0)
步骤将新模块加载到 Kamailio 服务器。 (如果以上答案不适合您,请尝试)
如果找到源代码,请进入模块目录。然后创建模块&#39;通过以下命令共享对象文件(.so)。
./配置
使
进行测试
make install
然后您将获得一个共享对象文件(.so)。将该文件复制到默认模块目录中。并按照步骤1中提到的 kamailio.cfg 文件加载此模块。
如果默认源代码目录中不存在模块源代码,则需要从Web下载源代码。并按照步骤3和4进行操作。