2015年2月26日木曜日

IP電話(VoIP)に最適なSIPクライアント「Zoiper」

行き着くところまで行き着いた気がする【つなぐ】ですが、まだまだ満足できず、いまだに色々と検証をすすめています。
先日は電子レンジにスマホ入れて、電波の遮断試験なんてこともしていました。

そのようなテストも、SIPクライアントの中では最強だと思っていたAcrobits社の「Groundwire」で行っていました。
しかし、Android環境においては圧倒的なまでに、「Zoiper」の方が高音質であることがわかりました。




今回は、その「Zoiper」(正式名称:Zoiper IAX SIP VOIP Softphone)について紹介したいと思います。

※【つなぐ】については以下の記事をご覧ください。
ガラケー(話し放題)と、スマホ(MVNO)を【つなぐ】>(概要説明)
MVNO(データSIM)で「話し放題」を実現する 【つなぐ】>(設定紹介)



【 SIPクライアントについて 】

SIPクライアントとは、IP電話などのVoIPを使う際には、必須となるアプリです。
このアプリの性能が、音質や使い勝手に大きく影響します。

高音質なSIPクライアントとしては以下の2つが有名です。
  • CSipSimple
  • Acrobits社製品全般(SoftphoneやGroundwireなど)

    この他にも、もちろん高音質なSIPクライアントもあるのですが、大抵何かが足りません。
    電池持ちだったり、使い勝手だったり・・・。
    すべてを兼ね備えたものとしては、やはり先の2アプリが最高で・・・した。“いまの”「Zoiper」を知るまでは。



    【 Zoiperについて 】

    「Zoiper」(正式名称は「Zoiper IAX SIP VOIP Softphone」)

    これはAndroid版からiPhone版、Windows版まであるかなり有名なアプリです。
    このブログでも今まで、幾度も「Zoiper」を検証してきました。
    検証している中、高音質なアプリだとは思っていましたが、それでも「CSipSimple」や「Acrobits Groundwire」には及びませんでした。

    しかし、「Zoiper」の更新頻度は早いです。
    積極的に開発を行い、不具合解消とともに高音質化にも務めていたようです。
    私の知らぬ間に、「Zoiper」はものすごい高音質なSIPクライアントへと変貌していました。

    また、高音質なだけでなく、電話帳からの発信も可能で、かつ面倒な回線の切替作業も必要としません。
    発信時に使用回線が選べるタイプなので、非常に使い勝手が良いです。



    【 音質の検証 】

    これ以上Zoiperについて語っても仕方がありませんので、早速、音質の検証を行います。

    音質については自分がどう聞こえるかより、自分の声が相手にどのように聞こえているかが重要なため、それを掲載します。
    なお、実際の使用環境に近づけるため、エアコンの音やパソコンの風切音など、環境ノイズのある状態で試験しています。
    また、パソコンのスピーカから出る音をスマホのマイクで拾っていますので、どうしても音質は悪くなります。

    そのあたりを考慮して音声データは聞いてください。
    (それでも、各SIPアプリの傾向は掴めるため、参考になると思います。)

    検証対象は以下のSIPクライアントとします。
  • Zoiper IAX SIP VOIP Softphone
  • Acrobits Groundwire
  • CSipSimple


    [検証環境]
  • WX12K(GP-712とBT接続済)
  • L-01F(Asteriskに接続)
  • SH-07D(遅延計測用 ドコモ音声SIM使用)

    [回線種別]
  • Wi-Fi(光回線)
  • LTE(ドコモ)

    [使用コーデック]
  • iLBC

    [録音環境]
  • 「FUSION IP-Phone SMART」の留守電(128kbps RIFF-WAVE)

    [遅延測定条件]
  • 「L-01Fから音声を発信してから、SH-07Dがそれを受信する」までのタイムラグの測定

    [音声の元データ]


    [検証結果]

    SIPクライアント 音質 遅延時間
    Wi-Fi LTE
    Zoiper

    353ms 423ms
    Acrobits Groundwire

    301ms 392ms
    CSipSimple

    478ms 369ms



    ◆ Zoiper の検証

    [音質]

    ザラザラした音の中に、さらに若干のノイズが混じっています。
    お世辞にも「高音質」とは言えません。
    実際にリアルタイムに耳で聞いてみても、あまり良い音質とは言えませんでした。

    遅延時間については問題ありません。Groundwireには及びませんが、十分高速です。

    ただ、やはり音が汚いのが気になります。
    これは同一環境で何度試験しても、このような結果となりました。

    しかし、なぜか通常の音声通話においては、非常にスムーズな会話が可能です。
    また、ゲームセンターのような騒々しい場所での通話も可能でした。


    [使い勝手]

    最高に使いやすいです。
    電話帳との連携も完璧で、VoIPを使っていることを意識しません。

    また、自前でSTUNサーバを持っているため、NAT超えの設定も非常にシンプルです。
    「STUN」にチェックするだけです。

    なお、3G/LTEとWi-Fiとで、いちいち発信アカウントを切り替える必要もありません。
    発信時に現在接続中のアカウントが簡単に選択できます。



    ◆ Acrobits Groundwire の検証

    [音質]

    バックミュージックが聞こえなくなるぐらいに、元の音質から変化します。
    そのぐらいに「音声部分のみ」取り出そうとしていることがわかります。

    独特の音質なのですが聞き取りやすい音声で、ノイズもありません。
    しかし、なんとなく声が震えているような、文節の始まりと終わりに波があるような、そんな印象はあります。(しかし、実際の会話ではそのようなことは一切ありません。)

    (騒々しい場所での通話は未検証です。)


    [使い勝手]

    電話帳との連携は完璧です。

    しかし、3G/LTEとWi-Fiとでいちいち発信アカウントを切り替える必要があり、これがかなり煩わしく感じます。
    「あれ?なんで発信できなんだ?」と思うと、アカウントの切替を忘れているためだったりします。



    ◆ CSipSimple の検証

    [音質]

    音は若干こもった感じに聞こえますが、一番忠実に音声を再現しているのは、やはりこれです。
    ただし、音声は忠実に再現すれば良いというわけではないため、音質については好みが分かれると思います。

    なお、騒音下においては、その騒音も忠実に再現され、話が聞き取りにくくなります。
    しかし、音声と環境ノイズとが混ざって、消去されてしまうようなこともありません。


    [使い勝手]

    電話帳との連携は完璧です。
    完璧どころか、電話番号によって利用先回線を切替えたり、別途プラグインによりコールバック機能を持たせたりと、様々なことができます。

    まさに、かゆいところに手が届く使い勝手となっています。
    これについては文句なしです。

    しかしネットワークの詳細設定をアカウントごとに変えられない不思議な仕様となっています。
    これが原因で「3G/LTE」と「Wi-Fi」をシームレスに使うことができません。
    (3G/LTEだけかWi-Fiだけかの運用になってしまいます。)



    【 まとめ 】

    今回は「Zoiper」を推奨したくて、本記事を書き始めたのですが、実際に検証してみると、結局は「Acrobits Groundwire」の音質が、頭一つ抜けていることがわかります。

    しかし、「Zoiper」はなぜだか使いやすく感じます。
    まず、相手から自分へ届く音声のクリアさにびっくりします。

    これは、「Groundwire」など比較にならないぐらい高音質です。
    今まで検証したSIPクライアントの中で、最も高音質に感じます。

    実は、Zoiperはこれが理由で「素晴らしく感じているだけ」のプラシーボなのかも知れません。



    なお、今回は取り上げませんでしたが、どんなSIPクライアントを使っても低音質になってしまう「SC-01F」(Galaxy Note3)が、唯一「Zoiper」では高音質で安定させられました。
    この機種が高音質で使えるとなると、他のどんな機種でも安定して使えそうな気がします。

    また、NAT越えもチェック一つで簡単にできます。


    Zoiperの良い所をまとめると以下のとおりです。

  • どんな機種でも高音質になる。(と予想する。)
  • NAT越えに悩まない。
  • 3G/LTEとWi-Fiの切り替えがない。
  • バッテリー消費量が少ない。

    以上のことから、「Zoiper」も「Groundwire」に負けないぐらい優れたSIPクライアントと言えます。
    さらに、これほどの性能を持っていながら、無料であることも非常に評価できます。

    今まではずっと「Groundwire」を使っていましたので、これからはしばらく「Zoiper」を使ってみて、その評価を確実なものにしていきたいと思います。



    [2015.03.02追記]

    【 Zoiperの設定について 】

    本記事を書いてからしばらく「Zoiper」を使っていました。
    結論として、私は「Groundwire」ではなく、「Zoiper」を常用しようと思います。

    なお、「Automatic Gain Control filter」という項目をOffにすることにより、音質が激的に改善しました。
    本記事の検証結果はこの項目が「On」(デフォルト)です。
    これだと音が汚いだけでなく、相手に届く音量が極めて小さくなります。

    以下に理屈ではなく、私の実使用環境において最適であった設定を紹介します。
    (音質やネットワーク及び使い勝手に関する部分のみ抜粋。赤字は音質に影響する部分。)


    <Accounts>
    Enable on start : ON (アカウント有効)
    Audio Codecs Settings : iLBC30 (高速回線であってもこれのみ)
    Network Settings → NAT : キャリアSIMとプライベートIP付与のMVNOは「Use STUN」 それ以外は「No」

    <Audio>
    Echo cancellation : Off (エコーがかからない状況ではOffが良い。)
    Automatic Gain Control filter : Off (On→Off必須)
    Incoming Call Vibration : On (マナーモード以外でもバイブを有効)
    Speaker Gain : 0dB (受話音量調整)
    Use Less CPU(Lower Quality) : Off (低速スマホでもOffで良い。)

    <Connectivity>
    Keep alive WiFi : On (WiFi切断防止)
    Stay awake : On (常時起動)
    Run in background : On (常時着信可能)

    <Advanced>
    Strip .-()[]{}/ in caller-id : On (電話帳から不要な文字列を削除して発信する。)
    Start with Android : On (スタート時起動)
    Dialer integration : On (電話帳連携)
    Use default account : Off (Offにしていると発信時にアカウントが選べる。)