2010-06-02 56 views
0

我想要做的是使用SharpPCap/PCap.Net在VOIP網絡上捕獲電話對話的WAV數據。如何在VOIP網絡上捕獲H.323語音流量?

我們使用H.323建議,我的理解是語音數據位於RTP數據包中。但是,沒有辦法啓發式地確定UDP數據包是否是RTP數據包,因此在捕獲數據之前我們必須做更多的工作。

在WAV數據通過RTP發送之前,H.323建議顯然使用特定TCP端口上的大量流量來協商呼叫。但是,我很少有運氣來確定在TCP端口上實際發送了什麼數據,何時發送數據,數據包是什麼樣的,如何處理它等。

如果有人有任何關於如何去的信息關於這個我真的很感激它。我的Google-Fu似乎在這方面失敗了。

回答

3

Wireshark是你的朋友...我想它仍然有一個插件,可以讓你選擇一個VoIP流,然後保存到文件。如果您使用交換網絡,那麼有趣的部分將會是。

Wireshark + VoIP

+0

我很抱歉。我不能讓自己清楚。我不想使用Wireshark。我需要真正編寫軟件來執行保存這些電話會話的WAV文件的任務。我沒有看到Wireshark在這方面如何幫助我。我誤解了你的建議嗎? – 2010-06-02 20:15:44

+0

那麼wireshark是開源的,所以我相信你可以在那裏找到你需要的東西。協議解碼也在wireshark中。 (你甚至可以使用分組數據來自己解碼數據包。)大多數VoIP的問題是它將在交換網絡上是UDP。很難嗅出電線。 – 2010-06-02 20:33:37

0

你必須從兩側解析H.323 OLC消息,那麼你就可以知道什麼pakets捕捉

+0

感謝鮑里斯。我想我會以不同的方式進行討論,但我認爲我正在做的事情會發揮作用。現在我可以通過頭部(數據包類型,第二個字節)檢測RTCP數據包,然後查找SDES。 SDES將擁有CNAME,併爲我提供了獨一無二的手機。然後,我也可以獲得SSRC,並開始抓取具有相同SSRC的所有RTP數據包。希望能讓我做我想做的並捕獲WAV數據。尚未完成。我們拭目以待。 – 2010-06-16 13:33:56