用Perl 语言写freeswitch dialplan

2014-11-24 09:45:06 · 作者: · 浏览: 2

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


完。