FreeSWITCH
文章平均质量分 59
顶顶通-FreeSWITCH二次开发接口
这个作者很懒,什么都没留下…
展开
-
顶顶通专用版本FreeSWITCH安装说明
执行命令 freeswitch 如果正确启动,就说明安装没问题了,关闭freeswitch命令是在启动的程序界面输入shutdown,注意不是bash执行。先在有网络的电脑下载fs.tar.gz和install.sh。把这2个文件上传到目标服务器同一个目录。执行这个命令自动下载和安装。原创 2024-08-16 11:50:14 · 278 阅读 · 0 评论 -
顶顶通呼叫中心中间件(基于FreeSWITCH)对接mrcp asr 和 tts配置
顶顶通呼叫中心中间件通过asrproxy程序对接各种asr和tts,本文主要讲解 asrproxy程序 对接 mrcp v1 和 mrcp v2的配置。原创 2024-03-05 11:06:42 · 1051 阅读 · 0 评论 -
ccadmin - 可免费试用的 FreeSWITCH web管理后台
顶顶通呼叫中心中间件Web后台管理系统简称CCAdmin-Web,用于管理和配置顶顶通呼叫中心中间件。因为顶顶通呼叫中心中间件是基于FreeSWITCH开发的,所以CCAdmin本质上也是一个FreeSWITCH管理后台,CCAdmin有windows版本,macos版本,和Web版本。本文主要介绍CCAdmin-Web版本。原创 2024-03-01 18:57:45 · 963 阅读 · 0 评论 -
freeswitch sofia user(分机)掉线检测相关的配置
整理不易转载请注明来源于顶顶通博客。原创 2024-01-06 10:54:22 · 922 阅读 · 0 评论 -
FreeSWITCH 拨打带分机号的电话之实现原理(即真人接听检测))
大部分手机也支持直接拨号 “虚拟号,分机号”,免去了手动输入分机号的麻烦,android的实现原理也是接通后延时1秒发送按键(DTMF)实现的。真人接通前可能出现的 声音是彩铃,回铃音, 呼叫失败的各种提示音,只要不符合以上特征就可以认为是真人接听了。为了解决隐私号不够用的问题,平台给一个虚拟号分配了4位的分机号,1个虚拟号就可以对应9999个真实的手机号了。2、平台转接真实的被叫后,真实的被叫拒接、无法接通、关机等情况,比如提示音”你拨打的电话正忙请稍后再拨”呼叫有分机号的虚拟号(隐私号)原创 2023-12-24 14:34:11 · 2364 阅读 · 0 评论 -
FreeSWITCH回铃音补偿
回铃音就是拨打电话时,电话接通之前听到的嘟嘟的声音,如果拨打了开通了彩铃的手机,听到的是音乐声,彩铃也是一种回铃音,5G时代,又有了视频彩铃这样更新的回铃音方式了。原创 2023-12-21 00:00:44 · 1582 阅读 · 1 评论 -
顶顶通电话实时质介绍
顶顶通电话实时质检系统包含了顶顶通语音识别系统,使用的是开源语音识别模型,如果对语音识别要求不是特别高,就不需要购买第三方语音识别了。如果对语音识别准确率要求比较高,也可以购买第三方语音识别,比如阿里云,科大讯飞等厂家的在线语音识别。以2000并发,接通率10%,200并发接通为例,建议配置是 2台 服务器,CPU40核心起双路2个CPU(比如志强金牌6133),内存16-24G,硬盘500G。可以购买二手服务器比较便宜。外呼系统 -> vos -> 质检系统 -> vos -> 落地。原创 2023-11-29 19:07:26 · 891 阅读 · 1 评论 -
通过顶顶通呼叫中心中间件玩转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 · 2011 阅读 · 0 评论 -
呼叫中心系统如何对接大模型
自chatgpt3.5发布以来,各种大模型飞速发展,各行各业都有接入大模型的需求,呼叫中心行业非常适合通过接入大模型用AI来回答用户的各种咨询,降低人力资源,使用顶顶通呼叫中心中间件,只需要100行不到的代码,就可以非常简单容易的让电话机器人系统,呼叫中心系统快速接入各种大模型。原创 2023-11-11 08:14:26 · 853 阅读 · 0 评论 -
顶顶通呼叫中心中间件,支持坐席长签了
顶顶通呼叫中心中间件,支持长签了,长签就是坐席呼叫一个特别号码,接通后不挂机,一直等待接电话,没电话呼入的时候,听背景音乐。一般用自动应答来实现呼入免操作直接接通,但是有的客户习惯长签模式,顶顶通呼叫中心中间件长签后,不光支持排队分配的电话直接接听,其他电话也一样可以呼入,做到了长签,却不占线。原创 2023-10-22 15:52:32 · 291 阅读 · 0 评论 -
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 · 907 阅读 · 0 评论 -
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 · 332 阅读 · 0 评论 -
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 · 479 阅读 · 0 评论 -
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 · 1688 阅读 · 0 评论 -
顶顶通呼叫中心中间件(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 · 5345 阅读 · 0 评论 -
FreeSWITCH 电话机器人 VAD 打断 ASR集成 全功能开源代码
FreeSWITCH 电话机器人 VAD 打断 ASR集成 全功能开源例子原创 2023-02-28 23:51:19 · 2513 阅读 · 0 评论 -
顶顶通VAD(支持噪音人声识别)二次开发接口发布拉
VAD语音活动检测(Voice Activity Detection,VAD)算法的难点是分析噪音还是人声,顶顶通公司经过1年的努力,基于20G的噪音声音文件和100G的正常人声的声音文件,使用tdnn(时延神经网络)和 lstm(长短期记忆网络)训练出噪音人声音判别模型。现在发布二次开发供大家测试。和FreeSWITCH集成的开源例子 再这里。原创 2023-02-27 12:17:17 · 482 阅读 · 0 评论 -
基于神经网络的VAD测试程序
语音活动检测(Voice Activity Detection,VAD),就是检测是否有声音,常规的算法是通过声音音量和频谱特诊来判断是否有声音的,但是无法区分是噪音还是人声,在电话机器人中噪音打断和噪音识别错误的关键词始终是一个痛点,机器学习算法可以通过大量噪音和人声数据训练出判别人声还是噪音的神经网络模型,VAD算法结合深度神经网络就可以彻底解决这个痛点了。原创 2023-02-09 14:57:10 · 663 阅读 · 0 评论 -
顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-群集方案
在大规模的外呼或者呼入系统,比如整个系统需要1万并发,单机最高也就3000-5000并发,这时候就需要多机群集了。顶顶通呼叫中心中间件使用redis数据库,多个FreeSWITCH(mod_cti)连接同一个redis就可以很容易的配置成群集系统。原创 2023-01-29 18:48:00 · 1074 阅读 · 0 评论 -
顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-webrtc(浏览器直接拨打电话)
配置webrtc监听的SIP和端口,CCAdmin->SIP->internal->wss-binding设置为:7443(冒号需要的),监听本机所有端口,也可以0.0.0.0:7443 监听ipv4所有IP的7443端口,也可以指定单独一个本机IP比如192.168.31.100:7443,也可以指定其他端口后面的测试例子是用端口7564。如果听到自己说话的声音,就配置好了。第二个界面设置好了点保存,然后回到第一个界面,点Login,如果登录成功了,恭喜你,前面的配置都对,拨打电话测试就可以了。原创 2022-09-02 12:51:49 · 2312 阅读 · 0 评论 -
【顶顶通呼叫中心中间件(mod_cti 基于 FreeSWITCH)-拨号方案和路由配置】
fs的通道变量非常多,怎么查看通话的通道变量呢,有2个方法 方法1 执行fs控制台命令 uuid_dump 通话UUID,方法2 拨号方案里面执行fs的动作info 也可以输出通道变量,info输出的通道变量有些名字和uuid_dump的不一样,文末复制了一个fs官方文档里面的对应关系。...原创 2022-08-30 12:41:31 · 834 阅读 · 0 评论 -
FreeSWITCH ESL C++ 接口程序
我之前使用ESL也遇到则个问题,所以我写的这个ESL接口程序使用多个连接来发送ESL命令,后面我都习惯直接 写 FreeSWITCH 的MOD 不再使用ESL接口,具体看可以看这里http://www.ddrj.com/callcenter/index.html ,这个代码对很多使用ESL接口二次开发FreeSWITCH还是很有参考意义的,所以现在开源出来给大家参考一下。开源一个 FreeSWITCH ESL 接口程序 https://github.com/cdevelop/easycti。...原创 2022-08-17 11:59:51 · 949 阅读 · 0 评论 -
基于声音相似度匹配实现电话通话风险控制
很多VOIP落地话批运营商,为了防止违规营销电话,把通话录音实时调用语音识别来 做通话风险控制,我们也开发了专门的通话质检模块来实现这样的需求http://www.ddrj.com/callcenter/callqc.html,针对电话机器人外呼,固定话术内容的场景本文提出一种不需要语音识别,完全基于声音文件相似度匹配的实现方法。第一步 客户提交电话机器人话术的声音文件。第二步 把通话的实时录音和话术声音文件匹配,如果匹配不上,就可以认为是非法呼叫挂断电话。声音相似度算法 在 空号检测(电话回铃音分析原创 2022-04-26 23:12:39 · 1966 阅读 · 0 评论 -
一个rtp时间戳导致的血案
FreeSWITCH通话中放音,不影响双方正常通话,双方还都可以听到放音。原创 2022-04-15 12:30:27 · 1262 阅读 · 1 评论 -
FreeSWITCH mod_cti模块 结合 fail2ban 实现封堵恶意IP(SIP安全,防攻击)
原文链接 http://www.ddrj.com/callcenter/fail2ban.html介绍运行在公网的FreeSWITCH服务器,每天都会接收到很多恶意的呼叫请求和注册请求,尝试盗打电话。合理的配置可以防止电话给倒打,但是每天大量的攻击,会让FS产生很多日志,降低FreeSWITCH的处理能力,cti模块结合fail2ban可以把恶意IP,使用防火墙封堵掉。防盗打配置非常重要的,不要开通国际长途。其次对于呼出拨号方案和呼入路由要小心配置。sip配置里面的external默认是可以任意原创 2021-11-20 19:24:24 · 2149 阅读 · 0 评论 -
CTI 模块之排队ACD 报工号
排队(ACD)功能,今天写ACD文档,测试过程发现,有时候座席端和呼入端不会同时播放,一段播放完成,然后任外一端才播放,实现原理是 bridge 时 uuid_broadcast uuid both播放工号, 为了深入分析出这个问题,对fs核心代码 audio_bridge_thread 的原理进行了升入分析,之前也数次看了audio_bridge_thread的代码,就是没深入了解 audio_bridge_thread 怎么桥接 2个通道的,经过2个小时的加LOG 分析,终于搞清楚了 audio_b..原创 2021-05-21 13:43:16 · 986 阅读 · 0 评论 -
CTI 模块之线路管理
问:我接了很多线路,A线路10并发,B线路20并发,我想A线路10并发用完了,就使用B线路,要怎么做? 我:FreeSWITCH实现这个好复杂,建议你用VOS吧。 问:我想线路呼叫失败返回的SIP代码是488的时候,自动使用B线路重新呼叫,要怎么做?我:FreeSWITCH实现这个好复杂,可以通过设置通道变量continue_on_fail来实现。追问:那我想接通后不到1秒就挂了的,也使用线路B重新呼叫呢?我:建议你还是用VOS吧问:我接了一个语音网关,每个卡呼出一次后,要等5秒才可以再次原创 2021-05-21 13:41:38 · 445 阅读 · 0 评论 -
CTI模块之网关配置
FreeSWITCH的网关配置,大家是不是觉得没什么好发掘的了。不同的网关一般都需要送不同的主叫号码,或者设置不同的编码,、发起呼叫的时候经常需要根据不同网关去动态组合拨号串,设置主叫号码和声音编码。之前一直以为FreeSWITCH的网关配置根本没办法单独设置主叫号码和配置声音编码,在编写CTI模块的过程,我特意研究了一下FreeSWITCH的网关配置相关的代码,这不就挖掘除了一个很大的特性,可以给网关设置变量,一切问题都完美的解决了。详细请看 http://www.ddrj.com/call.原创 2021-05-21 13:38:38 · 411 阅读 · 0 评论 -
smartivr 接口说明(电话机器人二次开发接口)
smart ivr 接口说明smartivr 是一个基于Freeswitch的电话机器人二次开发接口(restful),支持和Asterisk对接使用指南用户自己实现 httpAPI,机器人程序去调用这个接口,不是 机器人提供httpapi给用户调用。外呼程序呼叫电话接通后,或者客户主动呼入接通后 机器人程序 向 webserver post 发送smartivr ...原创 2018-02-03 11:09:51 · 8246 阅读 · 0 评论 -
FreeSWITCH GUI (fs图形化配置程序介绍)
介绍一个我最近开发的 FreeSWITCH GUI 程序。程序架构 配置客户端 <-> REDIS <-> mod_cti<-> FreeSWITCH。客户端,把配置文件,以JSON方式存到REDIS,mod_cti 通过实 switch_xml_bind_search_function(cti_redis_xml_fetch, SWITCH_XML_SECTION_DIRECTORY | SWITCH_XML_SECTION_DIALPLAN | S...原创 2021-03-09 18:15:06 · 6081 阅读 · 6 评论 -
mod_vad 用于通话实时质检
电话机器人场景只需要对一方进行语音识别,通话实时质检需要对双方进行语音识别,mod_vad模块默认就支持通话实时质检场景的,使用方法非常简单,fs-cli 测试例子originate {execute_on_answer=start_asr,export_vars=‘execute_on_answer’}user/1001 &bridge(user/17778121521)dialp...原创 2019-09-05 10:05:40 · 1565 阅读 · 0 评论 -
FreeSWITCH 背景音模块
FreeSWITCH 背景音模块,可以给通话,添加一个背景音,比如办公室的噪音,键盘敲击声,等。FreeSWITCH 背景音模块,有什么用处?你肯定想不到吧。我们电话机器人一般都是人工录音,机器人不说话时,一点声音也没有,用户立马就可以感觉出是电话机器人,然后直接挂了电话。 如果给机器人来点背景噪音,就可以迷惑用户了,让用户感觉不到对方是一个机器人。FreeSWITCH 背景音模...原创 2019-07-26 07:41:11 · 1003 阅读 · 0 评论 -
使用FreeSWITCH把回拨线路当成中继(落地)使用可对接VOS
把回拨线路转换成中继(落地)使用本文主要介绍怎么把回拨线路转换成落地使用,我已经开发好实现这个的模块,如果需要商业合作可以直接联系我 微信 cdevelop qq 1280791187 网站 www.ddrj.com什么是回拨线路回拨线路就是通过HTTP接口发起呼叫,先呼叫手机A,手机A接通后,再呼叫手机B。要能转换成中继(落地)使用,回拨接口必须提供手机B的应答通知。实现原理Free...原创 2021-05-24 08:08:46 · 3812 阅读 · 0 评论 -
FreeSWITCH mod_callcenter 整理
categories: FreeSWITCHmod_callcenter本文英文部分是来自https://freeswitch.org/confluence/display/FREESWITCH/mod_callcenter,中文部分是通过分析mod_callcenter.c的代码根据个人的理解整理而成。配置callcenter.conf.xml 范例 ...原创 2018-01-19 17:48:27 · 11672 阅读 · 0 评论 -
JAVA FreeSWITCH ESL 开发指南
categories: FreeSWITCH因为我从来没写过java程序,也不熟悉ava语法,所以代码可能无法编译,或者语法错误。请自行更正。配置 event_socket.conf.xml打开/usr/local/freeswitch/conf/autoload_configs/event_socket.conf.xml(yum apt安装是/etc/freeswitch/a...原创 2018-01-19 17:47:17 · 20890 阅读 · 6 评论 -
FreeSWITCH满意度调查实现
keywords: FreeSWITCH 满意度调查实现 呼叫中心 hangup_after_bridge description: FreeSWITCH满意度调查实现方法和原理categories: FreeSWITCH今天群里有个人问,怎么实现满意度调查,我回答看hangup_after_bridge这个变量的用法,任外一个人说设置了没用,特意写这个文章来详细描述描述一下Free...原创 2018-01-19 17:46:26 · 3659 阅读 · 0 评论