VoIP技術者のための実践講座 [第4回WireSharkでRTPパケットを確認]
今回で4回目の実践講座となります。前回WireSharkでIP-PBXのシグナリングを見てきましたが、今回はSIPによりダイアログが確立された後に流れるRTPパケットについてみていきましょう。IP-PBXではどういったメッセージのやり取りがなされているかを見ていくことにしましょう。前回の「第3回WireSharkでIP-PBXシグナリングを見る」を見ていることを前提として進めていきますので、まだ見ていない人は先にそちらを見ることをお勧めします。また、IP-PBXのイメージがない方は先に別講座である、「基礎から始めるIP-PBX [第2回 シグナリングにおけるIP-PBXの仕組み]」を見られることをお勧めします。
(2018.12.28 更新。Wireshark 最新版 2.6.5の画面、メニューについて追加しました。)
それでは見ていきましょう。まずは環境の説明から。以下の環境で実験しました。
SIP電話機A
内線番号300, SIP ID:test1_300, ip address: 172.16.200.48
SIP電話機B
内線番号100, SIP ID: test1_100, ip address: 172.16.200.50
IP-PBXサーバー
172.16.200.82
実験はIP-PBXサーバーにインストールしてあるWiresharkのパケットキャプチャをONにして、SIP電話機A(300)からSIP電話機B(100)に電話を掛け、通話後にSIP電話機Bが電話を切ります。
それでは実際のパケットをキャプチャした結果を見ていきましょう。パケットキャプチャの仕方は第2回をご覧ください。
<1.キャプチャ結果>
通話中のキャプチャは以下のようになります。ガンガンRTPパケットが流れていることがわかりますね。
<2. 解りやすくフローで見てみる>
通話後にキャプチャを止めて、フローを確認します。(確認方法は「VoIP技術者のための実践講座 [第2回WireSharkでSIPシグナリングを見る」を参照してください。)
赤で囲った所を見ると、200OKメッセージの後、通話が確立し、IP-PBX(172.16.200.82) を経由してSIP電話機AとSIP電話機Bの間でRTPパケットがやり取りされていることがわかりますね。この通話ではIP-PBXがRTPパケットをリレーしていますが、すべての場合においてRTPパケットリレーされるとは限りません。SIP電話機間で直接やり取りされる場合もあります。
<3. RTPパケットを確認>
それではRTPパケットを確認しましょう。と、いっても今回は一つずつパケットを見るわけではありません。RTPパケットが音声データを運んでいることは明らかなため、今回は実際に聴いてみます。
Wireshark 1.12.xの場合
以下の通り[Telephony]->[RTP]->[Show All Stream] を選択します。
補足Wireshark 2.6.5の場合
メニューは[Telephony] > [RTP] > [RTP Streams]となっています。
次に以下のようなダイアログが現れます。この例では前述したフロー図でも確認できますが、通話のため4本のRTPストリーム(流れ)がありますね。
SIP電話機A -> IP-PBX, IP-PBX -> SIP電話機B,
SIP電話機A <- IP-PBX, IP-PBX <- SIP電話機B,
ここでは例として、一番上の「SIP電話機A ->IP-PBX」へのRTPストリームを選択し、「Analyze」をクリックします。
以下のような画面が現れます。[Player]を選ぶと音声を再生することができます。ここでは例としてRTPストリームをファイルとして保存してみます。「Save payload」をクリック。
最後に保存するファイル名と保存先、保存形式を指定します。ここでは例として、以下のようにしました。
ファイル名:test1
保存先:c;\Users\public\Videos\Sample Videos
保存形式:.au形式
それでは最後に保存したファイルを聴いてみましょう。といってもタダ再生するだけです。
保存したファイルをダブルクリックしてメディアプレーヤーで聴くことができます。 当たり前ですが、先ほどSIP電話機Aの人がしゃべっていた内容を聴くことができます。
Wireshark 2.6.5の場合
Wireshark 1.12.xの時と動きはほとんど変わりません。メニュー名が少し変更になっています。
こちら、[Analayze]ボタンを押した後の画面です。
音声ファイルを保存する場合は[Save]を、ここで再生させたい場合は[Play Streams]を押します。
こちらは[Play Stream]を押して、出現したプレイヤーの画面例。
また、Wireshark 2.6.5では音声ファイルを保存するため[Save]を押すと、以下のように詳細なメニューが出現します。[File Synchronized Forward Stream Audio]を選択してください。
いかがでしょうか。今回はRTPパケットのキャプチャと確認方法をご紹介しました。初めての方の中にはネットワークを流れる音声データを簡単に聴くことができて驚いている方もいらっしゃるのではないでしょうか。この通り、フリーのツールで簡単に通話は聞くことができます。Voip技術者の皆さんは盗聴防止のため、顧客の要件に応じてパケットを暗号化する必要がありますね。実際の機密性の高いビジネスや多くの顧客の情報を扱うコールセンターやコンタクトセンターの環境ではSRTPやTLSなどのプロトコルを利用して構築しています。