freeswitch
文章平均质量分 60
果冻小玩纸
QQ:243305203 微信:swcxy12315 欢迎有兴趣的开发者一起共同交流
展开
-
freeswitch 之mysql性能优化篇
大家在使用freeswitch时,为了方便freeswitch与GUI等进行结合,经常会使用mysql数据库对fs进行启动。但是freeswitch使用mysql启动后,会比使用自带数据库更加消耗资源,大家可以将源生的创表方法改成使用内存数据库进行优化,可以增加freeswitch的性能。 具体步骤如下: 1.进入freeswitch的源码包,cd src 2.修改源生的switch...原创 2018-03-06 22:50:07 · 3458 阅读 · 1 评论 -
freeswitch 一键安装脚本
为了方便freeswitch安装,给大家分享一个本人的一键安装脚本,无插件,源生安装,配置好yum源即可,试用于centos#!/bin/bashyum install -y git alsa-lib-devel autoconf automake bisonyum install -y broadvoice-devel bzip2 curl-devel db-devel e2fsp...原创 2018-12-24 11:12:09 · 1215 阅读 · 0 评论 -
Freeswitch修炼宝典(四)-----网关讲解
在freeswitch网关 gateway是freeswitch中一个重要组成部分,他关乎的通话的呼出,简单介绍一下,FreeSWITCH里Gateway(网关)的概念。网关又成协议转换器,通常都是进行协议转换。这里说的网关指的是语音网关,如常用的SIP网关,负责SIP协议和七号信令或ISDN PRI(模拟信号)之间的转换。但FreeSWITCH中的网关有时候不一定是真的网关,也可以是另外一个S...原创 2018-09-20 10:29:45 · 3149 阅读 · 0 评论 -
Freeswitch修炼宝典(三)-----拨号方法详解
在freeswitch中比较重要的一个部分就是diaplan了,diaplan拨号计划简单的来说就是一种号码规则,他可以根据自己定义的规则,设置对应did(目标号码)或者设置匹配的规则,每一步如何实现,都在这里设置实现的。拨号计划一般都放在安装目录的:conf/dialplan下。首先我们拿一个比较有代表性的拨号计划进行拆分: <extension name="jdconfere...原创 2018-09-18 15:53:10 · 4860 阅读 · 0 评论 -
Freeswitch修炼宝典(二)-----freeswitch的ESL开发
一般来说,其他客户端都是通过ESL与fs进行连接的,如: Java是通过JAVA-ESL-CLIENT 朝FS进行连接的,连接方式分为内联:inbond 以及外联outbond 2种方式。Inbound内联:简单说就是客户端主动通过socket的连接方式向FS进行连接,开启了一个“通道”,通过这个通道客户端不仅可以订阅监听一些时间,也可以通过这个通道进行命令的发送。fs_cli 其实就是一...原创 2018-09-18 14:57:43 · 14433 阅读 · 2 评论 -
Freeswitch修炼宝典(一)-----freeswitch的方法入门解读
基本概念就不说了,这里直接说一下freeswitch中的方法,也许你们常听说freeswitch中APP,API没有理解这2个的具体含义,我用比较简单的方法说明一下,APP就类似内部封装的function,freeswitch可以自己使用操作。比如:bridge,echo,park等等。API就相同于我们通俗说的接口,有点像带有token认证机制的restful接口,使用fs_cli控制...原创 2018-09-12 12:01:12 · 7549 阅读 · 1 评论 -
FreeSwitch Event Socket Command
API语法:api <command> <arg>作用:发送一个API命令(阻塞模式)示例:api来自sofia/mydomain.com/ext@yourvsp.com 1000#连接sip:ext@yourvsp.com到分机1000api睡眠5000 bgapi语法:bgapi <command> <arg> 作用:向后台提交一个API命令(非...转载 2018-05-16 09:36:31 · 3127 阅读 · 0 评论 -
freeswitch由于ext-sip-ip地址填写错误导致32秒拆线问题
今天在freeswitch投产使用过程中,发现大量通话时长为32秒的通话,并且这下32秒通话全部来自与其中一台freeswitch中,这台freeswitch中的通话记录没有超过32秒的话单,所以对这台freeswitch进行抓包分析处理,发现其中contant代的地址不对,代成了媒体地址,所以导致在发送200ok接通后,对方ack回不来,32秒后自动拆线。 对此分析了一下该逻辑的源码...原创 2018-04-02 15:23:47 · 4443 阅读 · 0 评论 -
freeswitch的初步了解
1.fs的总体结构freeswitch由一个稳定的核心Core以及一些外围模块组成。内部使用线程模型来处理并发请求,每个连接都在单独的线程中处理,不同的线程间通过Mutex互斥访问共享资源,并通过消息和异步事件等方式进行通信,这种架构能处理很高的并发,能均匀分布到多颗CPU或单CPU的多个核心。绝大部分应用都是在外围模块中实现的。1) 核心 core包含了关键的数据结构和复杂...转载 2018-03-06 00:12:21 · 2298 阅读 · 0 评论 -
freeswitch 与 rabbitmq的结合与运用
rabbitmq作为目前流行的消息队列,可以持久化,处理性能高,功能齐全,采用amqp协议。 freeswitch中拥有mod_amqp模块,也采用amqp,所以可以使用freeswitch将 事件、命令、日志推送给rabbitmq,再使用其他语言与rabbitmq相结合(如Java),实现自己所想要的功能(报表系统,日志系统、状态系统、统计系统等等) 这里首先介绍一个mod_amq...原创 2018-03-05 20:09:54 · 3459 阅读 · 6 评论 -
freeswitch之G729转码操作配置详解
在目前freeswitch各种业务都开始需要支持高并发的背景下,线路带宽的占用成为很多客户的考虑范围,目前比较流行语音编码有2种G711、G729。由于语音需要采用上下行对等的宽带,G711每线需要大约90kbit/s/S的带宽,而G729每线仅需要30kbit/s/S的带宽。所以目前对接客户侧,都希望对接采用G729编码。 freeswitch默认是不支持进行G729转码的,商业版...原创 2018-03-15 18:28:05 · 6791 阅读 · 0 评论 -
关于java freeswitch esl inbound client长时间使用内存泄漏处理
直入主题,在使用源生的esl inbound client 时长时间运行后可能会出现内存溢出的错误,导致程序崩溃,最开始以为是自己的esl client 频繁检测重连方法有问题,导致内存得不到释放,后面再深入跟进inbound.client方法中发现其实并不是我得锅,实际问题是esl client代码中没有好好用DirectByteBuffer造成的问题。想深入理解的朋友可以看一下,Direc...原创 2019-05-20 11:20:58 · 4399 阅读 · 0 评论