![](https://img-blog.csdnimg.cn/2ae1b459ab5f40ed97c647e287af44e6.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
FreeSwitch开发实践
文章平均质量分 91
主要介绍博主在实际项目中使用FreeSwitch开发外呼类项目的一些经验心得,主要涉及FreeSwitch的基本安装编译、基本配置、ESL、WSS、录音、自定义模块、media bug、语音播放及对接AI机器人等内容。内容在持续更新中,如果感兴趣可以对专栏进行订阅。
一马途追
本人是一个从事C++开发十年有余的程序猿,一直忙于工作忙于项目,一 晃十年过去了;偶尔也会想起写写博客记录下工作中学到的新技术或遇到的问题,但是大多数情况是陷入项目开发,无暇兼顾其他。现在想想多年经验确实在增长,但积累的并不多,收获也没想象中的大,常常唏嘘不已。所以,打算以后多写博客,分享一些技术心得,如果能帮助到需要的人那就更好了。-- 2022年7月
展开
-
【FreeSwitch开发实践】外呼线路电话收不到回铃音问题的解决
FreeSwitch服务器在对接通信线路时常会遇到一些没有声音的问题,今天就介绍一个收不到回铃音和提示音的问题。原创 2022-11-21 06:30:00 · 3228 阅读 · 27 评论 -
【FreeSwitch开发实践】FreeSwitch常用知识点总结
学习FreeSwitch对常见命令、端口及号码的了解,对FreeSwitch学习可以起到事倍功半的作用,下面博主整理一些常用知识点,希望对学习FreeSwitch的朋友有帮助。以上就是本次的内容,来总结一下吧:主要介绍了常见的FreeSwitch命令、默认号码和默认端口。如果觉得有些帮助或觉得文章还不错,请关注一下博主,你的关注是我持续写作的动力。另外,如果有什么问题,可以在评论区留言,或者私信博主,博主看到后会第一时间进行回复。【间歇性的努力和蒙混过日子,都是对之前努力的清零】本文链接。原创 2022-09-18 18:16:36 · 3423 阅读 · 38 评论 -
猿创征文|【FreeSwitch开发实践】使用sipp对FreeSwitch进行压力测试
FreeSwitch作用外呼系统的底层服务器,其稳定性至关重要,因此有必要对FreeSwitch作一个压力测试。而在FreeSwitch压力测试方面,sipp是最好用的工具,也是FreeSwitch官方推荐的。原创 2022-09-03 20:40:34 · 4694 阅读 · 60 评论 -
【FreeSwitch开发实践】外呼网关配置(拨打电话)
FreeSwitch开发一个重要应用是外呼,所谓外呼就拨打真实电话或手机号呼叫,配合语音机器人可以实现智能客服的功能。外呼配置主要是配置外呼服务器,外呼服务器主要指SIP网关,每个外呼服务器就是一个SIP节点,FreeSwitch服务也可以是一个SIP节点。本文主要介绍了FreeSwitch外呼相关配置,主要有外呼配置的模式,包括注册模式和非注册模式网关加载的查看方法拨号中常见的呼出配置和呼入配置如果觉得有些帮助或觉得文章还不错,请关注一下博主,你的关注是我持续写作的动力。............原创 2022-08-15 06:30:00 · 9918 阅读 · 90 评论 -
【FreeSwitch开发实践】自定义事件介绍与使用示例
我们在之前章节介绍过ESL自定义事件订阅《【FreeSwitch开发实践】 ESL简介》,本篇介绍下在FreeSwitch中编写自定义模块,并定义自定义事件,然后发送事件、和用fs_cli中进行事件订阅。自定义事件,是在FreeSwitch标准事件如Answer、Hangup事件之外,用于扩展事件,在实际业务中,可通过自定义事件将一些重要的结果,如ASR的识别结果、空号识别检测结果,通过ESL传输出来。.....................原创 2022-08-07 15:44:20 · 1538 阅读 · 62 评论 -
【FreeSwitch开发实践】UniMRCP编译与安装
UniMRCP是MRCP客户端和服务器的开源跨平台实现,采用C/C++语言,根据Apache许可证2.0的条款分发。它实现封装了SIP、RTSP、SDP、MRCPv2、RTP/RTCP协议栈,对外提供了提供了MRCP版本一致的API。MRCP协议,全称MediaResourceControlProtocol,媒体资源控制协议,用于语音服务器向客户端提供各种语音服务(如语音识别ASR和语音合成TTS)。.........原创 2022-07-28 22:17:09 · 2779 阅读 · 94 评论 -
【FreeSwitch开发实践】media bug获取通话语音流
上一篇介绍创建和使用自定义模块,创建一个自己的app嵌入到FreeSwitch;这一篇介绍运用“mediabug”,获取通话语音流。什么是mediabugmediabug有什么用,能干什么第一个问题我们放到后面详细介绍,第二个问题mediabug能干什么,mediabug主要用来监听通话语音数据,而拿到通话语音流了可以做很多事情,可以加不少业务通话监听分析语音,即通常说的ASR(语音识别)说明了什么是mediabug如何使用mediabug获取通话语音流关注。............原创 2022-07-28 06:42:02 · 4652 阅读 · 83 评论 -
【FreeSwitch开发实践】自定义模块创建与使用
在FreeSwitch的架构中,存在为数重多的模块或接口,在FreeSwitch中称为app和api,如果常用的接听模块answer、挂断模块hangup、睡眠模块sleep、回音模块echo等,数量非常之多,这些app和api共同组成了FreeSwitch的核心。然而,FreeSwitch还提供了自定义模块的功能,开发者可以按照标准接口自己实现一个app,然后在通话中使用,极大地拓展FreeSwitch的能力,也方便在实际业务中实现特定的功能。............原创 2022-07-26 06:50:33 · 2467 阅读 · 138 评论 -
【FreeSwitch开发实践】使用SIP客户端Yate连接FreeSwitch进行VoIP通话
常见的SIP客户端有很多,比如Yate、Xlite、Linephone、Zopier等,本文主要介绍Yate的使用,通过连接FreeSwitch,进行VoIP通话体验。原创 2022-07-25 08:22:06 · 2172 阅读 · 40 评论 -
【FreeSwitch开发实践】专栏简介
首先,FreeSwitch是一个软电话交换平台的开源框架,由C语言开发,可以用来开发智能客服、自动外呼系统等。本专栏主要介绍博主在实际项目中使用FreeSwitch开发外呼类项目的一些经验心得,主要涉及FreeSwitch的基本安装编译、基本配置、ESL、WSS、录音、自定义模块、mediabug、语音播放及对接AI机器人等内容。内容在持续更新中,如果感兴趣可以对专栏进行订阅,方便关注查看。...原创 2022-07-23 18:50:01 · 1681 阅读 · 9 评论 -
【FreeSwitch开发实践】C语言中使用ESL连接FreeSwitch
之前在《【FreeSwitch开发实践】在nodejs中用ESL连接FreeSwitch》一文介绍了在NodeJS下使用ESL连接FreeSwitch,本文则对在C语言下使用ESL连接FreeSwitch作了一个系统介绍。和NodeJS下使用ESL需要安装modesl模块一样,C语言下使用ESL也需要libesl库.以上就是今天的内容,详细的介绍了C语言使用ESL连接FreeSwitch。如果觉得有些帮助或觉得文章还不错,请关注一下博主,你的关注是我持续写作的动力。.....................原创 2022-07-20 07:00:00 · 2012 阅读 · 65 评论 -
【FreeSwitch开发实践】死锁问题解决Over Session Limit 1000/Locked, Waiting on external entities
今天介绍一个博主项目中遇到的问题, 当日系统外呼数达到1000之后,后续外呼无法再成功,从日志上看Over Session Limit! 1000 即有错误信息,就好办了,顺藤摸瓜查就是了。原创 2022-07-16 18:09:00 · 2107 阅读 · 69 评论 -
【FreeSwitch开发实践】在NodeJS中用ESL连接FreeSwitch
前文对ESL作了简介和配置的说明,本文将介绍在NodeJS中使用ESL,通过一些简单的例子,对如何在NodeJS使用ESL作了一个说明。在NodeJS中ESL的实现,是modesl模块,这个模块需要下载安装。原创 2022-07-12 07:11:11 · 1730 阅读 · 59 评论 -
【FreeSwitch开发实践】ESL配置
在《【FreeSwitch开发实践】ESL配置》对ESL作了简要介绍,知道了ESL实际就是对Event Socket的一组实现库,在这里主要对FreeSwitch下如下配置ESL作了一简介。原创 2022-07-10 08:00:00 · 2974 阅读 · 28 评论 -
【FreeSwitch开发实践】 ESL简介
本文主要对freesiwtch ESL做一个简要介绍,ESL全称Event Socket Libray是freeswitch中一组socket的库函数。要了解ESL首先要先了解什么是Eevent Socket,Event Socket可以使运行在freeswitch外部的程序控制freeswitch, 可以使用socket的方式使用freeswitch提供的所有API和App,因为几乎几乎任何语言都支持socket,所以它几乎可以跟任务语言进行通信。..................原创 2022-07-09 21:22:15 · 5125 阅读 · 14 评论 -
【FreeSwitch开发实践】freeswitch ngnix wss反向代理及jssip修改(wss连不上问题解决)
首先freeswitch支持UDP、TCP、WS(websocket)、WSS方式进行注册,而反向代理是指通过nginx配置,通过WSS的方式连接WS,这样使得freeswitch连接对外是加密的;当然freeswitch本身是支持WSS的, 用ngnix一般除了反向代理,更多的是作负载均衡,这里只介绍向代理的部分。........................原创 2022-07-02 16:39:22 · 4013 阅读 · 7 评论 -
【FreeSwitch开发实践】freeswitch配置wss证书问题 Encrypted Alert/Certification Unknown
配置freeswitch wss证书经历各种曲折经历,怎么尝试都失败,尝试了linux和windows,转机是windows可行,发现规律一解决问题,畅快淋漓(ps: 也许自己太菜,高手可能一眼就知道是什么问题,而自己花了3天才发现原因,记录下来,以供自己和初学者参考)。...........................原创 2022-06-16 21:53:49 · 4842 阅读 · 27 评论 -
【FreeSwitch开发实践】FreeSwitch配置wss
freeswitch 配置websocket, ws/wss,默认端口7443原创 2022-06-16 21:10:55 · 6455 阅读 · 2 评论 -
【FreeSwitch开发实践】centos7下编译安装freeswitch及常见编译问题的解决
freswitch在centos7下编译总体上还是不难的,但一些看似很难实则很容易甚至不需要解决的问题往往会”欺负“一些初学者(比如说本人);本文主要介绍centos7下freeswitch的编译过程,和常见的编译中问题及解决方法。freeswitch的依赖非常多,如果不安装依赖就开始编译freeswitch,那就遇到更多的问题,安装依赖之后,可以解决90%以上的问题。.............................................原创 2022-07-03 12:44:07 · 5217 阅读 · 45 评论