我建了一个 Freeswitch 内核研究 交流群, 45211986, 欢迎加入, 另外,提供基于SIP的通信服务器及客户端解决方案,

承接 sip/ims 视频客户端开发,支持接入sip软交换,ims核心网,支持 语音,视频,即时通信功能,视频格式支持 h263,h264,mpeg4 软编软解,提供硬件编解码接口对接,提供服务器,有兴趣请联系我。




freeswitch用perl语言主要有两个地方,一个为用perl语言连接freeswitch event socket模块,通过socket连接控制freeswitch,另一个地方为用perl语言写dialplan,这与asterisk的agi类似,写dialplan需要模块mod_perl,第一种用法并不需要mod_perl支持。

a)安装mod_perl过程:

Centos上需要安装gdbm-devel 和 db4-devel

yuminstall   gdbm-devel  db4-devel

修改Modules.conf文件,去掉mod_perl的注释

Makemod_perl-install 安装

修改conf/modules.conf.xml 去掉mod_perl注释

fs_clireload

freeswitch@internal>reload mod_perl

-ERRunloading module [No such module!]

+OKReloading XML

+OKmodule loaded

2012-08-2011:23:28.247331 [INFO] mod_enum.c:871 ENUM Reloaded

2012-08-2011:23:28.247331 [INFO] switch_time.c:1163 Timezone reloaded 530 definitions

2012-08-2011:23:28.287826 [DEBUG] switch_loadable_module.c:1261 Loading module withglobal namespace at request of module

2012-08-2011:23:28.287826 [INFO] mod_perl.c:512 Allocated perl intrepreter.

2012-08-2011:23:28.287826 [CONSOLE] switch_loadable_module.c:1328 Successfully Loaded[mod_perl]

2012-08-2011:23:28.287826 [NOTICE] switch_loadable_module.c:254 Adding Application 'perl'

2012-08-2011:23:28.312383 [NOTICE] switch_loadable_module.c:298 Adding API Function'perlrun'

2012-08-2011:23:28.312383 [NOTICE] switch_loadable_module.c:298 Adding API Function'perl'

b) 使用perl写dialplan

dialplan中直接可以用system app或者 perl app直接调用perl脚本。

Xml dialplan中用


<action application="perl" data="/path/to/your/script.pl" />


或者


<actionapplication="system" data="/path/to/app.pl"/>


调用perl脚本。