两个三汇API使用的坑
最近呼叫中心走火入魔了,我的《一步一步开发呼叫中心》系列编写过程中,遇到各种的问题,今天晚上,来记录一下纠结了我N久的一个问题:
内线通过板卡外呼时,如果对方的呼叫中心需要发送按键响应(如拨打10086时需要输入手机号),调用API函数SsmTxDtmf无论如何对方都提示错误。
找了N多个解决方案,联系N多个三汇的技术支持,都要求提供板卡录音,我的纠结呀,本来呼叫中心就在线上运营,白天我怎么能随便调试呢。。。
好了,深更半夜,爬起来研究这个问题(正好这会没什么客户来电),经过各种烧脑,终于找到问题原因了!
当外呼时,内线分机按键响应,板卡会自动将dtmf发送到外线通道上,即:系统会自动调用SsmTxDtmf函数,将按键响应送到局端交换机。
那么,问题就来了,我画蛇添足了!
系统自动发送了一次,我接收到按键响应之后,又手动发送了一次,导致按一次键,发送了两次dtmf响应给局端交换机,导致对方收到的dtmf始终是错误的!
唉。。。自作多情的人呀。。。
半夜,太晚,写短点,权当做个笔记吧。
再记录一个小问题:
通常,我们有一个业务场景,公司有的分机电话,是希望用户能够通过直拨号码直接拨打进来的,并且,这个分机电话拨打出去,显示的号码也一定是他的直拨号,而不是中继线统一号码。
这个时候,我们会用到SsmSetTxCallerId函数,用来告诉局端交换机,本次呼出是用哪个号码呼出,就能实现:呼出时,控制当前显示到被叫方的主叫号码。
问题在这里:
SsmSetTxCallerId函数调用一次之后,局端会认为,这一条通道一直都会使用这次通知的号码作为直拨号,如果不再次调用此函数,那么,就会影响到其他不需要显示直播号码的分机呼出,始终显示的是之前使用的直拨号,从而影响到不能显示中继线统一号码。
解决方案:给每个分机设置一个呼出显示号码,在呼出时,都调用一次SsmSetTxCallerId函数!
OK,手工,回家,睡觉!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库