在目前freeswitch各种业务都开始需要支持高并发的背景下,线路带宽的占用成为很多客户的考虑范围,目前比较流行语音编码有2种G711、G729。由于语音需要采用上下行对等的宽带,G711每线需要大约90kbit/s/S的带宽,而G729每线仅需要30kbit/s/S的带宽。所以目前对接客户侧,都希望对接采用G729编码。

freeswitch默认是不支持进行G729转码的,商业版本的G729效率是最高的,不过要10刀1个并发,相信很少公司会舍得采用这么高的成本去做业务,因为赚不钱,这里介绍一下freeswitch配置开源的bcg729进行转码的方法:

1.首先进入freeswitch的源码目录,cd /XXX/freeswitch/src/mod/endpoints 

 2.下载bcg729的源码 git clone  https://github.com/xadhoom/mod_bcg729.git

 3.mv mod_bcg729 mod_g729

 4.编译mod_g729  cd mod_g729  make 

 5.编译完成后,将mod_bcg729.so拷贝到/usr/local/freeswitch/mod 目录下。

 6.在vars.xml配置文件中设置G729编码:

  <X-PRE-PROCESS cmd="set" data="global_codec_prefs=PCMU,PCMA,G729,OPUS,G722"/>

  <X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=PCMU,PCMA,VP8,G729,OPUS,G722"/>

 7.在vars.xml配置文件中加入

 <X-PRE-PROCESScmd="set"data="media_mix_inbound_outbound_codecs=true"/>

 这句话的含义是设置B-LEG上使用什么编码器列表。默认情况下B-LEG的codecs跟A-LEG一样。这样操作可以提高系统效率,b-leg将会尽量

 使用a-leg提供的语音编码,尽量不转码,可以很大程度上增大系统效率,

 ps:注意过长的codecs列表可能会超出UDP的MTU(最大传输单元),那将引起呼叫建立失败

8.在sip_profile中

 <param name="disable-transcoding" value="false"/>注释或者写成false,这行直接代表freeswitch是否开启转码功能

<param name=”inbound-late-negotiation” value=”false”/>

<param name=”inbound-zrtp-passthru” value=”false”/>

9,启动freeswitch,重新加载729模块unload mod_g729     load  mod_bcg729

完成到这一步就完成了整个freeswitch G729转码支持的配置,可以使用2部eyebeam,注册上freeswitch,1台设置只允许G729语音编码,一台设置只允许G711语音编码,互打进行测试。

freeswitch之G729转码操作配置详解相关推荐

  1. 智能电话机器人源码部署安装 系统核 心之FreeSwitch之G729录音转码操作配置详解系统安装

    在目前freeswitch各种业务都开始需要支持高并发的背景下,线路带宽的占用成为很多客户的考虑范围,目前比较流行语音编码有2种G711.G729.由于语音需要采用上下行对等的宽带,G711每线需要大 ...

  2. 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)

    上篇文章<深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)> 介绍了properties与environments, ...

  3. [转]阿里巴巴数据库连接池 druid配置详解

    一.背景 java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池.数据库连接池有很多选择,c3p.dhcp.proxool等,druid作为一名后起之秀,凭借其出色 ...

  4. varnish配置详解

       varnish配置详解 能用到缓存的服务器的原因是,应用到了程序的局部性. 空间局部性:一个程序最近访问了一个空间,那么他周边的空间也将被访问. 时间的局部性:一条指令一段时间内被执行,之后的一 ...

  5. Nginx 反向代理工作原理简介与配置详解

    Nginx 反向代理工作原理简介与配置详解 测试环境 CentOS 6.8-x86_64 nginx-1.10.0 下载地址:http://nginx.org/en/download.html 安装 ...

  6. Jenkins 从选择插件到配置详解-Gradle

    1.入门安装重要插件 Publish Over SSH: SSH连接服务器插件Git 相关: 代码拉取gradle: 用于项目打包 2.Jenkins 创建项目到配置详解 1.创建一个自由风格的软件项 ...

  7. [Python从零到壹] 八.数据库之MySQL和Sqlite基础知识及操作万字详解

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  8. Tomcat 的 Server 文件配置详解

    转载自  Tomcat 的 Server 文件配置详解 前言 Tomcat隶属于Apache基金会,是开源的轻量级Web应用服务器,使用非常广泛.server.xml是Tomcat中最重要的配置文件, ...

  9. babel 用法及其 .babelrc 的配置详解,想做前端架构,拒绝一知半解...

    Babel 官方介绍:将 ECMAScript 2015 及其版本以后的 javascript 代码转为旧版本浏览器或者是环境中向后兼容版本的  javascript 代码. 简而言之,就是把不兼容的 ...

  10. 服务器系统raid设置,服务器RAID配置详解

    <服务器RAID配置详解>由会员分享,可在线阅读,更多相关<服务器RAID配置详解(17页珍藏版)>请在人人文库网上搜索. 1.Ctrl+H的,这个主 服务器RAID配置详解 ...

最新文章

  1. 工程师如何从技术转型做管理?
  2. linux下logrotate配置和理解---转
  3. C++STL常用排序算法
  4. SAP Hybris Commerce installer目录下的build.gradle
  5. window 下的mysql_Windows下MySQL下载安装、配置与使用
  6. LeetCode(344)——反转字符串(JavaScript)
  7. vsftp虚拟帐户配置
  8. 微软最近宣布了一项政策更新,将限制在Office 365中使用Flash,Shockwave和Sil
  9. 微信小程序中实现人脸识别认证
  10. html网页使用js连接mysql_html下利用javascript连数据库
  11. win10便签常驻桌面_在win10桌面上能显示日程表小工具的便签怎么使用?
  12. excel转置怎么操作_直接理解转置卷积(Transposed convolution)的各种情况 - 颀周
  13. hiberfil.sys文件删除
  14. HTML+CSS练习——实现京东登录静态页面
  15. python动画篮球大小_用Python把蔡徐坤打篮球视频转换成字符动画!
  16. 初二因式分解奥数竞赛题_初中数学因式分解(含答案)竞赛题精选.doc
  17. ## Overlay 是什么
  18. Unity3D+WebGL数据交互、传参
  19. 快速解决Solving environment: failed with initial frozen solve. Retrying with flexible solve
  20. 网易云音乐.uc格式的缓存文件转.mp3

热门文章

  1. 药易通采购过账存储过程ts_c_BillAudit 分析
  2. flash 围棋_中国卫视执白0.5目胜flash77
  3. C语言的内存问题总结
  4. android来电录音软件,通话录音软件来电录音
  5. springboot 整合mybatis 报错Invalid bound statement (not found)
  6. 【深度学习】关于Inceprion v3网络对应的1001个类别
  7. html5实现对试题图片批改效果,类似盖章效果
  8. python3_实现BP神经网络 + BP神经网络应用实例
  9. Http状态代码指示
  10. 34. 脱壳篇-FSG压缩壳、ImportREC修复IAT输入表的使用,令一种寻找OEP方式