操作系統:debian8.5_x64
freeswitch 版本 : 1.6.8
python版本:2.7.9
開啟python模塊
安裝python lib庫
apt-get install python-dev
編輯modules.conf,開啟python模塊:
languages/mod_python
編譯安裝:
./configure && make && make install
在modules.conf.xml中開啟python支持;
啟動freeswitch;
測試腳本
API測試
添加測試腳本:
文件路徑:/usr/local/freeswitch/scripts/test1.py
文件內容:
import freeswitch def fsapi(session,stream,env,args): stream.write("hello") freeswitch.consoleLog("info","test")
控制台測試
freeswitch@debian8> python test1 hello 2016-09-06 23:06:09.069753 [NOTICE] mod_python.c:212 Invoking py module: test1 2016-09-06 23:06:09.069753 [DEBUG] mod_python.c:283 Call python script 2016-09-06 23:06:09.069753 [INFO] switch_cpp.cpp:1360 test 2016-09-06 23:06:09.069753 [DEBUG] mod_python.c:286 Finished calling python script freeswitch@debian8>
APP測試
文件路徑: /usr/local/freeswitch/scripts/testCall.py
文件內容:
import freeswitch def handler(session, args): session.answer() freeswitch.console_log("info","testCall") session.streamFile("local_stream://moh") freeswitch.msleep(3000) session.hangup()
在dialplan中加入如下配置:
<extension name="python test script"> <condition field="destination_number" expression="^400123456$"> <action application="python" data="testCall"/> </condition> </extension>
注冊話機,撥打400123456號碼即可聽到moh聲音,同時看到freeswitch控制台日志。
本文github地址:
https://github.com/mike-zhang/mikeBlogEssays/blob/master/2016/20160906_freeswitch嵌入python腳本.md
歡迎補充