RTCPtype

原文链接为: https://groups.google.com/g/rtpengine/c/pbg0JfwoB8E

1. 用户 Georgii 首次提问

请问 rtpengine 可以收发哪些类型的 RTCP 报文?我目前只抓到过 RR 接收报告。

2. 维护者 rfuchs 答复

rtpengine 自身会生成携带内嵌 RR 报告块的 SR 发送报告 ;

同时对终端发来的任意类型 RTCP 报文全部原样透传转发。

3. 用户追问

非常感谢,我还有个疑问:做日志存储时是否需要保存所有种类 RTCP?还是只保留带有 report_block(统计块)的 SR、RR 就足够?

4. rfuchs 反问

存储到哪里?用途是什么?你说的"有价值"是针对哪类分析场景?需要你补充更多业务背景。

5. 用户补充场景

我正在搭建一套 SIP、RTCP 报文持久化存储系统,想确认存储范围。

6. rfuchs 最终解答

完全取决于你想要采集分析的数据维度:

如果是常规 VoIP 通话质量指标统计,最核心、有用的只有 RR 和 XR(扩展RTCP报告)。


二、关键知识点拆解

1. rtpengine 对 RTCP 的两类行为

1)主动生成

SR(Sender Report,发送方报告),报文内部自带内嵌 RR 统计块,用于上报本端发包、时延、丢包基础指标;

2)被动透传

终端产生的所有 RTCP 类型(XR、SDES、BYE、APP 私有扩展等)rtpengine 不拦截、不解构,直接原样转发对端。

2. 各类RTCP存储价值区分

必存(通话质量分析刚需)
  • SR / RR:基础指标(发包量、接收丢包、抖动、往返时延、序列号),常规CDR质量统计必备;
  • XR Extended Reports:扩展报告,提供精细化MOS、设备缓冲、时延分段、丢包分布,是深度音质排查核心。
按需选择性存储(业务视需求取舍)
  • SDES:携带终端CNAME、用户名、IP标识,用于多SSRC溯源;
  • BYE:通话正常结束标记,区分异常断流;
  • APP 私有RTCP:厂商自定义扩展(如X-NSE配套RTCP),仅特定设备场景需要;
无长期存储价值(可直接丢弃)
  • RTCP 空保活、冗余同步报文,无有效统计字段,只会占用存储。

3. 存储方案建议

  1. 仅做基础通话质量报表:只持久化 SR + RR + XR,其余RTCP直接丢弃;
  2. 全量溯源、故障深度排查场景:保留 SDES、BYE,过滤无用空报文;
  3. 对接私有终端/特殊编解码(如X-NSE):额外保留 APP 自定义RTCP类型。
相关推荐
xiaoye-duck13 小时前
《C++ 项目:手写大模型接入 SDK》Ollama接口设计(上):初始化、全量响应实现和测试
开发语言·网络·c++·语言模型
无足鸟ICT16 小时前
【RHCA+】iptraf-ng(网络监控分析)
linux·网络
坤坤子吖18 小时前
Linux网络编程:TCP服务器的多进程与多线程实现
linux·服务器·开发语言·网络·c++·笔记·学习
xiaoye-duck19 小时前
《C++ 项目:手写大模型接入 SDK》LLMManager架构设计与实现
开发语言·网络·c++·语言模型
andxe20 小时前
工业级 PoE 交换机选型指南:破解边缘部署四大核心难题
运维·网络·安全·光通信·交换机
say_fall1 天前
【Linux网络编程】计算机网络基础:局域网与广域网、OSI七层模型与TCP/IP五层模型、封装解包与MAC/IP地址、端口号与socket编程接口
linux·网络·tcp/ip·计算机网络·信息与通信
Joy T1 天前
Gzip 压缩原理与实践:HTTP 响应压缩、性能收益与工程配置
网络·网络协议·http
叼烟扛炮1 天前
Linux 学习笔记(五十四):内网穿透实战——用 frp 让外网访问你的私人电脑
linux·服务器·网络·笔记·学习
CodeYp20191 天前
第3讲:网络命令
linux·网络·命令
承渊政道2 天前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor