FreeSwitch:群振、顺振研究
在呼叫中心系统中,有二类特殊的应用场景,即所谓的“群振”(也叫“共振”或“同振”)以及“顺振”。
群振的业务场景:
当客人电话进线时,希望呼叫中心的所有客服都能响应(即:假设呼叫中心有5个客服在接线,客人来电时,这5个客服的电话一起响),任何1个客服都可以接听(注:该客服接起来后,其它客服的分机就不再响了)
顺振的业务场景:
当客人电话进线时,可以指定一系列客服按优先级顺序接听(即:假设呼叫中心有2个客服A,B在接线,客人来电时,希望优先A的话机响,如果A一直没接或拒接,再呼客服B,让B的话机继续响)
下面我们以FreeSwitch (1.10.11版本),演示下如何实现:
默认情况下,FreeSwitch内置了几个账号(1000,1001...),默认密码是1234,我在自己的windows笔记本上,用开源的软电话终端MicroSIP,分别以1000,1001注册到本机的freeSwitch上
群振实现:
FS_Cli终端窗口输入:
可以看到,2个软电话终端都弹出来电振铃窗口。可以分别测试下面几种接听情况:
- 1000拒接挂掉,1001仍然继续振铃
- 1000接听,1001的来电振铃将自动消失
- 1000接起来,然后FS_Cli再发1次 originate user/1000,user/1001 &echo 这时候,1000话机已在通话中,将只有1001会弹出来电提醒
顺振实现:
FS_Cli终端窗口输入:
这时只有1000会弹出来电提醒:可以分别测试下面几种接听情况:
- 如果点Decline拒接,会继续弹出1001的来电提醒。
- 如果1000一直不接,振铃超时后,1001并没有按预期继续弹出来电提醒 (后面会讲到改进方法)
- 如果1000正常接听,然后挂断了,FS_Cli短时间内再发1次 originate user/1000,user/1001 &echo,优先弹出来电提醒的将是1001(即:FS内部应该有号码平均轮训的机制,保证每个号码都有机会雨露均沾,不知道这个特征是否与FS的版本有关,非1.10.11版本建议大家以实际验证结果为准)
- 如果1000正常接听,持续通话中,FS_Cli再发1次 originate user/1000,user/1001 &echo,由于1000占线通话中,将会弹出1001的来电提醒
第2种测试结果,1000振铃超时后,无法继续呼叫1001,这显示不满足业务要求,在FreeSwitch官方文档找到1个参数:originate_continue_on_timeout
看参数说明, 这个应该管用,验证一下:
尝试一下:
参考文档:
https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/Dialplan/Variables-Archive/x__Variables_6587314/#origination_timeout
出处:http://yjmyzz.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
2010-01-07 .net中使用oracle数据库分页的土办法