- 博客(73)
- 收藏
- 关注

原创 关于我
鼎鼎就职于顶顶通软件。专门从事呼叫中心软件开发,这个博客主要,介绍FreeSWITCH的一些知识以及开发的模块和软件。如果你对我发表的博文敢兴趣可以通过一下方式联系到我。联系方式微信:cdevelopQQ:1280791187网站:www.ddrj.comFreeSWITCH和呼叫中心相关的技术交流群 :21596142下面介绍一下我从事呼叫中心开发的一下经历。大约2005年,找到了第一份程序员的工作,公司接了一个IVR导航系统的外包项目使用三汇语音卡进行开发的,..
2021-05-21 16:30:11
1609
2
原创 如何让现有外呼系统无缝融合AI功能
AI辅助系统 主要的特点就是 只有判断到了被叫有意向,才对外呼系统应答,然后外呼系统直接转人工, 把播放前置提示音 用 AI对话 替代。如果能把 播放前置提示音 这个流程 改成通过AI 对话来判断客户意向,就可以实现让外呼系统无缝融合AI功能了。外呼系统 ➤ 发起呼叫 ➤ 电话接通 ➤ 播放前置提示音 ➤ 转人工。现在大部分外呼系统的工作流程如下。以下就是顶顶通AI辅助的方案。
2025-04-12 12:19:41
227
原创 顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-大模型电话机器人
如果没有匹配的回答分支,大模型会输出unmatch,话术引擎会忽略模型返回,继续执行兜底(any)匹配,如果设置了兜底流程就会进入兜底流程节点。如果有接近但不完全合适回答分支,大模型会输出回答ID,和输出优化后的回答内容,话术引擎切换到流程节点,播放大模型优化后的回答内容;如果有完全符合情境的回答分支,大模型会输出回答ID,不会优化回答内容,话术引擎切换到流程节点,播放节点预先设置的放音;如果有匹配的回答分支,大模型会输出回答ID,话术引擎切换到流程节点,播放节点预先设置的放音;
2025-02-28 16:18:30
1342
原创 顶顶通电话机器人开发接口对接大语言模型之实时流TTS对接介绍
大语言模型一般都是流式返回文字,如果等全部文字返回了一次性去TTS,那么延迟会非常严重,常用的方法就是通过标点符号断句,返回了一句话就提交给TTS。随着流TTS的出现,就可以直接把大模型返回的文字灌给流TTS,实现低延迟的,文本到语音转换。下图是我们电话机器人接口适配流TTS的原理,完整的接口说明可以看 请点击这里主要涉及到的技术点,就是FreeSWITCH通过websocket流TTS放音。
2024-12-06 16:12:49
885
原创 顶顶通呼叫中心中间件添加了FreeSWITCH防盗打功能
为了尽量减少误杀,影响正常使用,所以默认不是直接根据IP来封杀,是结合IP和账户来封杀。5. external的默认拨号方案,不允许为internal或者default. 防止用户配置错误。是人就有疏忽大意的时候,所以我们给顶顶通呼叫中心中间件添加了安全加强功能,用来减少盗打风险。4. external必须配置apply-inbound-acl。对每个客户,我们都反复强调注意盗打的风险,配置的时候要小心,密码要搞复杂点。1. 如果密码太短了,或者太简单了,直接返回认证失败,预防用户大意了。
2024-12-02 18:33:55
533
原创 顶顶通专用版本FreeSWITCH安装说明
执行命令 freeswitch 如果正确启动,就说明安装没问题了,关闭freeswitch命令是在启动的程序界面输入shutdown,注意不是bash执行。先在有网络的电脑下载fs.tar.gz和install.sh。把这2个文件上传到目标服务器同一个目录。执行这个命令自动下载和安装。
2024-08-16 11:50:14
667
原创 顶顶通手机助手拦截方案
在呼叫中心职场,外呼的流程一般是,先用外呼系统打通电话,然后播放一个前置广告语音,语音播放完成后,再转接给坐席。如果不把手机助手接通的电话拦截了,那么会导致人工坐席接到的大量是手机助手接通的电话。现在很多品牌的手机,都自带语音助手,比如我用的是小米手机,就自带小爱助手,可以自动接听各种广告营销电话。现在自动外呼系统拨打出去的电话,号码很容易给标注为广告营销,大部分的通话都是手机助手应答的。外呼电话中,大约有5%-10%是单通无声的,顶顶通语音助手拦截方案,可以把无声电话自动挂了,解决坐席接到很多无声电话。
2024-08-08 21:33:20
346
原创 顶顶通语音信箱手机助手拦截方案
在电话自动外呼系统,常见的问题是被叫号码开通了语音信箱,或者运营商自动给开通了小秘书服务,一旦电话打不通,就会先播放一个类似这样的提示音,你拨打的电话已经开启了来电小秘书,请在滴声后留言。还有一个问题就是去电号码给标注成广告营销,手机的语音助手功能给自动应答,播放一个类似这样提示音,你好我是机主的小秘书,请问你找机主有什么事。总体可以分成2类。
2024-07-02 11:26:35
754
原创 顶顶通电话黑名单系统介绍
3 拦截条件 可根据Ip,主叫,被叫 设置拦截规则。5 可以和质检系统集成,质检风险通话自动加入黑名单。2 支持外部黑名单,并自动加入本地黑名单。4 拦截规则,支持高频拦截,靓号拦截。1 可批量导入黑名单,白名单。
2024-04-29 16:55:47
384
原创 手机靓号正则表达式
0)){4}\d (倒序)88|99结尾 : 被叫号码中最后两位的数字是88或者99。AAA(3A) : 被叫号码中出现同一个数字连续出现三次的。AAAA(4A) : 被叫号码中出现同一个数字连续出现四次的。AAAAA(5A) : 被叫号码中出现同一个数字连续出现五次的。AAAAAA(6A) : 被叫号码中出现同一个数字连续出现六次的。如果不过滤重复数字可以直接用 (\d{2})\1。如果不过滤重复数字可以直接用 (\d{3})\1。如果不过滤重复数字可以直接用 (\d{4})\1。
2024-04-09 12:58:49
970
原创 顶顶通呼叫中心中间件如果实现座席签入、签出、小休功能
动态线路支持:线路名字设置为前缀set:集合名,就会通过redis的set中获取线路集合,方便动态修改线路组成员,线路成员集合修改后,需要执行配置改变通知,cti模块才会重新加载线路组成员。只需要把坐席线路动态加入排队关联的坐席线路组就可以实现签入 签出 排队的功能。小休 就是座席暂停接电话,只需要把坐席线路的并发设置成0,就可以实现小休功能。签入 签出 一般是指签入到某个排队。
2024-03-21 14:26:28
377
原创 顶顶通呼叫中心中间件(基于FreeSWITCH)对接mrcp asr 和 tts配置
顶顶通呼叫中心中间件通过asrproxy程序对接各种asr和tts,本文主要讲解 asrproxy程序 对接 mrcp v1 和 mrcp v2的配置。
2024-03-05 11:06:42
1409
原创 新一代电话机器人开源PHP源代码
使用easyswoole 框架开发的 新一代电话机器人开源PHP源码。包含 AI外呼管理,话术管理,CRM管理,坐席管理等功能。包含 线路管理,代理商管理等功能。
2024-03-02 22:10:34
2613
原创 ccadmin - 可免费试用的 FreeSWITCH web管理后台
顶顶通呼叫中心中间件Web后台管理系统简称CCAdmin-Web,用于管理和配置顶顶通呼叫中心中间件。因为顶顶通呼叫中心中间件是基于FreeSWITCH开发的,所以CCAdmin本质上也是一个FreeSWITCH管理后台,CCAdmin有windows版本,macos版本,和Web版本。本文主要介绍CCAdmin-Web版本。
2024-03-01 18:57:45
1296
原创 FreeSWITCH 拨打带分机号的电话之实现原理(即真人接听检测))
大部分手机也支持直接拨号 “虚拟号,分机号”,免去了手动输入分机号的麻烦,android的实现原理也是接通后延时1秒发送按键(DTMF)实现的。真人接通前可能出现的 声音是彩铃,回铃音, 呼叫失败的各种提示音,只要不符合以上特征就可以认为是真人接听了。为了解决隐私号不够用的问题,平台给一个虚拟号分配了4位的分机号,1个虚拟号就可以对应9999个真实的手机号了。2、平台转接真实的被叫后,真实的被叫拒接、无法接通、关机等情况,比如提示音”你拨打的电话正忙请稍后再拨”呼叫有分机号的虚拟号(隐私号)
2023-12-24 14:34:11
3079
原创 预测式外呼如何解决播放开场白和转接人工无缝连接
顶顶通呼叫中心中间件,有一个播放背景音的功能,可以手机接通后,把开场白当背景音播放,然后进入排队,排队不用配置等待音乐,直接把开场白当等待音乐,坐席接通后,开场白如果还没播放完成,坐席和手机,都可以听到这个开场白,坐席可以通过按键终止播放开场白,直接和人工对话,这样就可以开场白和坐席说话无缝连接了。顶顶通呼叫中心中间件,可以让坐席预先录音,通话过程人工说话和播放录音可以随时切换,播放录音过程,手机和坐席都可以听到对方的声音和播放的录音的声音,可以快速无缝切换。
2023-12-22 23:58:53
921
原创 FreeSWITCH回铃音补偿
回铃音就是拨打电话时,电话接通之前听到的嘟嘟的声音,如果拨打了开通了彩铃的手机,听到的是音乐声,彩铃也是一种回铃音,5G时代,又有了视频彩铃这样更新的回铃音方式了。
2023-12-21 00:00:44
2340
1
原创 顶顶通电话实时质介绍
顶顶通电话实时质检系统包含了顶顶通语音识别系统,使用的是开源语音识别模型,如果对语音识别要求不是特别高,就不需要购买第三方语音识别了。如果对语音识别准确率要求比较高,也可以购买第三方语音识别,比如阿里云,科大讯飞等厂家的在线语音识别。以2000并发,接通率10%,200并发接通为例,建议配置是 2台 服务器,CPU40核心起双路2个CPU(比如志强金牌6133),内存16-24G,硬盘500G。可以购买二手服务器比较便宜。外呼系统 -> vos -> 质检系统 -> vos -> 落地。
2023-11-29 19:07:26
1051
1
原创 funasr适配windows之大坑静态库中的静态实例不初始化
昨天晚上funasr团队的大佬反馈windows下 funasr-wss-server 加载lm模型失败,今天一大早,我就开始研究为啥加载失败,先linux测试一下了一下,发现也是加载lm模型失败,我回退到适配 windows之前的版本测试,是正常加载的,唯一的修改就是把openfst由动态库改成了静态库,我改回编译动态库,加载正常。通过跟踪代码发现静态库的时候vector没有FstRegister,为啥没注册呢,又在哪里注册的呢,通过跟踪动态库的调用堆栈,发现是初始化的时候注册的。
2023-11-15 19:27:34
475
原创 FreeSWITCH 卡通道(通道死锁)完美解决
根据之前的分析,多个线程操作一个通道就有出现死锁的概率,因为fs的switch_core_session_read_frame和switch_core_session_write_frame的实现存在死锁的可能。就是把 switch_core_session_read_frame和switch_core_session_write_frame里面同步消息改成异步消息switch_core_session_queue_message。每天晚上呼叫结束,通过 status 命令,都可以看到几个无法释放的通道。
2023-11-12 17:03:31
1546
原创 通过顶顶通呼叫中心中间件玩转FreeSWITCH媒体流
cti_unicast 通过media_bug挂了2个回调SMBF_READ_STREAM和SMBF_WRITE_REPLACE,其中 SMBF_READ_STREAM,用来把媒体流推送到远端UDP端口,SMBF_READ_STREAM用来把远端发送来的声音混音到fs的放音。很多人需要直接获取原始的声音流,然后自己处理,其实FreeSWITCH也是支持的,只是知道的极少,FreeSWITCH原生支持 unicast 通过udp 把声音流推送到一个UDP端口,和播放网络的声音流。用户说话停止自动停止推流。
2023-11-12 16:06:22
2243
原创 呼叫中心系统如何对接大模型
自chatgpt3.5发布以来,各种大模型飞速发展,各行各业都有接入大模型的需求,呼叫中心行业非常适合通过接入大模型用AI来回答用户的各种咨询,降低人力资源,使用顶顶通呼叫中心中间件,只需要100行不到的代码,就可以非常简单容易的让电话机器人系统,呼叫中心系统快速接入各种大模型。
2023-11-11 08:14:26
1239
原创 顶顶通呼叫中心中间件,支持坐席长签了
顶顶通呼叫中心中间件,支持长签了,长签就是坐席呼叫一个特别号码,接通后不挂机,一直等待接电话,没电话呼入的时候,听背景音乐。一般用自动应答来实现呼入免操作直接接通,但是有的客户习惯长签模式,顶顶通呼叫中心中间件长签后,不光支持排队分配的电话直接接听,其他电话也一样可以呼入,做到了长签,却不占线。
2023-10-22 15:52:32
351
原创 顶顶通ASR安装配置说明
下载语音识别模型 链接:https://pan.baidu.com/s/1IuDkDeytZOqf7tAbIb6h1Q 提取码:6vg6。安装asrproxy到/ddt/asrproxy,模型解压到 /ddt/asrproxy/model。联系顶顶通申请Asrproxy授权,勾选asrserver模块。
2023-10-11 15:41:31
1266
原创 顶顶通电话机器人接口对接开源ASR(语音识别)
目前大部分用户使用的都是在线ASR按照分钟或者按次付费,之前开源ASR效果太差不具备商用的条件,随着 阿里达摩院发布了大量开源数据集或者海量工业数据训练的模型,识别效果已经和商用ASR差距非常小,完全具备了很多场景代替商用ASR的能力。顶顶通也全系列产品进行了是适配,基于开源的ASR和模型发布了顶顶通语音识别系统。费用低,本地部署,不需要按调用次数或者按时间付费。也节约了流量费。
2023-10-08 13:35:58
1933
原创 freeswitch 多线程简单分析(通道死锁)
如果媒体没初始化,就通过消息 SWITCH_MESSAGE_INDICATE_TRANSCODING_NECESSARY 去执行初始化媒体的代码,上一篇说了,可以再switch_core_session_receive_message之前先解锁session->codec_read_mutex,就可以避免这次死锁,可是switch_core_media_read_frame里面有大量的 switch_core_session_receive_message调用,如果多线程操作一个通道,都有出现死锁的概率。
2023-08-05 10:09:33
1103
原创 freeswitch 1.10.10-dev录音早期媒体卡通道的bug分析
最后卡在switch_core_media_set_codec函数里面的switch_core_session_lock_codec_write(session)步骤。Thread 2 (Thread 0x7f9d2f76b700 (LWP 30595)): 的调用堆栈 函数 switch_core_session_read_frame 里面调用了switch_core_session_perform_receive_message,我查看了一下这个提交说明。接下来就是分析代码找出死锁原因了。
2023-08-03 23:29:40
1854
原创 FreeSWITCH之分机单点登录和限制分机并发
经常有用户问我,可以限制分机只能一个终端登录吗?我说不可以,只要用户名密码正确都可以登录的,你业务的需求是什么,用户说,我想一个分机只能一个并发。我说这个是可以的,拨号方案配置一下就可以了。详细请看 https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/Modules/mod_expr_6587353。下面就讲解一下 顶顶通cti模块 怎么配置限制一个分机只能一个并发。
2023-07-04 08:37:48
814
原创 FreeSWITCH libsofia websocket (wss) js.sip sipjs突然全部掉线注册不上的BUG
FreeSWITCH libsofia websocket (wss) js.sip sipjs突然全部掉线注册不上的BUG 最近1年经常有人和我说这个问题,我说你用更老版本的libsofia库就好了,1年过去了,FreeSWITCH官方还没解决这个BUG,我只好自己动手了,经过一上午和一中午的分析和测试,成功定位问题并且解决,如果您也遇到这个问题,可以联系我付费获取修复bug的libsofia库。
2023-06-27 13:51:21
614
原创 FreeSWITCH常见bug记录
跟踪FreeSWITCH代码,发现是 switch_xml.c 的函数preprocess,解析xml有问题,为了让mod_cti.so能兼容有bug版本的fs,就不修复这个bug,生成XML的时候保证cmd在data前面就可以了。今天遇到一个FreeSWITCH xml 解析bug ,因为使用的qt的xml库,属性名是用的是QMultiHash。保存,顺序是随机的,有时候生成的vars cmd和data的顺序是这样子。,发现竟然不生效,必须。2023年6月25日。
2023-06-25 19:47:23
415
原创 电话机器人开发
电话机器人,也有人叫语音对话机器人,外呼机器人等,主要是通过ASR(语音识别)和TTS(文本转语音)模拟真人和用户通话,可用于问卷调查,自动催缴,外呼营销等业务,支持百度,科大,阿里云等ASR系统,可以真人预先录音,用户完全察觉不到是机器人。电话机器人和文本对话机器人的区别是,文本机器人是文字对话,电话机器人是语音对话。最近很火的chatgpt就是文本对话机器人。
2023-04-12 10:32:22
1726
原创 顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-语音识别(asr)接口
APP例子:APIasrproxy_addr asrproxy程序IIP和端口vad_modevad_min_active_time_ms 说话时间大于这个值才开始提交ASRvad_max_end_silence_time_ms 静音时间大于这个值认为说话停止vad_level vad检测灵敏度 0-3,值越大越迟钝,建议3vad_filter 噪音过滤等级0-1.0,建议0.2,值越大过滤范围越大,会导致小的声音给过滤。0.8启用神经网络的噪音过滤。
2023-04-08 08:15:39
5453
原创 FreeSWITCH信号音检测(忙音检测,呼叫进度检测)
FreeSWTICH有2种信号音检测方法一种,还有一个是,我们先介绍第一种。如果需要可以识别出 彩铃,空号,关机,停机,彩铃,通话中,语音信箱,语音留言,等可以使用顶顶通开发的FreeSWITCH mod_da2模块,详细请看。
2023-04-05 12:02:40
1108
原创 FreeSWITCH 空号识别 (mod_da2使用说明)
mod_da2是顶顶通开发的一个FreeSWITCH的定制模块,用来对接顶顶通回铃音检测服务(别称 空号检测),在呼叫前设置通道变量,就可以在呼叫的时候启动空号识别。
2023-04-04 22:29:37
1879
原创 顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)
顶顶通呼叫中心中间件包含IPPBX、自动外呼、质检、ACD、呼叫路由等呼叫中心功能,也包含电话机器人开发接口(ASR【对接了华为云,腾讯云,科大讯飞,阿里云,捷通华声等,mrcp等语音识别接口】,TTS【支持外呼时预先文字转换成声音和mrcp实时TTS】,VAD【集成噪音人声识别引擎】),话术引擎等ai机器人功能。所有数据都存储redis【话单可以存储到数据库】,支持群集,超大并发,可用于开发呼叫中心系统,智能外呼机器人系统,机器人客服系统。
2023-04-02 09:38:10
823
原创 顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-http cli 接口
http cli的原理是cti模块实现了一个http server 接收http get请求,执行FreeSWITCH命令后把执行结果返回给http client,常用的使用场景包含http接口实现挂断指定的通话,http接口实现点击拨号(先呼叫坐席电话,座席接听后再呼叫客户电话),以及监听,强插,转接电话等功能。
2023-04-02 09:34:46
625
原创 顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-常见问题
本文档以faq的方式解答常见问题,如果你的配置和本文档描述的有点不一样是正常的,本文档以ccadmin1.09导入的默认配置讲解的。
2023-04-02 09:32:41
568
开源语音识别 funasr windows版本二进制包
2023-11-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人