SIP 電話の遅延測定方法の提案と実装
2010SE018 藤村 光紀
指導教員：後藤 邦夫

はじめに

1

近年急速な SIP 電話の普及により利用者には通話の手段が増えてきている．無料で通話が楽しめるので無料通話アプリケーションへの需要は高まっていくと予想される．
しかし，通話音声の往復遅延が大きくなると期待する通りのサービスを受けることが出来ない．各社のアプリケーションがどのくらいの遅延があるのか．また，利用者が手軽に遅延を測定出来るような方法を研究する．本研究と同図 1 SIP 電話の仕組み

じ目的の先行研究 [4] が存在する．先行研究では NISTNetを用いて通信障害を発生させたが，品質に重点を置いており，遅延は計測しなかった．
そこで本研究では遅延の測定と実装について研究する．

2.2

遅延の原因

往復遅延については VoicePinger*1 という高価な機器がIP ネットワークでは音声の他にデータも送信されるたある．この製品は端末を限定せずに実音声での遅延を測定め，音声パケットが遅れて届いたり一部失われる．遅延のが出来る機器である．VoicePinger は音を発信し遅延やノ理由は主に 4 つある．ネットワーク遅延，符号化，復号化

イズを測定する事と，マイク，スピーカージャックを接続遅延，バッファがある．パケット化遅延は符号化または圧する専用ケーブル，遅延やノイズを記録，可視化する 3 つ

縮された音声をパケットのペイロードに埋め込むのに必要で構成されている．

な時間である．この遅延は，音声サンプルが送出される前

VoicePinger と近いシステムを作り実音声での遅延を測にバッファに累積される．また，パケット化による遅延は定することによって安価で容易に通話遅延を測定を出来る

コーデックにより圧縮された音声データは，RTP，UDP，ようになると予想される．

IP ヘッダを付加することで IP パケット化される．

SIP 電話の仕組み

2

本節では SIP(Session Initiation Protocol) 電話の仕組
みを図 1 を用いて説明する [2]．

また，ジッダバッファは等間隔で再生するため，遅延や揺らぎを見越してあらかじめ設けておくもので，バッファ値を越える遅延，揺らぎが発生した場合はパケット廃棄することになる．バッファ値が大きければ音質は良くなる
が，遅延が大きくなる [1]，[3]．

2.1

SIP と RTP

3

1. ほかの UA(User Agent) は，相手の電話番号などの識別情報を指定した発信メッセージを，SIP サーバへ送る．

2. SIP サーバは，データベースの情報を検索して，指定された識別情報に対応する IP アドレスへ発信メッセージを転送する．

実験環境
ここでは，実際に実験する環境を示す．
実験対象は携帯端末は iPhone5*2 を使用，回線には 3G回線を使用し，実験対象とするアプリケーションは LINE，Skype，comm とする．これらを測定する理由は，日本における利用者が多いからである．携帯電話での通話で端末は SoftBank 社の iPhone5 と AU 社の iPhone5 を使用

3. 着信した UA は応答メッセージを SIP サーバへ返し， する．
SIP サーバはそれを発信元 UA へ転送する．

4

4. 一 連 の 流 れ に よ っ て ，UDP 上 の RTP(Real-timeTransport Protocol) で互いの UA はメッセージ中に含まれていた相手の IP アドレスを知り，SIP サーバを介さずに音声のメディアストリーミングを直接送り合う．

測定方法

この節では本研究における往復遅延の測定方法を図 2，
図 3 を用いて説明する．本実験では会話ではなく作成した

ALSA を用いた 4 秒間隔でメトロノーム音を出力するプログラムから音を出力して実験する．
図 2 の実験処理手順を用いて説明する．

1. 音を phone1 のマイクに入力．同時に録音する．
*1 グリーン社（Glean Corporation）製*2 Apple 社の登録商標である

2. 発した音は phone1 を介して phone2 に届く．
3. phone2 のスピーカーから出た音をマイクに戻す．

次に往復遅延時間の平均と分散を開始から 10 個を取り出して測定するプログラムを加える. このプログラムを加えることで，開始から 10 個目までの往復遅延時間の平均

4. phone2 から phone1 に届く．と分散が確認できる．このプログラムを実行した結果を表

5. phone1 のスピーカー音を録音する．

2 に示す．

6. 手順 1 と手順 5 で録音した音声を aubionotes コマン
表 2 平均・分散プログラム実行結果

ドを用いて分析する．
実験対象

commLINE
Skype
携帯電話

平均遅延時間0.421 秒
0.486 秒
0.378 秒0.282 秒分散0.000389 秒
0.002816 秒
0.000032 秒
0.000105 秒

表 2 を見てみると，comm では平均遅延が 0.42 秒，LINEで 0.48 秒，Skype で 0.37 秒あり通常の携帯電話の 0.28秒よりも往復遅延が長いことが確認できる．エンドツーエ
ンド遅延を 0.150 秒以内にし遅延は，0.150 秒から 0.20 秒
位までは良好な音声通話ができるが，それ以上ではエコーなどが発生して明瞭な通話はできなくなる．往復遅延は0.250 秒以上の往復遅延から利用者は気づき始める．遅延が少なければ送話者はエコーに気づかないが，0.50 秒を超えると耳障りになる．今回の実験では往復遅延が 0.25 秒の中に収まっていなかった．

6
図 2 実験の処理手順

おわりに
本研究では ALSA を用いたメトロノームプログラムの作成と，各アプリケーションの往復遅延を測定することが5出来たが実際に実験をすると，ノイズが含まれるので，さ実験結果らに精度を上げる構成が必要である．また，RTP パケッ

ここでは，comm，Skype，LINE，通常の電話の往復遅延を測定し比較した結果を示す．この実験では，ALSA を用いた一定間隔で音を出すメトロノームプログラムで音を発した音と，携帯端末を介して返ってきた音を録音，保存し測定した実験である．音を収集した後に録音開始時から10 回分の往復遅延時間の平均と分散を表した表を下記に表す．
まず初めに aubionotes コマンドを使用し perl で作成したプログラムを利用する. このプログラムは MIDI の

81.00 で発せられる音の偶数個目から奇数個目の発音開始
時刻を引くプログラムである. 奇数個目が純粋な発せられた音であり, 偶数個目が遅れてきた音となるので偶数引く
奇数で遅延時間が確認できる. このプログラムを実行した
結果を表 1 に表す．
表 1 往復遅延プログラムを使用した表
comm

LINE

0.464 秒
0.442 秒
0.431 秒
0.432 秒0.405 秒0.410 秒

0.499 秒
0.487 秒0.464 秒
0.452 秒0.464 秒
0.452 秒Skype
0.371 秒
0.383 秒
0.371 秒
0.371 秒
0.371 秒
0.383 秒携帯電話

0.261 秒0.282 秒0.282 秒0.277 秒0.277 秒0.298 秒トのモニタリングを行う必要がある．

参考文献[1] Yokosuka, K.: ネットワークの世界における遅延とは(accessed Jan. 2014).
http://apposite-tech.com/blog/2012/10/30/.
[2] 阪口克彦：SIP 入門〜プロトコル概要からユビキタ
ス時代を築く SIP とその動向 (accessed Jan. 2014).
https://www.nic.ad.jp/ja/materials/iw/2004/procee
dings/T17.pdf.
[3] 田 中良 和：VoIP 入 門 〜 実 現 す る 技 術 と イ ン

タ ー ネ ッ ト 電 話 と の 違 い 〜 (accessed Jan. 2014).

https://www.nic.ad.jp/ja/materials/iw/2002/procee
ding/.
[4] 平岡 翼，森岡真生：IP 電話の通話品質評価と既存ソフトウェア電話の改良，南山大学情報通信学科 2004 年
度卒業論文 (2005).