FreeSwitch: esl 调用lua动态传参&日志查看
lua脚本在执行过程中,可动态接收参数,这样可以让系统更灵活,以上节的自动外呼为例,callout.lua改成下面这样:
1 2 3 4 5 6 7 8 9 10 11 12 | -- 主叫 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的地方,改成:
1 | 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
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
分类:
09.Open Source
标签:
freeswitch
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
2014-01-15 JAVA_HOME环境变量失效的解决办法
2014-01-15 JAVA CDI 学习(1) - @Inject基本用法
2010-01-15 Silverlight中也玩屏幕截图
2010-01-15 重温delphi之:如何将Bitmap位图与base64字符串相互转换
2010-01-15 silverlight中如何将BitmapImage转化为Stream或byte数组?