概述

freeswitch是一款简单好用的VOIP开源软交换平台。

随着4G/5G网络的完善,视频呼叫的需求慢慢变多,本文介绍使用fs对接视频线路的配置方案。

环境

CentOS 7.9

freeswitch 1.10.7

视频模块

目前主流视频编解码使用H264,需要编译安装fs的mod_h26x模块,默认不安装。

模块源代码目录如下。

freeswitch-1.10.7/src/mod/codecs/mod_h26x

编译安装后的模块如下,$freeswitch/mod/目录下。

mod_h26x.la

mod_h26x.so

修改模块加载配置文件,$freeswitch/conf/autoload_configs/modules.conf.xml

<load module="mod_h26x"/>

配置方案

dialplan拨号计划配置如下。

<condition field="caller_id_number" expression="^(\d+)$" break="on-true">
<action application="limit" data="hash cps all 100/1 !EXCHANGE_ROUTING_ERROR" />
<action application="limit" data="hash capacity all 3000 !EXCHANGE_ROUTING_ERROR" />
<action application="set"
data="effective_caller_id_name=${translate(${caller_id_number} GB-CALLER-IN)}" />
<action application="set"
data="effective_caller_id_number=${translate(${caller_id_number} GB-CALLER-IN)}" />
<action application="set"
data="destination_number=${translate(${destination_number} GB-DEST-IN)}" />
<action application="set" data="inherit_codec=true" />
<action application="export" data="absolute_codec_string=PCMA,H264" />
<action application="set" data="sip_copy_custom_headers=false" />
<action application="export" data="passthrough180=true" />
<action application="export" data="ringback=${cn-ring}" />
<action application="export" data="rtp_video_max_bandwidth=4mb" />
<action application="export" data="rtp_video_fmtp=profile-level-id=42001f;packetization-mode=1" />
<action application="bridge"
data="{sip_cid_type=none,sip_invite_call_id=${sip_call_id}
}sofia/gateway/${distributor(in-gw)}/${destination_number}" />
</condition>

其中几个关键配置项如下。

absolute_codec_string

rtp_video_max_bandwidth

rtp_video_fmtp

测试

测试视频双向正常。

总结

fs配置视频比较容易,但是视频质量要求参数配置的正确,需要多测试和调整。

目前fs中的264应该只支持透传模式。

空空如常

求真得真

freeswitch配置视频对接的更多相关文章

  1. onvif规范的实现:成功实现ONVIF协议RTSP-Video-Stream与OnvifDeviceManager的视频对接

    有了前几篇的基础,现在可以正式开始onvif的实现工作,其中一项非常重要的部分就是视频流的对接,即能够在符合onvif标准的监控客户端软件里接收到设备端NVT发来的RTSP视频流.这里,我所用的客户端 ...

  2. phalcon在phpstorm里的配置视频

    phalcon在phpstorm里的配置视频:http://www.tudou.com/programs/view/yXw6e_Rshwk/

  3. 公网用户接入NAT后面的freeswitch配置

    大致网络示意和终端号码: 客户端侧: 终端号码(1019)终端IP(192.168.1.15)+ 网关(192.168.1.1) + 路由器公网IP(动态地址) 服务器侧: 防火墙(181.92.2. ...

  4. Postfix邮件系统安装配置视频

    Postfix邮件系统安装配置视频(文字资料详见linux企业应用案例精解),全部视频分为四个部分,详情如下: http://115.com/file/be9j4dsj#postfix-1.rar h ...

  5. Cisco PIX防火墙PPPoE拨号配置视频教学

    Cisco PIX防火墙PPPoE拨号配置视频教学   本文出自 "李晨光原创技术博客" 博客,请务必保留此出处http://chenguang.blog.51cto.com/35 ...

  6. Freeswitch配置之sofia

    SIP模块 - mod_sofia SIP 模块是 FreeSWITCH的主要模块. 在 FreeSWITCH中,实现一些互联协议接口的模块称为 Endpoint.FreeSWITH支持很多的 End ...

  7. 图形化Cisco设备管理实践(附安装配置视频)

    图形化Cisco设备管理实践 Ciscoworks 2000是Cisco公司推出的基于SNMP协议的网络管理系统,通过它网络管理人员可以方便快捷地完成设备的配置.管理.监控和故障分析等任务, Cisc ...

  8. freeswitch 配置 DID 方法

    本文来自 csdn     http://blog.csdn.net/voipmaker   转载注明出处,谢谢. 我建了一个 Freeswitch学习 交流群, 45211986, 欢迎加入. DI ...

  9. Kali Linux虚拟机安装完整安装过程及简单配置(视频)

    点击播放视频 附:视频中出现的两个txt文本,包含了大致的安装与配置过程: 文本1:KaliLinux虚拟机安装和初步配置 Kali Linux虚拟机安装和初步配置 大家好,今天给大家演示一下在VMw ...

  10. freeswitch配置功能二

    <?xml version="1.0" encoding="utf-8"?><include>        <context n ...

随机推荐

  1. 一种面向混合云平台基于LSTM预测模型的资源池配额方法。

    本文分享自天翼云开发者社区<一种面向混合云平台基于LSTM预测模型的资源池配额方法.>,作者:l****n 基于用户的历史配额申请情况和实际资源使用情况组成数据集搭建LSTM时序预测模型. ...

  2. AI 如何重塑劳动力市场:基于 Claude 数据的深度分析

    前言 本文翻译自 Anthropic 今天发布的 The Anthropic Economic Index ,经济指数报告,这份报告基于 Claude 的数据对目前的 AI 使用情况做了汇总. 引言 ...

  3. flutter-全局监听路由

    main.dart navigatorObservers: [ MyApp.routeObserver, GLObserver(),//全局监听路由 ], router_listener.dart c ...

  4. 工业机器人维修保养|ABB机器人IRB 6700维修保养技巧

    通过机器人维修保养服务定制合理的维修保养工作,可以确保ABB机器人IRB 6700的持续稳定运行,延长其使用寿命,为企业的生产提供有力保障. 一.ABB机器人IRB 6700日常检查与维护 外观检查: ...

  5. el-radio-group之迷惑操作:label和label

    el-radio-group之迷惑操作:label和label 今天学习element-ui的el-radio-group的时候发现el-radio-group的默认值设置无效,但是点击其他单选框可以 ...

  6. 如何在 CentOS 7 linux上安装和使用 FFmpeg

    SSH首选FinalShell 1.下载解压 wget http://www.ffmpeg.org/releases/ffmpeg-5.1.tar.gz tar -zxvf ffmpeg-5.1.ta ...

  7. Docker 的基本概念和优势,以及在应用程序开发中的实际应用

    Docker是一个开源的容器化平台,它可以将应用程序及其所有依赖关系打包为一个独立的容器,从而实现应用程序的快速部署.可移植性和可扩展性. Docker的基本概念包括以下几个方面: 镜像(Image) ...

  8. 大数据之路Week10_day07 (JavaAPI 操作Redis 模拟将redis当作缓存,从Mysql数据库中查询数据)

    在现实生活中,当很多人去访问一个数据的时候,Mysql会很慢,甚至会挂掉,如果这里之间存在一个缓存的话,直接从内存中查询数据将会快很多. 这里就去模拟将redis看作是一个缓存,因为redis就是基于 ...

  9. 批处理脚本(.bat)实现实时监测文件夹并执行命令 [假设有新文件则拷贝到远程文件夹内]

    想到一个情景.程序实时监测文件夹情况,如果有新文件进入,分析其文件名,然后如果满足预设条件,则做相应操作.比如扫描仪扫描了文件,会将新文件保存进特定文件夹内,可以使用该程序来做处理. 在Windows ...

  10. Linux系列:如何用 C#调用 C方法造成内存泄露

    一:背景 1. 讲故事 好久没写文章了,还是来写一点吧,今年准备多写一点 Linux平台上的东西,这篇从 C# 调用 C 这个例子开始.在 windows 平台上,我们常常在 C++ 代码中用 ext ...