配置模块自启动
-
修改conf/autoload_configs/modules.conf.xml。假如我们想加载mod_lua这个模块,则增加下面这行,然后重启freeswitch。
<load module="mod_lua"/>
-
验证。在客户端中输入
reload mod_lua
命令,如果出现下图结果则说明模块成功加载:
新增一个模块
如果要新增一个模块,只改conf/autoload_configs/modules.conf.xml往往是没用的,因为freeswitch可能压根没有这个模块,以mod_json_cdr这个模块为例,先在客户端中验证一下模块是否存在:
可以看到报错信息,在/mod/目录下没找到mod_json_cdr.so,说明fs确实没有这个模块。新增模块有以下三步:
- 修改源码目录下的module.conf文件:/freeswitch-1.6.20/modules.conf,取消相关模块前的注释:
- 重新编译:
make && make install
- 重启fs,再在客户端中验证一下:
出现上图,则说明模块加载成功。 - 上面的步骤存在的问题是,其实只需要新增一个模块mod_json_cdr,但是重新编译和安装了整个fs,效率无疑十分低下。单独安装模块的方式如下:…/freeswitch-1.6.20/src/mod/下包含所有的模块
mod_json_cdr位于/event_handlers中:
进入mod_json_cdr中执行make && make install
即可单独安装mod_json_cdr。安装完成后fs_cli中reload一下即可加载。需要注意的是,有的模块reload可能没用(例如mod_sofia、mod_lua、mod_switch等核心模块),需要重启fs才能完成加载。