FreeSwitch: esl 调用lua动态传参&日志查看
lua脚本在执行过程中,可动态接收参数,这样可以让系统更灵活,以上节的自动外呼为例,callout.lua改成下面这样:
-- 主叫 local callernum = argv[1]; -- 被叫 local calleenum = argv[2]; freeswitch.consoleLog("info","debug==> caller:" .. callernum .. ", callee:" .. calleenum .. "\n"); -- print("debug=> caller:" .. callernum .. ", callee:" .. calleenum .. "\n"); session = freeswitch.Session("user/" .. callernum); while session:ready() do session:execute("bridge","user/" .. calleenum); end
注1:argv是1个内置的变量,存储了传进来的参数(注:下标从1开始)
注2:lua脚本一般不太容易断点调试,所以建议关键的地方打日志(类似freeswitch.consoleLog 或 print)
然后esl java client中调用lua的地方,改成:
client.sendAsyncApiCommand("luarun", "callout.lua 1000 1001");
freeswitch控制台,可以看到日志及其它关键信息
如果没有开控制台(比如:freeswitch后台运行),可以直接打开日志文件 ,一般是在 \FreeSWITCH\log\freeswitch.log
参考文档 :
https://www.thenoccave.com/2012/03/change-freeswitch-log-location/
作者:菩提树下的杨过
出处:http://yjmyzz.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://yjmyzz.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。