记录一次fs通话无声的问题

概述
freeswitch是一款简单好用的VOIP开源软交换平台。
fs的实际应用中,由于网络、配置等问题,经常会产生通话无声的问题。
环境
CentOS 7.9
freeswitch 1.10.7
问题描述
部署一台新服务器,作为SBC,对接B路,部署简图如下。
A -- fs1 -- fs2(fs3媒体服务器) -- B
其中fs2和fs3是已有的老服务,运行正常。fs1是新部署的SBC,作为AB路通话的中转服务。
fs1部署配置完成后,开始测试,A发起呼叫B,B接听,但是AB都无声。
查看fs1的日志,均正常。
通过sngrep抓包,查看信令也正常,媒体流收发正常。
通过fs1本地录音,录音文件中有A路声音,没有B路声音。
通过fs2抓包,信令正常。
通过fs3抓包,fs3没有收到fs1的媒体流。
问题分析
fs1上的sngrep中显示,B路的媒体流正常,说明fs1上B路的网卡上有正常的媒体流。
fs1的本地录音中没有B路声音,结合上一条,B路媒体流到达了fs1的网卡,但是没有进入fs1服务。
fs3的抓包显示,fs1的媒体流没有到达fs3的网卡。
初步分析,fs1的B路网卡上的媒体流不正常,网卡配置问题的可能性比较大。
解决方案
查看fs1的服务器配置,发现fs1到fs3的静态路由没有配置。
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 120.xxx.xxx.xx 0.0.0.0 UG 301 0 0 bond0
10.0.129.0 10.55.55.110 255.255.255.0 UG 0 0 0 bond1
10.0.132.0 10.55.55.110 255.255.255.0 UG 0 0 0 bond1
10.55.55.0 0.0.0.0 255.255.255.0 U 300 0 0 bond1
120.xxx.xxx.xx 0.0.0.0 255.255.255.128 U 301 0 0 bond0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
添加完后,AB路通话正常。
总结
实际生产环境中,网络和各种配置的异常情况特别多,需要根据实际情况一步步分析解决。
fs不能仅仅关注服务本身的问题,服务器,网络的问题也都需要了解一点。
在没有静态路由的场景下,网卡到fs服务的媒体流转发也会失败。
空空如常
求真得真
记录一次fs通话无声的问题的更多相关文章
- Nuxt.js 踩坑记录,(1)引入fs包报错
今天又是码农的一天. 但是写着写着,不知道为啥就页面就报错了, 如图所示,我在db/app.js下引入了fs这个模块,提示我npm install,我也照做了,但是仍然报错. 通过各种百度,踩坑,最终 ...
- Hadoop问题记录:Wrong FS: hdfs://hp5-249:9000/, expected: file:///
一般在对文件操作的时候可能出现这个问题,可能是打开文件的时候出错,也可能是对文件夹进行遍历的时候出问题. 出现这样的问题通常是在eclipse中执行hadoop的时候出现,直接切换到shell下发送命 ...
- android 获取通话记录
在manifest添加以下权限<uses-permission android:name="android.permission.READ_CALL_LOG" />&l ...
- 每天学点node系列-fs文件系统(续)
理想如果不向现实做一点点屈服,那么理想也将归于尘土. 创建目录 异步创建目录 path<string> | <Buffer> | <URL> options < ...
- nodejs入门API之fs模块
fs模块下的类与FS常量 fs模块下的主要方法 fs的Promise API与FileHandle类 一.fs模块下的类 1.1 fs.Dir:表示目录流的类,由 fs.opendir().fs.op ...
- 【算法学习记录-排序题】【PAT A1016】Phone Bills
A long-distance telephone company charges its customers by the following rules: Making a long-distan ...
- 【腾讯Bugly干货分享】QQ电话适配iOS10 Callkit框架
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/58009392302e4725036142fc Dev Club 是一个交流移动 ...
- LINUX命令总结 -------来自 水滴娃娃 的CSDN
LINUX命令总结 标签: LINUX命令总结 2014-01-27 15:54 41039人阅读 评论(1) 收藏 举报 分类: linux(1) 版权声明:本文为博主原创文章,未经博主允许不得 ...
- linux 命令总结(转载)
linux 命令总结(转载) 1. 永久更改ip ifconfig eth0 新ip 然后编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip 2.从Lin ...
- TCL S960T刷机包 乐蛙OS5 稳定版 平滑 优化
ROM简介 乐蛙OS5完美的最终稳定版 Ver14.10.17 温馨提示:一定要明确系统双成一个完整的包画刷入前开发版,否则会造成系统异常,请务必备份手机刷机前的信息和数据,刷机过程中,为了避免因数据 ...
随机推荐
- spring redis 工具类
import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.Map; ...
- KingbaseES Json 系列四:Json数据操作函数二
KingbaseES Json 系列四--Json数据操作函数二(JSONB_PRETTY,JSONB_STRIP_NULLS,JSON_OBJECTAGG,JSON_EQUAL,JSON_EXIST ...
- 给你的wordpress添加文章内图片鼠标点击放大浏览的功能吧~
注:笔者已启用WP Githuber MD插件使用Markdown语法进行文章编辑,启用的主题为generatepress. 1.进入你的宝塔面板首页 点击文件选项: 2.分别找到以下几个文件进行修改 ...
- mybatis一次执行多条SQL语句报错
如果这样来写一个 mapper 1 <update id="createTable3" parameterType="map"> 2 drop ta ...
- #LCA,二分,树上差分#洛谷 2680 运输计划
题目 一棵树,每条边上都有边权,现在选择一条边将边权变为0,使\(m\)条路径边权和其中一条的最大值最小,问这个值 分析 由于大于最终结果的一定可行,小于最终结果的一定不可行,所以二分答案,首先答案以 ...
- Python分组数据并保存到单独的文件中
当处理大型数据集时,通常需要将数据分组,并将每个分组的数据保存到单独的文件中.下面是一个使用 Python 中的 pandas 库来实现这一目标的示例代码. 步骤 1: 导入所需的库 import o ...
- 做了5年开源项目,我总结了以下提PR经验!
如何优雅地参与开源贡献,向顶级开源项目提交 PR(Pull Request),如何更好地提交 PR? 针对这些问题和疑惑,我们邀请了 OpenAtom OpenHarmony(以下简称"Op ...
- 深入了解 Java 方法和参数的使用方法
Java 方法 简介 方法是一块仅在调用时运行的代码.您可以将数据(称为参数)传递到方法中.方法用于执行特定的操作,它们也被称为函数. 使用方法的原因 重用代码:定义一次代码,多次使用. 提高代码的结 ...
- 华为帐号为AITO问界M5助力,打造懂你的智能座舱
12月23日,在华为冬季旗舰新品发布会上,AITO问界M5正式发布.华为赋能的AITO问界M5搭载HUAWEI DriveONE纯电驱增程平台和HarmonyOS智能座舱,并且带来华为终端云服务软硬协 ...
- MogDB/OpenGauss数据库中通过参数控制抓取慢sql
MogDB/OpenGauss 数据库中通过参数控制抓取慢 sql 本文出处:https://www.modb.pro/db/221556 mogdb 数据库中可以通过打开相应的参数抓取慢 sql,该 ...