如何取消通过`sched_hangup`安排的挂断?

时间:2019-07-11 15:12:52

标签: freeswitch

sched_hangup文档未提及任何内容,并且sched_cancel仅适用于sched_transfersched_broadcastsched_cancel需要一个任务或组ID,我测试了只有后两个ID在会话中设置了ID。

或者还有另一种获取任务ID的方法吗?我正在用Lua脚本来完成所有这些工作,但是对任何解决方案都感兴趣。

解决方法

sched_transfer设置为不存在的扩展名,这将导致与No route, Aborting的挂断,除非与sched_cancel中止。

session:execute("sched_transfer", "+600 9999 XML default")
-- ...
local lsi = session:getVariable("last_sched_id")
session:execute("sched_cancel", tostring(lsi))

1 个答案:

答案 0 :(得分:0)

解决方法

找不到解决方案,但是此解决方法有效地解决了问题:

  

sched_transfer设置为不存在的扩展名,该扩展名将   导致与No route, Aborting的挂断,除非因   sched_cancel

下面是Lua的示例,但是此策略在拨号方案中也可以使用,因为sched_*命令都是拨号方案应用程序(即mod_dptools的一部分)。

session:execute("sched_transfer", "+600 9999 XML default")
-- ...
local lsi = session:getVariable("last_sched_id")
session:execute("sched_cancel", tostring(lsi))