之后无法在lua脚本中保持控制
session:execute(“ conference”,conf_name);
以下所有命令均无法执行。
原始{} dialstring&test.lua
test.lua
api = freeswitch.API()
freeswitch.consoleLog("DEBUG", "test1")
session:execute("conference", "test_conf");
freeswitch.consoleLog("DEBUG", "test2")
test2未打印在控制台日志中
答案 0 :(得分:1)
从freeswitch邮件列表中张贴我的答案:Question,answer 1,additional information 2。
据我所知,当您调用session:execute
时,它是一个同步操作。 Lua脚本将继续运行,等待该execute
完成。
如果您将用户踢出会议,那么lua脚本将在中断处继续执行。
(如果您挂断用户或转移他们,会话将结束,脚本可能会最好继续,但没有活动的会话。)
替代品: 根据您要完成的工作,您可以先在会议之前安排任务。或者只为某些事情调用lua脚本,然后在拨号计划中处理其余的脚本。在需要时,将其踢回另一个lua脚本以进行进一步处理。
Brian发布了另一条信息:
除非hangup_after_conference=false
,否则不会继续执行lua。但是你
是正确的,脚本正在执行会议,就在此处停止。
答案 1 :(得分:0)
是的,会话转移到会议后,脚本的控制权丢失了。
从逻辑上讲,我们可以通过以下方式从会议本身发起呼叫
会议拨号