freeswitch媒体协商的优先级方案

概述
freeswitch是一款简单好用的VOIP开源软交换平台。
不同的媒体格式各有优缺点,实际环境中的应用要根据线路和客户的实际需求确定。
本文中介绍一种较为通用的媒体配置方案,可以适配大部分场景。
环境
centos:CentOS release 7.0 (Final)或以上版本
freeswitch:v1.10.7
GCC:4.8.5
测试环境
测试环境的网络结构如下。B路被叫部分支持“PCMA,G729”,部分只支持“PCMA”。B路响应180的时候,fs137需要对A路放回铃音。
A(PCMA,G729) -> fs137 -> B(PCMA[,G729])
fs137的媒体需求优先级。优先在AB路使用G729,次选在AB路使用PCMA,尽量不协商转码。
配置方案
修改 conf/vars.xml。
<X-PRE-PROCESS cmd="set" data="global_codec_prefs=G729,PCMA"/>
<X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=G729,PCMA"/>
修改拨号计划 conf/test.xml
<action application="set" data="inherit_codec=true"/>
<action application="export" data="absolute_codec_string=G729,PCMA" />
<action application="export" data="rtp_codec_negotiation=greedy" />
测试
测试关注的几种常见场景。
A(PCMA,G729) -> fs137 -> B(PCMA,G729)

A(PCMA,G729) -> fs137 -> B(PCMA)

A(PCMA,G729) -> fs137 -> B(PCMA),B路先响应180,fs137对A路响应183并放音。

总结
今天介绍了一种比较通用的媒体配置方案,可以适配大部分场景。
实际的生产环境中,由于运营商线路和客户的特殊性,情况会更加复杂。
媒体配置的大原则,优先使用G729,次选PCMA,尽量不协商成转码的方案。
空空如常
求真得真
freeswitch媒体协商的优先级方案的更多相关文章
- FreeSWITCH媒体转码配置
一.说明: FreeSWITCH版本1.6.13二.测试准备 软电话A的语音编码只配置iLBC:软电话B的语音编码只配置PCMU: A->B,编码协商失败,收到488消息. 三.修改文件vars ...
- freeswitch 编码协商
编辑 /usr/local/freeswitch/conf/sip_profiles/internal.xml 添加注释 <param name="inbound-zrtp-p ...
- 个推基于 Apache Pulsar 的优先级队列方案
作者:个推平台研发工程师 祥子 一.业务背景在个推的推送场景中,消息队列在整个系统中占有非常重要的位置.当 APP 有推送需求的时候, 会向个推发送一条推送命令,接到推送需求后,我们会把APP要求推送 ...
- 《FreeSWITCH: VoIP实战》:SIP 模块 - mod_sofia
SIP 模块是 FreeSWITCH 的主要模块,所以,值得拿出专门一章来讲解. 在前几章时里,你肯定见过几次 sofia 这个词,只是或许还不知道是什么意思.是这样的,Sofia-SIP 是由诺基亚 ...
- Freeswitch配置之sofia
SIP模块 - mod_sofia SIP 模块是 FreeSWITCH的主要模块. 在 FreeSWITCH中,实现一些互联协议接口的模块称为 Endpoint.FreeSWITH支持很多的 End ...
- freeswitch对接WEBRTC的一个candidate问题
概述 近几年,WEBRTC的完善与成熟,使得网页上使用webrtc的应用越来越多. Freeswitch是一个开源的软交换平台,可以直接支持webrtc的对接方式. 最近在测试fs和webrtc的对接 ...
- 给Asp.Net MVC及WebApi添加路由优先级
一.为什么需要路由优先级 大家都知道我们在Asp.Net MVC项目或WebApi项目中注册路由是没有优先级的,当项目比较大.或有多个区域.或多个Web项目.或采用插件式框架开发时,我们的路由注册很可 ...
- 【转载】为ASP.NET MVC及WebApi添加路由优先级
路由方面的: 转载地址:http://www.jb51.net/article/73417.htm Author:lijiao 这是一个对Asp.Net Mvc的一个很小的功能拓展,小项目可能不太需要 ...
- HTTP/2的优先级
前言 记得HTTP/3即将标准化了.今日早读文章由@smallbonelu翻译授权分享. @smallbonelu,一枚爱好跑步的前端工程师 正文从这开始-- 以正确的顺序请求页面资源对于快速的用户体 ...
- 前端学HTTP之报文首部
前面的话 首部和方法配合工作,共同决定了客户端和服务器能做什么事情.在请求和响应报文中都可以用首部来提供信息,有些首部是某种报文专用的,有些首部则更通用一些.本文将详细介绍HTTP报文中的首部 结构 ...
随机推荐
- 5.26 学习SSH
1.ssh客户端是一种使用Secure Shell协议 连接到运行了ssh服务端的远程服务器上 ssh是比较可靠的,专为远程登录会话和其他网络服务提供安全性的协议 2.
- WinCC插件制作教程
目录 插件的编写 插件的使用 参考资料 Creation of .NET Controls 109759944_Prepare.NetControls_DOC_en.pdf 插件的编写 创建插件项目, ...
- JDBC与JPA--初学JPA
最近工程中用到JPA,头一次接触,踩了不少坑.刚好复习到JDBC,发现JPA用起来真是很简单.就对比一下这两者的区别 总结:JDBC是更接近数据库SQL的抽象,使用时依然使用的是SQL.优点是靠近 ...
- edge 浏览器部分功能
模拟打印情况的调试
- PVE设置定时关闭、启动虚拟机
shell中输入命令: crontab -e 进入对应cron 添加命令: 例如: 00 2 * * * pvesh create /nodes/pve/qemu/102/status/stop 00 ...
- C数列或者C向量以及C矩阵
#include <stdlib.h> #include <stdio.h> #define TP double #define UI unsigned short int # ...
- css scoped和moudle
scoped css 官方文档 缺点 一.如果用户在别处定义了相同的类名,也许还是会影响到组件的样式. 二.根据css样式优先级的特性,scoped这种处理会造成每个样式的权重加重了: 即理论上我们要 ...
- drf认证与权限
1 认证 # 登录认证--->某个接口必须登录后才能房屋# 登录接口--->登录成功返回随机字符串--->携带随机字符串[认证] 通过,再继续访问某个接口# 读APIView源码时, ...
- 使用NTC计算温度,增加计算精度的算法
uint16_t uGetPCB_Temperature(void) { uint16_t x; float Adcn; float k; Adcn = userADC_var.ADCMeasureV ...
- 全新TI AM62xx系列核心板上市,小小身板蕴藏巨大势能!
2011年TI推出AM335x,成为了此后市场上最受欢迎的通用工业级ARM处理器,并广泛应用于工业HMI, 医疗电子,机器人,能源,汽车等领域.随着工业4.0的发展,HMI人机交互.工业工控.医疗等领 ...