ネットワークのトラブルシューティングでは、ネットワーク上を流れるパケットをキャプチャして解析することが有効な手段の一つです。
Wirehark は、主要な VoIPプロトコル(H.323、SIP等)をサポートしており、VoIP呼制御に関するトラブルシューティングに利用することができます。
ここからは、Wiresharkを用いたVoIPシグナリングの解析方法を説明していきますが、パケットキャプチャ(調査対象のIP Phone、Voice GW 等 の接続されたスイッチ・ポートをモニタリングしたもの)が、取得済みであることを前提とします。
VoIPシグナリングの解析方法
VoIP呼制御に関する問題(例:コールが接続できない、通話中に切断された等)が発生した場合、シグナリングプロトコルとして、どの様なメッセージが送受信されていたかを調査する必要があります。
利用者にヒアリングした情報(VoIPシグナリング種別、端末のIPアドレス、問題の発生時刻)を元に、調査対象のパケットキャプチャのデータの絞り込みを行います。
下記の例では、VoIPプロトコルと端末IPアドレスでのフィルタを適用しています。


Wiresharkの機能でコールフロー図を作成すると、シグナリングプロトコルのシーケンスが把握できます。
メニューバーから Telephony > VoIP Calls を選択します。

パケットキャプチャ内のコールがリスト表示されます。

調査対象のコールを選択し、Flow ボタンを押します。SIPプロトコルの場合、以下の様なコールフロー図が作成されます。

下図はH.323プロトコルの場合の例です。

コールリストのウインドウで、Playerボタンを押すと、通話の音声を再生させることができます。

Decodeボタンを押して、RTPストリームを選択し、Playボタンを押すと、通話の音声が再生されます。
Wiresharkでは、VoIPプロトコル毎の統計処理も可能です。メニューバーから "Telephony > SIP..." または "Telephony > H.225..." を選択し、Create Stat ボタンを押すと、各プロトコルのメッセージ種別毎のパケット数が表示されます。
![]()


![]()
プロトコル種別、端末IPアドレスに加えて、Call IDでフィルタを適用する場合もあります。
Wiresharkのパケット詳細(Packet details)ペインで、SIP Message Headerを表示させます。
Call-IDを選択し、右クリックして、Apply as Filter > "...and Selected" を選びます。

フィルタにCall IDが追加され、Wiresharkの画面には、調査対象のコールのパケットのみが表示されます。

コールフローを把握し、対象のパケットを絞り込んだ後は、パケットの内容についての詳細な調査を行うことになります。