本文來自csdn lidp http://blog.csdn.net/perfectpdl,轉載註明出處,謝謝。
我建了一個 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指令碼。