最近呼叫中心走火入魔了,我的《一步一步开发呼叫中心》系列编写过程中,遇到各种的问题,今天晚上,来记录一下纠结了我N久的一个问题:

内线通过板卡外呼时,如果对方的呼叫中心需要发送按键响应(如拨打10086时需要输入手机号),调用API函数SsmTxDtmf无论如何对方都提示错误。

找了N多个解决方案,联系N多个三汇的技术支持,都要求提供板卡录音,我的纠结呀,本来呼叫中心就在线上运营,白天我怎么能随便调试呢。。。

好了,深更半夜,爬起来研究这个问题(正好这会没什么客户来电),经过各种烧脑,终于找到问题原因了!

当外呼时,内线分机按键响应,板卡会自动将dtmf发送到外线通道上,即:系统会自动调用SsmTxDtmf函数,将按键响应送到局端交换机。

那么,问题就来了,我画蛇添足了!

系统自动发送了一次,我接收到按键响应之后,又手动发送了一次,导致按一次键,发送了两次dtmf响应给局端交换机,导致对方收到的dtmf始终是错误的!

唉。。。自作多情的人呀。。。

半夜,太晚,写短点,权当做个笔记吧。

再记录一个小问题:

通常,我们有一个业务场景,公司有的分机电话,是希望用户能够通过直拨号码直接拨打进来的,并且,这个分机电话拨打出去,显示的号码也一定是他的直拨号,而不是中继线统一号码。

这个时候,我们会用到SsmSetTxCallerId函数,用来告诉局端交换机,本次呼出是用哪个号码呼出,就能实现:呼出时,控制当前显示到被叫方的主叫号码。

问题在这里:

SsmSetTxCallerId函数调用一次之后,局端会认为,这一条通道一直都会使用这次通知的号码作为直拨号,如果不再次调用此函数,那么,就会影响到其他不需要显示直播号码的分机呼出,始终显示的是之前使用的直拨号,从而影响到不能显示中继线统一号码。

解决方案:给每个分机设置一个呼出显示号码,在呼出时,都调用一次SsmSetTxCallerId函数!

OK,手工,回家,睡觉!

两个三汇API使用的坑的更多相关文章

  1. Navisworks 提供了.NET, COM和NwCreate 三种API

    Navisworks 提供了.NET, COM和NwCreate 三种API.而通常我们说Navisworks API其实指的只是COM或.NET,因为NwCreate的功能比较特殊.待我一一道来: ...

  2. grape动态PHP结构(三)——API接口

    一.app视图与控制器

  3. Apache Spark 2.0三种API的传说:RDD、DataFrame和Dataset

    Apache Spark吸引广大社区开发者的一个重要原因是:Apache Spark提供极其简单.易用的APIs,支持跨多种语言(比如:Scala.Java.Python和R)来操作大数据. 本文主要 ...

  4. Vue.js 组件的三个 API:prop、event、slot

    组件的构成 一个再复杂的组件,都是由三部分组成的:prop.event.slot,它们构成了 Vue.js 组件的 API.如果你开发的是一个通用组件,那一定要事先设计好这三部分,因为组件一旦发布,后 ...

  5. 实践 - 搭建Redis一主两从三哨兵

    实践 - 搭建Redis一主两从三哨兵 原因: 最近在复习Redis的时候,学习到了为了提高Redis集群的高可用性,有一个模式为哨兵模式.哨兵模式的作用是为了在主节点出现阻塞或者错误,无法接收数据的 ...

  6. redis(一主两从三哨兵模式搭建)记录

    转自:http://www.cnblogs.com/fly-piglet/p/9836314.html 目的: 让看看这篇文章的的人能够知道:软件架构.软件的安装.配置.基本运维的操作.高可用测试.也 ...

  7. 写了一个Windows API Viewer,提供VBA语句的导出功能。提供两万多个API的MSDN链接内容的本地查询

    始出处:http://www.cnblogs.com/Charltsing/p/APIViewer.html QQ:564955427,QQ群:550672198 世面上的API Viewer已经不少 ...

  8. 【运维技术】redis(一主两从三哨兵模式搭建)记录

    redis(一主两从三哨兵模式搭建)记录 目的: 让看看这篇文章的的人能够知道:软件架构.软件的安装.配置.基本运维的操作.高可用测试.也包含我自己,能够节省对应的时间. 软件架构: 生产环境使用三台 ...

  9. 设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的值. 输入描述: 题目没有任何输入. 输出描述: 请输出所有满足题目条 ...

随机推荐

  1. C++ TIM或者QQ 自动发送消息

    简单写了一下 很简单的demo 闲着没事干 #include "stdafx.h" #include <thread> #include <Windows.h&g ...

  2. java并发编程(更新)

    概念理解:①串行程序②并发程序: 线程安全问题: 同一进程中的所有线程共享进程中的内存地址空间.如果没有明确的同步机制来管理共享数据,那么当一个线程正在使用某个变量时,另一个线程可能同时访问这个变量, ...

  3. iOS开发系统类功能划分

    0.OC语法基础 CHOCBase Object C语法学习笔记(一) Object C语法学习笔记(二) 1.UI类 自定义控件程序运行流程 setNeedsLayOut和setNeedsDispl ...

  4. 解决低版本Xcode不支持高版本iOS真机调试的问题

    1.现象截图 Could not locate device support files. This iPhone 6s is running iOS 11.1 (15B93), which may ...

  5. pch文件配置出现 Expected unqualified-id 和 Unkown type name 'NSString'

    1.发生的现象 之前代码还是没有报错的,由于某些代码比较常用,就打算配置一个pch文件引入常用的文件 但是引入的时候就出现了报错 2.原因与解决办法 2.1 原因 你引入的文件可能使用到OC与C++混 ...

  6. SHTSC2017酱油记

    考完回来累成狗..睡了一觉..补游记.. DAY0 把最近刷的题发了下题解..NOIP RK10的蒟蒻收拾收拾准备退役了.. 12点就睡了..很久周五没这么早睡了.. DAY1 9点就醒了..莫名紧张 ...

  7. 从pg_hba.conf文件谈谈postgresql的连接认证

    最近一直在弄postgresql的东西,搭建postgresql数据库集群环境什么的.操作数据库少不得要从远程主机访问数据库环境,例如数据库管理员的远程管理数据库,远程的客户存取数据库文件. 而在po ...

  8. 使用带参数的SQL语句向数据库中插入空值

    private void button1_Click(object sender, EventArgs e) { string name = textBox1.Text; int age = Conv ...

  9. Python学习【第五篇】:面向对象及相关

    面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇 面向对象进阶篇 其他相关 一.isinstance(obj, cls) 检查是否obj是否是类 cls 的对象 1 2 3 4 5 6 c ...

  10. bootstrap的使用2

    表单控件: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...