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类型。
相关推荐
techdashen2 小时前
从网络栈继续往下:micro:bit、2.4GHz、调制方式,以及一个不太靠谱但很有趣的想法
网络·fpga开发
碎碎念_4922 小时前
网络通信基础:IP协议、ARP协议、DHCP
网络·arp·dhcp·ip协议
Geeys2 小时前
淘宝电商运营新手入门完整教程|零基础开店引流
大数据·网络·人工智能
FlightYe3 小时前
FFmpeg移动端硬解机制
linux·网络·ffmpeg·音视频·实时音视频·视频编解码
huainingning3 小时前
锐捷ACL单向TCP互通组网-通过Established状态回包实现
服务器·网络·tcp/ip
七夜zippoe3 小时前
OpenClaw 实战案例:数据分析平台构建
服务器·网络·数据分析·openclaw·平台构建
huainingning4 小时前
锐捷ACL单向TCP互通组网-使用TCP三次握手SYN包置位为1实现
服务器·网络·tcp/ip
AI科技星5 小时前
拓扑生命系统确定性理论:基于32维流形的遗传密码起源与衰老动力学( 中英双语顶刊终稿·标准数学符号)
开发语言·网络·人工智能·算法·机器学习·乖乖数学·全域数学
想你依然心痛5 小时前
RT-Thread组件生态:SAL网络框架与AT组件实战——网络抽象、AT指令
网络·arm开发·at·sal