Lua脚本在bypass_media=true时立即退出FreeSWITCH桥接
2018-8-9 8:54:2
收藏:0
阅读:76
评论:1
我如何让脚本在bypass_media=true时等待桥接终止后再继续执行呢?
这段代码 -
freeswitch.consoleLog("err","session before="..tostring(session:ready()).."\n")
session:execute("set","bypass_media=true")
session:execute("bridge","sofia/gateway/carrierb/12345678")
freeswitch.consoleLog("err","session after="..tostring(session:ready()).."\n")
从音频角度来看,当bridge_media设置为true或false时,它的效果非常好,并且Wireshark跟踪显示音频通过(false)或端到端(true)。
但是当bypass设置为true时,脚本继续运行而没有暂停,而且session不再准备就绪(session:ready()==false)。
通道似乎进入了休眠状态,但在桥接完成后我必须进行系统维护,而这似乎是不可能的。
如果我在XML拨号计划中进行桥接,则会立即继续进行,导致我的系统维护过早发生。
FreeSWITCH(版本1.6.20 git 43a9feb 2018-05-07 18:56:11Z 64位) Lua 5.2
编辑1- 我可以让"api_hangup_hook=lua housekeeping.lua"起作用,但是这样我必须传递大量变量,并启动一个新的进程/线程/whatever,这似乎有些过度杀手锏,除非这是唯一的方法。
原文链接 https://stackoverflow.com/questions/51761112
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
- 如何编写 Lua 模式将字符串(嵌套数组)转换为真正的数组?
- 如何创建一个 lua 脚本以针对特定键为 fluentbit 进行限流
- 如何在Lua中将变量从Lua推送到C ++
我有一个解决方法,但仍然希望能得到答案,如果有人知道如何阻止桥接立即退出的话。
如果我在桥接之前这样设置:
session:执行(“set”,“bypass_media = true”) session:execute(“set”,“session_in_hangup_hook = true”) session:execute(“set”,“api_hangup_hook = lua housekeeping.lua的” .. <vars>)
那么当桥接实际终止时(这很久之后),“housekeeping.lua”就会被触发。
在housekeeping.lua中,我可以这样做:
session:getVariable("billmsec")
它们看起来有正确的值,允许我进行日常工作。
我的问题是,从在一定时间后触发的脚本中去处理会话变量的不确定性。
无论如何,我必须这样做,直到我找到如何保持对原始脚本的控制为止。