freeswtich支持 lua, perl, php等脚本语言编写dialplan, 类似asterisk 里面的agi,但freeswitch 更轻量级,其xml格式dialplan 手写确实麻烦,mod_perl实现了用perl写dialplan的接口,也就是说我们可以用perl调用freeswich提供的api编写自己的业务逻辑,尤其是当你想在dialplan里面引入业务相关的,比如查询数据库,与第三方业务平台交互数据(json,xml格式等),用perl是个不错的选择。
方法:
1. 在xml dialplan里调用perl 脚本
创建文件 dialplan/default/demo_perl.pl
内容:
被叫号是4001时执行此流程,功能是给用户播放一个语音文件,然后验证设置并获取通道变量api.
app perl 为mod_perl提供的api,执行 demo_perl.pl脚本
下面看此文件内容:
如果想知道 mod_perl提供了那些函数,可以用这个命令列出来:
grep -o -P "^(\*[^=]+|############# Class.+)" freeswitch.pm
完。