最近在做基於SIP的VoIP通信研究,使用Wireshark軟件可以對網絡流量進行抓包。
VoIP使用RTP協議對語音數據進行傳輸,語音載荷都封裝在RTP包里面。要對傳輸中的語音進行截獲和還原,需要通過Wireshark對RTP包進行分析和解碼。該過程如下:
1.打開截獲的pcapng文件,點擊Telephony-->RTP-->Show All Streams.
2.根據發送地址和目的地址,選擇要分析的語音流,點擊圖中的Analyze進行分析處理。Packets數太少可能會播放不出聲音。
3.點擊player。
4.對語音數據進行解碼。點擊Decode
5.得到語音波形。
6.選擇語音文件后,點擊Play就可以聽到聲音了
注意:目前我所測試的能正確解碼的是G.711編碼,也即是PCM編碼G.722和GSM等,沒有正確解碼成功。個人認為是因為Wireshark中缺乏了響應的解碼庫,導致了解碼失敗。
感謝QQ群:SIP VoIP 測試交流 323827101 中的楓林晨曦 給我的建議和啟發。歡迎大家一起交流討論。