随笔分类 -  技术-VOIP

VOIP SIP FREESWITCH
摘要:概述 freeswitch的核心源代码是基于apr库开发的,在不同的系统上有很好的移植性。 哈希表在开发中应用的非常广泛,主要场景是对查询效率要求较高的逻辑,是典型的空间换时间的数据结构实现。 大多数的底层库有各自的哈希表实现方法,那么apr库中对于哈希表究竟是如何实现的呢,其中有什么优点和缺点? 阅读全文
posted @ 2021-12-01 11:19 求真得真 阅读(189) 评论(0) 推荐(0)
摘要:概述 我们在web客户端使用sip协议时用的比较多的是sipml5库和jssip库。 但是sip协议比较重,又复杂,所以freeswitch内部就自定义了一个verto协议,方便在web页面上使用音视频服务。 verto协议通过websocket传输信令,协议内部数据格式为json,这样比较符合互联 阅读全文
posted @ 2021-11-24 15:45 求真得真 阅读(737) 评论(0) 推荐(0)
摘要:概述 freeswitch的核心源代码是基于apr库开发的,在不同的系统上有很好的移植性。 apr库中的大部分API都需要依赖于内存池,使用内存池简化内存管理,提高内存分配效率,减少内存操作中出错的概率。 在fs的自定义模块开发中,我们也会用到内存池来操作内存,所以要对内存池的基本操作和使用限制有一 阅读全文
posted @ 2021-11-17 20:08 求真得真 阅读(332) 评论(0) 推荐(0)
摘要:概述 freeswitch依赖库源代码基本都可以在libs目录下找到。 在freeswitch的官方手册中,可以找到freeswitch的依赖库表格,其中freeswitch的core核心代码依赖库主要包括apr、apr-util、pcre、resample、sqlite、srtp、teletone 阅读全文
posted @ 2021-11-10 14:40 求真得真 阅读(313) 评论(0) 推荐(1)
摘要:概述 Docker是一个开源的应用容器引擎,可以让开发者打包应用以及依赖包到一个轻量级、可移植的容器中,并在任何安装有Docker的机器上运行。 Docker 使你能够将应用程序与基础架构分开,从而可以快速交付软件。 借助 Docker,你可以与管理应用程序相同的方式来管理基础架构。 通过利用 Do 阅读全文
posted @ 2021-11-03 17:35 求真得真 阅读(482) 评论(0) 推荐(1)
摘要:概述 在VOIP的使用过程中,最常见的问题就是信令不通和语音质量问题。 通常的问题跟踪手段包括日志分析、抓包分析。 抓包的工具有wireshark、tcpdump等等,如果是只针对sip信令的抓包,则sngrep更专业好用。 sngrep对SIP抓包的专业性体现在: 实时抓取,实时展示。 可以作为s 阅读全文
posted @ 2021-10-27 14:24 求真得真 阅读(3520) 评论(0) 推荐(1)
摘要:概述 在VOIP的运营过程中,最常见的一类问题就是语音质量问题,网络间的丢包、延迟、抖动都会造成语音质量的体验下降。 当现网出现语音质量问题的时候,我们有没有工具能够快速的界定问题的边界,缩小排查的范围,是运营过程中的重要环节。 ping是我们查看网络状况最常用的工具,简单好用,但是也有很多限制,比 阅读全文
posted @ 2021-10-20 14:36 求真得真 阅读(461) 评论(2) 推荐(0)
摘要:概述 freeswitch有非常多的周边模块,给我们提供各种各样的功能,有些功能在适当的场景下可以极大的方便我们的开发和应用。 今天我们介绍一个不常用的模块mod_xml_rpc。 freeswitch自身内置有http服务器模块,而mod_xml_rpc模块提供了一种非常方便的访问fs内部API接 阅读全文
posted @ 2021-10-13 09:13 求真得真 阅读(843) 评论(0) 推荐(0)
摘要:概述 在众多的sip服务器中,主要有俩大类,一类侧重于媒体/业务服务器,比如freeswitch/asterisk,另一类侧重于代理/负载服务器,比如opensips/kamailio。 今天我们对opensips做一个简单介绍。 OpenSIPS 是用于语音、视频、IM、在线状态和任何其他SIP扩 阅读全文
posted @ 2021-09-29 16:14 求真得真 阅读(2811) 评论(0) 推荐(0)
摘要:概述 近几年由于AI的迅速发展,语音相关的自然语言处理NLP项目也变多了,新的技术也越来越成熟,其中TTS(语音生成)和ASR(语音识别)是NLP中非常重要的环节。 今天我们介绍一个开源的ASR项目vosk,以及vosk的简单应用方法。 Vosk是开源的语音识别工具包。Vosk支持的事情包括: 1. 阅读全文
posted @ 2021-09-23 17:43 求真得真 阅读(2102) 评论(0) 推荐(0)
摘要:概述 freeswitch支持多种语言的业务开发,包括C/C++,java,python,js,lua,Golang等等。freeswitch在使用python做业务开发时,有俩种接入方式,一种是ESL接口,另一种是mod_python模块。python的ESL接口是通过socket套接字与free 阅读全文
posted @ 2021-09-15 15:09 求真得真 阅读(769) 评论(0) 推荐(0)
摘要:VOIP freeswitch event 阅读全文
posted @ 2021-09-07 14:41 求真得真 阅读(1480) 评论(0) 推荐(0)
摘要:概述 之前的文章中,我们讲解了freeswitch的源码基本结构,如何新增一个插件式模块,以及如何在模块中新增一个命令式API接口。 freeswitch的架构非常适合这种业务开发模式,即以freeswitch的基本功能为开发平台,新增插件式模块来适配各种不同的业务场景,开发效率很高,学习成本相对较 阅读全文
posted @ 2021-09-03 15:51 求真得真 阅读(524) 评论(0) 推荐(0)
摘要:概述 上一章我们讲解了freeswitch的源码基本结构,以及如何新增一个插件式模块。 freeswitch的架构非常适合这种业务开发模式,即以freeswitch的基本功能为开发平台,新增插件式模块来适配各种不同的业务场景,开发效率很高,学习成本相对较低。 freeswitch的许多模块具有API 阅读全文
posted @ 2021-08-31 11:26 求真得真 阅读(262) 评论(0) 推荐(0)
摘要:概述 centos6系统从2020年12月1号开始不再维护,官方的yum源不再可用,同时国内的阿里云镜像和163镜像也都不再可用。 但是我们有一些老的服务器仍然在使用centos6系统版本,依赖库的安装和更新就有了问题。 有问题就有需求,有需求就有解决方案。 可用yum源 Vault源也是cento 阅读全文
posted @ 2021-08-25 18:42 求真得真 阅读(519) 评论(0) 推荐(0)
摘要:概述 freeswitch的架构由稳定的核心模块和大量的外围插件式模块组成。核心模块保持稳定,外围模块可以动态的加载/卸载,非常灵活方便。 外围模块通过核心提供的 Public API与核心进行通信,而核心则通过回调机制执行外围模块中的代码。 FS Core 是FreeSWITCH 的核心,它包含了 阅读全文
posted @ 2021-08-18 14:58 求真得真 阅读(416) 评论(0) 推荐(0)
摘要:freeswitch sip 阅读全文
posted @ 2021-08-13 14:18 求真得真 阅读(688) 评论(0) 推荐(0)