FreeSwitch
文章平均质量分 81
以基础入门,逐渐深入FreeSwitch内部,学习并应用组件搭建智能外呼系统
常生果
爱好编程,喜欢创造!
展开
-
Freeswitch 解决32秒 ACK TimeOut自动挂断问题
32秒断开可能与SIP或RTP的超时设置有关在FreeSWITCH的生产环境中遇到了大量通话在32秒后断开的现象。通过抓包分析中发现,SIP消息中的Contact地址被错误地设置为媒体地址。这种情况确实会导致SIP消息和媒体流的同步问题,从而引发通话中断。所以导致在发送200ok接通后,对方ack回不来,32秒后自动拆线(ACK Timeout)。原创 2024-09-13 11:40:29 · 69 阅读 · 0 评论 -
FreeSwitch之TTS 对接paddlespeech (windowsJava版)
本来计划FreeSwitch 通过tts_commandline对接第三方语音合成,但是由于在家安装的是windows版本,系统安装后mod缺少commandline模版,所以导致无法使用该模版。系统自带的TTS引起filter效果非常差,且不支持中文语音合成,导致在测试的过程中很多工作进行不下去。家里的电脑是windows10操作系统,安装的也是windows版本的FreeSwitch v1.11.2版本。第三步:代理模块请求语音服务器获得音频流,存储到FS指定的位置。监听FS发送过来的指令。原创 2024-09-10 16:45:07 · 343 阅读 · 0 评论 -
FreeSwitch中Speak用法
speak主要使用TTS技术进行文本转语音进行播放,phrase中的宏speak-text也是使用TTS技术以语音方式播放文本,phrase可以嵌套在playback中。TTS(text to speech)是将文本转换成语音的一项技术,又称为语言合成(Synthesis),作为AI语音交互,TTS是必不可少的一个环节。如果不指定engine和voice,可以通过通道变量tts_engine和tts_voice来指定引擎和发言人。什么情况下使用TTS,什么情况下使用录音呢?engine:引擎名称。原创 2024-09-06 07:32:54 · 400 阅读 · 0 评论 -
FreeSWITCH的整体结构
全面介绍FreeSwitch原创 2024-09-05 18:28:09 · 1265 阅读 · 0 评论 -
FreeSwitch的mod_flite详解
freeswitch默认提供了语音合成,mod_flite模块负责实现TTS语音合成,不支持中文只能实现英文合成,发音效果比较生硬,仅支持英文,不过用来学习足够了。Flite(又名Festival Lite)是一款完全免费的小型可嵌入TTS(文本到语音)引擎,适用于大多数操作系统平台,例如:FreeBSD,Mac,Linux和Windows。声音是16khz,voice支持:slt(女声)rms(男声)awb(男声)kal(男声)。原创 2024-09-05 13:28:20 · 309 阅读 · 0 评论 -
FreeSwitch中tts_commandline详解
mod_tts_commandline模块,本身没有TTS能力,而是通过调用TTS引擎的命令生成语音文件,tts命令可以配置,最终实现自动TTS语音播放的功能。tts_commandline通过命令来执行TTS功能,生成一个声音文件,进而播放。原创 2024-09-05 12:29:56 · 1130 阅读 · 0 评论 -
Freeswitch中Say的详解
在FreeSwitch开源语音系统中,Say命令是一个非常有用的命令,使用此命令可以实现系统发声,构建功能复杂的交互式场景,Say接口将预先录好的声音对特定的内容放音,支持多语言,如果要使用复杂的语音还需要专门的TTS结合Speak来实现。原创 2024-09-05 07:49:06 · 861 阅读 · 0 评论 -
Freeswitch实现中文语音包(超详细)
FreeSwitch实现中文语音实现,提供了可用的中文语音包下载地址,详细的介绍模块的编译、安装和配置,方便国人开发调试。原创 2024-09-04 17:30:39 · 465 阅读 · 0 评论 -
FreeSwitch 实现IVR语音菜单导航(Java ESL)
本文通过Java eventSocket与FreeSwitch的交互,主要实现功能:给用户播放提示音,让用户作出选择。通过ESL实现语音菜单功能,方便广大爱好者学习使用。原创 2024-09-04 08:56:04 · 313 阅读 · 0 评论 -
FreeSwitch 通过ESL实现IVR自动话务台
主要介绍java通过ESL的outbound实现FreeSWITCH的IVR功能,交互式语音应答,也就是我们说的电话语音菜单,可以使用预先录制的语音或TTS进行自动应答,提供菜单导航,。监听用户按键处理,和业务系统交互,例如:数据库的查询,订单获取等。原创 2024-09-03 13:30:47 · 693 阅读 · 0 评论 -
FreeSwitch 语音验证码的实现
相比较来说,语音验证更加便捷,语音验证码以电话语音的形式,不会被手机安全软件拦截,不会受运营商对短信通道控制的影响,无需等待,高效验证,到达率更高,用户体验更好。现在验证码的形式有很多,相信大家在日常生活或者工作中都遇到过,比如图形,数字,字母,手机短信,语音验证等等,说到安全级别高,那肯定就是,语音验证码和短信验证码了。相对来说,短信验证码使用的比较普遍,但偶尔也会出现收不到短信验证码的情况,有可能是运营商的原因,也有可能是用户自己设置了拦截或者手机出现了问题。因为验证码是通过信道变量动态实现。原创 2024-09-02 14:17:59 · 471 阅读 · 0 评论 -
FreeSwitch分机状态解析和Java DB实现
虽然我们可以通过ESL的指令完美的获得的相关坐席状态,但是这也无疑是增加FreeSwitch的负担,如果应用程序可以直接通过DB获得更加方便。通过以上数据可知,channel表只是记录通道接通,calls记录的是当a-leg与b-leg进行通话才有的数据,是实际产生的会话。FreeSwitch默认数据库是SqlLite轻量级数据库,如果我们使用Java链接FreeSwitch数据库。Java通过DB直接获取FreeSwitch坐席和注册用户状态,比直接 通过相关指令获得更加直接可控。原创 2024-08-30 17:28:35 · 521 阅读 · 0 评论 -
FreeSwitch数据库详解
FreeSwitch默认SQLITE嵌入式数据库详细介绍,FreeSwitch核心数据库表的作用,以及Java链接数据库获得相关坐席、注册等相关状态。增加FreeSwitch如何禁用Sqllite数据库。原创 2024-08-30 16:21:29 · 624 阅读 · 0 评论 -
FreeSwitch 分机状态解析和ESL实现
本文主要讲解FreeSwitch查询分机状态以及使用ESL实现期功能。以及JAVA通过ESL通过使用相关指令查看分机相关状态。原创 2024-08-30 14:04:33 · 906 阅读 · 0 评论 -
FreeSwitch通过WebRTC实现语音通话
FreeSwitch使用WebRTC 实现网页通话,本文主要使用JSSIP库,开发编写网页软电话的呼叫和接听实现。本文主要包括:FS的WebRTC配置和前端代码实现。原创 2024-08-27 16:39:27 · 426 阅读 · 0 评论 -
FreeSwitch使用HTTP服务接受话单
FreeSwitch 通过mod_format_cdr模块,把话单cdr通过http方式传递给后台服务器。后台服务根据话单和预设的短信模版实时触发短信(SMS)信息。本章主要介绍FreeSwitch+SMS系统实现批量外呼下的,挂机短信功能。原创 2024-08-27 15:20:00 · 325 阅读 · 0 评论 -
Freeswitch动态配置方案XML_CURL
mod_xml_curl模块主要实现一个集中管理配置的配置中心,统一管理所有fs的配置,并可以实现动态的修改。它由一台WEB 服务器提供服务,当有用户注册(或 INVITE)请求时,FreeSWITCH 向你的WEB服务器发送请求,通过一些类的业务逻辑,生成一个标准的XML文件。2,configuration每次要添加新的配置的时候,调用frees witch的一下命令,就会请求接口,把新的配置刷新到内存中:sofia profile external rescan。4,phrases,语音短语管理。原创 2024-08-15 23:05:20 · 707 阅读 · 0 评论 -
FreeSwitch的Dialplan拨号计划
主要讲解FreeSwitch的拨号计划原理和应用场景,以及XML配置文件的与语法规则原创 2024-08-14 09:16:17 · 1121 阅读 · 0 评论 -
JavaESL实现FS的按键监听播放音频
以上方案只是简单的实现按键监听,主要还是通过命令主动外呼实现,一般的呼叫中心是通过客户的主动拨通座机号,然后实现实现按键的接听,现在实现通用版拨号接通以及监听用户相关按键事件。首先在deafult.xml或public.xml中增加拨号计划,本文主要监听1234拨号(客服机器人),实现不同按键下的音乐播放。有的小伙伴说,这种代码方式实现比较麻烦,也不够灵活,最好都能在配置中心实现。Jave ESl 通过内联接通FreeSwitch,订阅FS的相关事件,通过监听不同的按键实现不同音频的播放。原创 2024-08-13 12:32:53 · 198 阅读 · 0 评论 -
FreeSwitch实现IVR呼叫中心
主要介绍基于FreeSwitch的语音菜单IVR的实现过程。转载 2024-08-13 11:39:41 · 156 阅读 · 0 评论 -
FreeSwitch音频多种播放
本文主要介绍freeSwitch内置的多种语音播放方式,IVR、TTS以及默认的多种音频文件等/原创 2024-08-13 10:09:38 · 555 阅读 · 0 评论 -
FS+Lua+TTS实现IVR(互动式语音应答)
IVR(Interactive Voice Response)即交互式语音应答,也就是我们说的电话语音菜单,可以使用预先录制的语音或者TTS进行自动应答,提供菜单导航,主要用于呼叫中心系统。我们主要介绍FreeSWITCH提供的IVR功能。原创 2024-08-13 07:46:58 · 331 阅读 · 0 评论 -
FreeSwitch与Java通信ESL
主要通过Java ESL链接FreeSWITCH的简单例子,通过异步发送呼叫相关指令和监听FS的相关事件,为今后搭建呼叫中心或智能外呼做准备。原创 2024-08-12 13:46:08 · 547 阅读 · 0 评论 -
FreeSwitch ESL详解
ESL(Event Socket Layer)是一个用于连接FreeSWITCH的接口。它允许你订阅各种事件并在事件发生时接收通知。ESL的连接模式有多种,可以根据需求选择适合的方式进行连接。原创 2024-08-10 20:42:46 · 654 阅读 · 0 评论 -
FreeSwitch ESL连接配置
本地程序连接FreeSwitch监听,对Event Socket和ACL的相关配置和验证原创 2024-08-05 12:10:34 · 352 阅读 · 0 评论