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

news/2024/11/15 14:21:54/文章来源:https://www.cnblogs.com/qiuzhendezhen/p/18422957

 

概述

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.hqwc.cn/news/800621.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPF 模板总结(Template)

模板(Template): WPF系统不但支持传统的Winfrom编程的用户界面和用户体验设计,更支持使用专门的设计工具Blend进行专业设计,同时还推出了以模板为核心的新一代设计理念。 在WPF中,通过引入模板(Template)微软将数据和算法的“内容”与“形式”解耦了。模板是算法和数据的…

Linux-手动扩容磁盘分区

Linux-手动扩容磁盘分区 1. 手动扩容磁盘分区 实例演示:使用 fdisk 扩容 ext4 磁盘分区 在本示例中,我们将阿里云的高效云盘从50GB扩容到60GB。 1.1 扩容前检查磁盘分区信息检查并记录分区表信息: fdisk -l /dev/vdb输出示例: Disk /dev/vdb: 60 GiB, 64424509440 bytes, 1…

Linux系统使用 mkfs.xfs 格式化磁盘分区

Linux系统使用 mkfs.xfs 格式化磁盘分区 1.安装 xfs 工具集在 CentOS 7 上安装: yum install xfsprogs -y在 Ubuntu 18 上安装: apt-get install xfsprogs在 Arch Linux 上安装: pacman -S xfsprogs2.修改磁盘分区表使用 fdisk 创建分区: fdisk /dev/vdb使用 parted 创建分…

RTX腾讯通停止服务,有哪些低成本平滑升级迁移方案?

一、RTX腾讯通继续使用的核心痛点 自RTX腾讯通停更以及官网下架,直接切断了用户获取更新、技术支持及资源下载的渠道,更迫使用户面对一系列难以忽视的严峻问题: ● 在国产系统及移动端无法使用:RTX腾讯通仅兼容Windows与MAC系统,导致用户无法在国产操作系统以及移动端使用…

[ABC263G] Erasing Prime Pairs

题目思路 看到配对,想到网络流。 考虑如果一个点是奇数,那么将源点与其连接,如果是偶数,那么将汇点与其连接,如果一对奇数和偶数的和是质数,那么将它们两对应的点相连。其中,我们要对 1 特殊处理,因为 \(1 + 1 = 2\) 而 \(2\) 是偶数且是质数,所以考虑费用流,尽可能多…

asp.net webapi 控制器中获取appsettings.json 中的数组对象

appsettings.json 文件内容: {"Logging": {"LogLevel": {"Default": "Information","Microsoft.AspNetCore": "Warning"}},"MyConfigKey": "MyConfigValue","AllowedHosts": "…

Linux系统使用 mkfs.ext4 格式化磁盘分区

Linux系统使用 mkfs.ext4 格式化磁盘分区 1.安装格式化工具大多数系统默认已经安装相关的软件工具。2.修改分区表可以使用 fdisk 或 parted 来修改分区表。3.格式化磁盘格式化指定分区: mkfs.ext4 /dev/vdb1格式化完成后进行优化配置: tune2fs -c -1 /dev/vdb14.挂载磁盘分区…

Day01-标题、字体、引用、分割线、图片、超链接、列表、表格、代码

Day01-标题、字体、引用、分割线、图片、超链接、列表、表格、代码 标题 一级标题:一个井号 空格 回车 二级标题:两个井号 空格 回车 二级标题 三级标题:三个井号 空格 回车 三级标题 ...... (最多到6级标题) 字体 Hello World!!!!!!! 斜…

2024-09-20 如何去除vue前端框架upload组件中的缓存 ==》v-if+setTimeout

在很多前端框架中的upload组件,比如arco-design的a-upload组件,在遍历渲染过程中会发现上传完成后,切换到另一个a-upload组件,它的图片会显示上一个a-upload组件的缓存 正常上传,然后点击红色,红色对应的图片应该被清空,实际上却并没有,如下解决方案:给a-upload组件加…

【python爬虫案例】利用python爬取豆瓣读书评分TOP250排行数据

【python爬虫案例】利用python爬取豆瓣电影TOP250评分排行数据,并导出为excel文档数据一、爬取案例-豆瓣读书TOP250 上一期给大家分享了个python爬虫案例:豆瓣电影TOP250的排行榜数据爬取 【python爬虫案例】利用python爬虫爬取豆瓣电影评分TOP250排行数据! 今天再给大家分享…

多语言长文本 AI 关键字提取 API 数据接口

多语言长文本 AI 关键字提取 API 数据接口 AI / 文本 专有模型极速提取 多语言长文本 / 实时语料库。1. 产品功能支持长文本关键词提取; 多语言关键词识别; 基于 AI 模型,提取精准关键词; 全接口支持 HTTPS(TLS v1.0 / v1.1 / v1.2 / v1.3); 全面兼容 Apple ATS; 全国多…

【Swagger】3.Swagger2的权限控制

想找Swagger的登录认证方式。这里是Swagger2的方式。登录安全控制 Basic身份认证 ApiKey身份认证登录安全控制 Basic身份认证ApiKey身份认证 有志者,事竟成,破釜沉舟,百二秦关终属楚; 苦心人,天不负,卧薪尝胆,三千越甲可吞吴。