记录一次fs配置导致串线的问题

概述

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

fs在实际的使用过程中也会经常碰到莫名其妙的问题,大部分都是配置问题。

环境

CentOS 7.9

freeswitch 1.10.7

docker 26.1.1

问题描述

组网方案如下。其中的fs-reg是注册服务器,fs1和fs2是业务媒体服务器,B1B2是俩个B路中继。

比较特殊的地方是,fs1和fs2是通过docker部署在同一台实体服务器上的2个docker实例。

eyebean --> fs-reg --> fs1 --> B1

                                --> fs2 --> B2

问题现象。

当fs1和fs2的并发比较大的时候,会出现语音串线的情况。

本来a通话是打到B1的,看信令也是送到了B1,但是语音里是B2的声音,录音也是。

问题分析

分析fs1日志,B1协商的本端端口为“10.32.255.26 port 25692”。

[DEBUG] switch_core_media.c:8777 AUDIO RTP [sofia/external5060/13712345678] 10.32.255.26 port 25692 -> 10.0.129.14 port 11612 codec: 8 ms: 20

再从fs2的日志中发现,B2呼叫在B1呼叫12秒后协商了一个相同的本端端口“10.32.255.26 port 25692”。

这样,fs1和fs2会同时监听port 25692,结果就是莫名其妙的语音串线问题。

fs1和fs2会使用相同的媒体端口,则是因为各自的配置中使用了相同的媒体端口范围,在大并发的场景下,会有小概率发生该问题。

cat switch.conf.xml

<!-- RTP port range -->

<param name="rtp-start-port" value="16384"/>

<param name="rtp-end-port" value="32768"/>

解决方案

修改fs1和fs2的媒体端口范围。

fs1的switch.conf.xml。

<!-- RTP port range -->

<param name="rtp-start-port" value="16000"/>

<param name="rtp-end-port" value="32000"/>

fs2的switch.conf.xml。

<!-- RTP port range -->

<param name="rtp-start-port" value="32001"/>

<param name="rtp-end-port" value="48000"/>

总结

fs的docker模式挺好用的,但是有不少要注意的坑。

空空如常

求真得真

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/146108.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

栈的各种接口的实现(C)

栈的概念 栈&#xff1a; 一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。压栈&#xff1a;…

join 命令:合并文件

一、命令简介 ​join​ 命令用于合并两个文件&#xff0c;基于一个共同的键&#xff08;key&#xff09;字段&#xff0c;将一个文件中的行与另一个文件中的行合并在一起。 这个键字段在两个文件中必须是相同的&#xff0c;这样 join 才能正确地将行匹配在一起。 ‍ 二、命…

linux系统维护:给linux的根目录分配更多的额外的磁盘空间,实现系统磁盘容量的平滑升级

目录 一、背景说明 二、概念介绍 1、物理卷&#xff08;Physical Volume, PV&#xff09; 2、卷组&#xff08;Volume Group, VG&#xff09; 3、逻辑卷&#xff08;Logical Volume, LV&#xff09;&#xff1a; 三、操作过程 1、vmware中新增磁盘 2、查看磁盘信息 3、格式化…

进阶版水仙花数水是指一个n位数,各个位数字的n次方之和等于该数字本身

两种方法&#xff1a; 第一种&#xff0c;是输入一个数值&#xff0c;判断是否为水仙花数 //打印水仙花数 //水仙花数是指一个n位数&#xff0c;各个位数字的n次方之和等于该数字本身 //如&#xff1a;1531^35^33^3 // //分析&#xff1a; //153/1015 //15/101 //1/100 #incl…

✨机器学习笔记(五)—— 神经网络,前向传播,TensorFlow

Course2-Week1: https://github.com/kaieye/2022-Machine-Learning-Specialization/tree/main/Advanced%20Learning%20Algorithms/week1机器学习笔记&#xff08;五&#xff09; 1️⃣神经网络&#xff08;Neural Network&#xff09;2️⃣前向传播&#xff08;Forward propaga…

【C++】list容器的基本使用

一、list是什么 list的底层结构是带头双向循环链表。 相较于 vector 的连续线性空间&#xff0c;list 就显得复杂很多&#xff0c;它是由一个个结点构成&#xff0c;每个结点申请的空间并不是连续的&#xff0c;它的好处是每次插入或删除一个数据&#xff0c;就配置或释放一个…

MATLAB绘图基础8:双变量图形绘制

参考书&#xff1a;《 M A T L A B {\rm MATLAB} MATLAB与学术图表绘制》(关东升)。 8.双变量图形绘制 8.1 散点图 散点图用于显示两个变量间的关系&#xff0c;每个数据点在图上表示为一个点&#xff0c;一个变量在 X {\rm X} X轴&#xff0c;一个变量在 Y {\rm Y} Y轴&#…

ACE搭建地图,助力企业新媒体矩阵优化升级

在数字化浪潮中&#xff0c;为了创造多元化的用户互动和销售机会&#xff0c;众多企业踊跃投入到线上平台&#xff0c;积极构建新媒体矩阵。 然而这条道路并非是坦途。很多对矩阵不了解或是认识不足的企业&#xff0c;想要搭建好矩阵还需要面临众多难题。 对新手来说&#xff0…

Qt 多线程TCP客户端使用QTimer进行重连服务器———附带详细代码和讲解

文章目录 0 背景1 原理1.1 QThread的线程归属1.2 Qtimer使用1.3 TCP客户端使用 2 问题解决2.1 解决思路2.2 解决方法 3 完整的代码示例3.1 tcp_client类3.2 主界面类 附录参考 0 背景 在子线程中&#xff0c;使用Qtimer来进行定时重连TCP服务器&#xff0c;总是会出现跨线程创…

如何通过思维链提升LLM推理能力?

思维链推理(Chain-of-Thought Reasoning)&#xff0c;因其彻底改变了模型处理复杂问题的解决方式&#xff0c;目前已成为人工智能领域最炙手可热的重大进展之一。 通过模拟推理过程&#xff0c;CoT训练大语言模型将复杂的问题拆解&#xff0c;并提供更清晰、更具逻辑的响应(re…

需求4:新加字段(进阶版)

关于加一个字段这种&#xff0c;我前几篇文章已经写过了。这篇文章的这个需求&#xff0c;也是写关于加字段的&#xff0c;只不过与前两篇文章不一样的是&#xff0c;这篇文章的这个需求讲的比较隐晦&#xff0c;需求没有直接跟你说要你加一个字段&#xff0c;要你自己想一下才…

(undone) 学习语音学中关于 i-vector 和 x-vector

来源&#xff1a;https://ieeexplore.ieee.org/stamp/stamp.jsp?tp&arnumber8461375 (这是一篇跟 X-vector 有关的论文) 这里有更适合初学者的两个资料: 1.https://www.youtube.com/watch?vR3rzN6JYm38 &#xff08;MIT教授的youtube视频&#xff09; 2.https://people.c…

【微信支付-服务商】SpringBoot集成微信服务商支付(多子商户集成)

SpringBoot集成微信服务商支付&#xff08;多子商户集成&#xff09; 前言一、前置工作1、获取商户平台的xxx核心参数2、关联对应的小程序&#xff08;appid&#xff09; 二、SpringBoot集成微信小程序1、引入pom依赖2、yml配置3、java代码文件3.1、Properties 配置类3.2 Confi…

基于JAVA+SpringBoot+Vue的学生干部管理系统

基于JAVASpringBootVue的学生干部管理系统 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末附源码下载链接&#x1f345; 哈…

windows打开可选功能窗口的方式(呜呜设置里面找不到可选功能只能这样找了)

打开方式 winR打开运行窗口&#xff0c;输入fodhelper&#xff0c;按下回车键 即可快速打开可选功能窗口

ChemChat——大语言模型与化学的未来,以及整合外部工具和聊天机器人的潜力

概述 论文地址&#xff1a;https://arxiv.org/abs/2309.16235 虽然近年来技术创新和变革日新月异&#xff0c;从根本上改变了我们对生物化学过程的认识&#xff0c;但化学领域仍花费大量时间和金钱–"10 年 "和 “3000 亿”–将新产品推向市场。这是由于实验室实验的…

发现编程的全新境界——明基RD280U显示器使用体验

前言 在大学的四年里&#xff0c;我几乎每天都泡在实验室&#xff0c;盯着电脑屏幕&#xff0c;一行行地码代码。那时&#xff0c;学校提供的显示器是非常基础的款式&#xff0c;功能简单&#xff0c;几乎没有任何特别之处&#xff0c;甚至配置也比较低。那个时候&#xff0c;…

Shader 中的光源

1、Shader 开发中常用的光源属性 Unity当中一共支持四种光源类型&#xff1a; 平行光&#xff08;Directional&#xff09;点光源&#xff08;Point&#xff09;聚光灯&#xff08;Spot&#xff09;面光源&#xff08;Area&#xff09;— 面光源仅在烘焙时有用 不管光源类型到…

通过MCGS在ARMxy边缘计算网关上实现物流自动化

随着电子商务和智能制造的快速发展&#xff0c;物流行业面临着前所未有的挑战与机遇。高效的物流系统不仅可以加快货物周转速度&#xff0c;降低运营成本&#xff0c;还能显著提升客户满意度。 1. ARMxy BL340系列简介 ARMxy BL340系列是针对工业自动化领域设计的一款高性能、…

2024年最新苹果cms升级插件【泛目录专用】

苹果CMS是一款专为视频内容管理而设计的系统&#xff0c;近年来在视频站点搭建中逐渐成为热门选择。其直观的用户界面和灵活的管理功能&#xff0c;使得无论是新手还是专业开发者都能轻松上手。 苹果CMS提供了多种主题和模板&#xff0c;用户可以根据自身需求进行定制&#xf…