【问题标题】:Save audio from RTP stream that contains RFC 2833 RTP events从包含 RFC 2833 RTP 事件的 RTP 流中保存音频
【发布时间】:2019-12-31 18:49:03
【问题描述】:

我正在尝试从使用 Wireshark 捕获的电话会话中提取音频。捕获从电话提供商发送给我们以进行调试/分析。我有 3 个文件:信令和两个带有 UDP 数据的文件,每个方向一个。合并其中两个文件(一个方向与信令)后,Wireshark 提供 RTP 流分析。我观察到(正如我对第二次会话捕获所做的那样)是 Wireshark 无法为一个方向导出 RTP 流音频 (Payload type: ITU-T G.711 PCMA (8))。这恰好是一个包含“RTF 2833 RTP 事件”(Payload type: telephone-event (106)) 的 RTP 流。这些事件似乎在带外传输 DTMF 曲调,对于每个 DTMF 曲调,有一段由 7 个此类连续 RTP 事件组成。 Wireshark 所做的是为不到两分钟的音频流生成一个 8 GB *.au 文件。对于反向流,我得到一个 2 MB 大小的音频文件。

我不得不承认这只是猜测:我将错误与我可以看到的功能联系起来,我有点困惑 Wireshark 显然 知道这些事件但未能保存相应的音频流。我可能需要一些插件吗?

我试图在网上搜索这个问题,但没有成功。


这个问题之前在 Network Engineering 上被问过,但后来被证明是题外话。

【问题讨论】:

    标签: voip wireshark rtp


    【解决方案1】:

    您可以从 wireshark 日志 (pcap) 中过滤 (rtp.p_type != 106) DTMF 事件,然后仅将 G.711 数据保存在单独的文件中。

    然后进行 RTP 分析并将音频负载保存为 .au/.raw 文件格式。

    【讨论】:

    • 如果我保存过滤视图中的音频,我会得到相同的 8 GB au 文件。如果我保存过滤的数据包并接下来加载它,它会显示为 UDP 数据包流。有没有办法只过滤掉那些 PT=106 的 RTP 数据包?
    • 如果我按!(rtp.p_type==106) 过滤,我得到了正确的选择。我可以通过这种方式保存并重新加载音频流,因此过滤似乎是合理的。但是导出音频会导致相同的结果:一个 8 GB 的 au 文件。现在我觉得这只是一个错误。
    • 有一个选项 Decode As - 选择协议为 RTP。
    • 你能分享我过滤后的 pcap 文件吗?请您检查不同版本的wireshark(可能您使用的版本存在错误)
    • 我想你可以在wireshark论坛上提出这个问题。我从来没有遇到过这样的问题,我使用的是 Wireshark 版本 2.0.4
    猜你喜欢
    • 1970-01-01
    • 2018-03-01
    • 2020-03-01
    • 1970-01-01
    • 2015-08-24
    • 1970-01-01
    • 1970-01-01
    • 2017-01-07
    • 1970-01-01
    相关资源
    最近更新 更多