我已经尝试使用星号和免费交换机以及我的 SIP 软电话是 XLite 来设置电话 session 。我可以通过 XLite 使用星号和自由开关来召开 session 。现在我正在尝试相反的方式,而不是端点开始 session ,让自己自由切换以在预定时间开始 session 。 根据我所做的研究,我已经编写了一个拨号方案文件来实现它。
这些是一些对我的想法有用的应用程序和API, minute-of-day --> 用于在特定时间安排任务 conference_set_auto_outcall --> 用于调用端点加入 session
我已将以下内容添加到拨号方案的 default.xml
<extension name = "scheduling" >
<! -- condition is every day at 10 am start conference-->
<condition minute-of-day= "600">
<!-- do conference as action -->
<!--condition field="destination_number" expression="^(3000)$"-->
<action application="answer"/>
<action application="set" data="conference_auto_outcall_timeout=5"/>
<action application="set" data="conference_auto_outcall_flags=none"/>
<action application="set"
data="conference_auto_outcall_caller_id_name=$${effective_caller_id_name}"/>
<action application="set"
data="conference_auto_outcall_caller_id_number=$${effective_caller_id_number}"/>
<action application="set" data="conference_auto_outcall_profile=default"/>
<!-- called to my detsination -->
<action application="conference_set_auto_outcall" data="user/1001@$${domain}"/>
<action application="conference_set_auto_outcall" data="user/1002@$${domain}"/>
<action application="conference_set_auto_outcall" data="user/1003@$${domain}"/>
<action application="conference" data="$1@default"/>
</condition>
</extension>
我无法找出它不起作用的原因? 至少它应该在预定时间执行一些操作。 更改后,我也通过以下方式重新加载了 xml 启动 fc_cli & 然后运行 reloadxml 命令
最佳答案
拨号方案扩展和时间路由条件不会独立运行。它必须被调用,所以除非有一个调用跨越拨号方案并触发那个"dispatch"分机,否则它不会工作。解决此问题的最佳方法可能是使用 originate
命令调用用户,然后将他们桥接到 session 中:
fs_cli -x "originate sofia/internal/1000@$${domain} &conference($1@default)"
fs_cli -x "originate sofia/internal/1001@$${domain} &conference($1@default)"
fs_cli -x "originate sofia/internal/1002@$${domain} &conference($1@default)"
你可以把它放在一个 cron 上,让它在你想要的时间运行,它应该能完成你上面想做的事情。
关于sip - 自由切换如何定时发起 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33140015/