【问题标题】:How does one capture H.323 voice traffic on a VOIP network?如何在 VOIP 网络上捕获 H.323 语音流量?
【发布时间】:2011-02-26 21:36:56
【问题描述】:

我要做的是使用 SharpPCap/PCap.Net 在 VOIP 网络上捕获电话对话的 WAV 数据。

我们正在使用 H.323 建议,我的理解是语音数据位于 RTP 数据包中。但是,没有办法启发式地确定 UDP 数据包是否是 RTP 数据包,因此我们必须做更多的工作才能捕获数据。

H.323 建议显然使用特定 TCP 端口上的大量流量来协商呼叫,然后再通过 RTP 发送 WAV 数据。但是,我很难确定这些 TCP 端口上实际发送的数据、发送时间、数据包的外观、如何处理等。

如果有人知道如何解决这个问题,我将不胜感激。我的 Google-Fu 在这方面似乎让我失望了。

【问题讨论】:

    标签: c# voip rtp winpcap h.323


    【解决方案1】:

    Wireshark 是你的朋友...我想它仍然有一个插件可以让你选择 VoIP 流然后保存到文件。有趣的是,如果您使用的是交换网络。

    Wireshark + VoIP

    【讨论】:

    • 对不起。我一定不能说清楚。我不想使用 Wireshark。我需要实际编写软件来执行保存这些电话对话的 WAV 文件的任务。我看不到 Wireshark 在这方面如何帮助我。我是不是误解了你的建议?
    • wireshark 是开源的,所以我相信你可以在那里找到你需要的东西。协议解码也在wireshark中。 (您甚至可以使用数据包数据自己解码数据包。)大多数 VoIP 的问题是它在交换网络上是 UDP。很难嗅出电线。
    【解决方案2】:

    您必须从双方解析 h.323 OLC 消息,然后您才能知道要捕获哪些数据包

    【讨论】:

    • 谢谢鲍里斯。我想我会以不同的方式去做,但我认为我正在做的事情会奏效。现在我能够通过标头(数据包类型,第 2 个字节)检测 RTCP 数据包,然后查找 SDES。 SDES 将有 CNAME,这给了我唯一的电话。然后我还可以获取 SSRC 并开始抓取具有相同 SSRC 的所有 RTP 数据包。希望这能让我做我想做的事并捕获 WAV 数据。还没写完。我们拭目以待。
    猜你喜欢
    • 2012-10-16
    • 1970-01-01
    • 2013-09-17
    • 2011-06-03
    • 1970-01-01
    • 2016-10-22
    • 2019-11-04
    • 2014-02-14
    • 1970-01-01
    相关资源
    最近更新 更多