两个三汇API使用的坑
最近呼叫中心走火入魔了,我的《一步一步开发呼叫中心》系列编写过程中,遇到各种的问题,今天晚上,来记录一下纠结了我N久的一个问题:
内线通过板卡外呼时,如果对方的呼叫中心需要发送按键响应(如拨打10086时需要输入手机号),调用API函数SsmTxDtmf无论如何对方都提示错误。
找了N多个解决方案,联系N多个三汇的技术支持,都要求提供板卡录音,我的纠结呀,本来呼叫中心就在线上运营,白天我怎么能随便调试呢。。。
好了,深更半夜,爬起来研究这个问题(正好这会没什么客户来电),经过各种烧脑,终于找到问题原因了!
当外呼时,内线分机按键响应,板卡会自动将dtmf发送到外线通道上,即:系统会自动调用SsmTxDtmf函数,将按键响应送到局端交换机。
那么,问题就来了,我画蛇添足了!
系统自动发送了一次,我接收到按键响应之后,又手动发送了一次,导致按一次键,发送了两次dtmf响应给局端交换机,导致对方收到的dtmf始终是错误的!
唉。。。自作多情的人呀。。。
半夜,太晚,写短点,权当做个笔记吧。
再记录一个小问题:
通常,我们有一个业务场景,公司有的分机电话,是希望用户能够通过直拨号码直接拨打进来的,并且,这个分机电话拨打出去,显示的号码也一定是他的直拨号,而不是中继线统一号码。
这个时候,我们会用到SsmSetTxCallerId函数,用来告诉局端交换机,本次呼出是用哪个号码呼出,就能实现:呼出时,控制当前显示到被叫方的主叫号码。
问题在这里:
SsmSetTxCallerId函数调用一次之后,局端会认为,这一条通道一直都会使用这次通知的号码作为直拨号,如果不再次调用此函数,那么,就会影响到其他不需要显示直播号码的分机呼出,始终显示的是之前使用的直拨号,从而影响到不能显示中继线统一号码。
解决方案:给每个分机设置一个呼出显示号码,在呼出时,都调用一次SsmSetTxCallerId函数!
OK,手工,回家,睡觉!
两个三汇API使用的坑的更多相关文章
- Navisworks 提供了.NET, COM和NwCreate 三种API
Navisworks 提供了.NET, COM和NwCreate 三种API.而通常我们说Navisworks API其实指的只是COM或.NET,因为NwCreate的功能比较特殊.待我一一道来: ...
- grape动态PHP结构(三)——API接口
一.app视图与控制器
- Apache Spark 2.0三种API的传说:RDD、DataFrame和Dataset
Apache Spark吸引广大社区开发者的一个重要原因是:Apache Spark提供极其简单.易用的APIs,支持跨多种语言(比如:Scala.Java.Python和R)来操作大数据. 本文主要 ...
- Vue.js 组件的三个 API:prop、event、slot
组件的构成 一个再复杂的组件,都是由三部分组成的:prop.event.slot,它们构成了 Vue.js 组件的 API.如果你开发的是一个通用组件,那一定要事先设计好这三部分,因为组件一旦发布,后 ...
- 实践 - 搭建Redis一主两从三哨兵
实践 - 搭建Redis一主两从三哨兵 原因: 最近在复习Redis的时候,学习到了为了提高Redis集群的高可用性,有一个模式为哨兵模式.哨兵模式的作用是为了在主节点出现阻塞或者错误,无法接收数据的 ...
- redis(一主两从三哨兵模式搭建)记录
转自:http://www.cnblogs.com/fly-piglet/p/9836314.html 目的: 让看看这篇文章的的人能够知道:软件架构.软件的安装.配置.基本运维的操作.高可用测试.也 ...
- 写了一个Windows API Viewer,提供VBA语句的导出功能。提供两万多个API的MSDN链接内容的本地查询
始出处:http://www.cnblogs.com/Charltsing/p/APIViewer.html QQ:564955427,QQ群:550672198 世面上的API Viewer已经不少 ...
- 【运维技术】redis(一主两从三哨兵模式搭建)记录
redis(一主两从三哨兵模式搭建)记录 目的: 让看看这篇文章的的人能够知道:软件架构.软件的安装.配置.基本运维的操作.高可用测试.也包含我自己,能够节省对应的时间. 软件架构: 生产环境使用三台 ...
- 设a、b、c均是0到9之间的数字,abc、bcc是两个三位数,且有:abc+bcc=532。求满足条件的所有a、b、c的值。
题目描述 设a.b.c均是0到9之间的数字,abc.bcc是两个三位数,且有:abc+bcc=532.求满足条件的所有a.b.c的值. 输入描述: 题目没有任何输入. 输出描述: 请输出所有满足题目条 ...
随机推荐
- C++ TIM或者QQ 自动发送消息
简单写了一下 很简单的demo 闲着没事干 #include "stdafx.h" #include <thread> #include <Windows.h&g ...
- java并发编程(更新)
概念理解:①串行程序②并发程序: 线程安全问题: 同一进程中的所有线程共享进程中的内存地址空间.如果没有明确的同步机制来管理共享数据,那么当一个线程正在使用某个变量时,另一个线程可能同时访问这个变量, ...
- iOS开发系统类功能划分
0.OC语法基础 CHOCBase Object C语法学习笔记(一) Object C语法学习笔记(二) 1.UI类 自定义控件程序运行流程 setNeedsLayOut和setNeedsDispl ...
- 解决低版本Xcode不支持高版本iOS真机调试的问题
1.现象截图 Could not locate device support files. This iPhone 6s is running iOS 11.1 (15B93), which may ...
- pch文件配置出现 Expected unqualified-id 和 Unkown type name 'NSString'
1.发生的现象 之前代码还是没有报错的,由于某些代码比较常用,就打算配置一个pch文件引入常用的文件 但是引入的时候就出现了报错 2.原因与解决办法 2.1 原因 你引入的文件可能使用到OC与C++混 ...
- SHTSC2017酱油记
考完回来累成狗..睡了一觉..补游记.. DAY0 把最近刷的题发了下题解..NOIP RK10的蒟蒻收拾收拾准备退役了.. 12点就睡了..很久周五没这么早睡了.. DAY1 9点就醒了..莫名紧张 ...
- 从pg_hba.conf文件谈谈postgresql的连接认证
最近一直在弄postgresql的东西,搭建postgresql数据库集群环境什么的.操作数据库少不得要从远程主机访问数据库环境,例如数据库管理员的远程管理数据库,远程的客户存取数据库文件. 而在po ...
- 使用带参数的SQL语句向数据库中插入空值
private void button1_Click(object sender, EventArgs e) { string name = textBox1.Text; int age = Conv ...
- Python学习【第五篇】:面向对象及相关
面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇 面向对象进阶篇 其他相关 一.isinstance(obj, cls) 检查是否obj是否是类 cls 的对象 1 2 3 4 5 6 c ...
- bootstrap的使用2
表单控件: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...