2013年7月30日火曜日

root化端末を使わずに「G-Call050」のSIP情報を取得する方法

いままでは「G-Call050」のSIP情報を抜くためにはroot化端末が必須でしたが、今回はroot化端末を使わずに「G-Call050」のSIP情報を取得する方法を紹介します。


基本的な考え方はこちらの記事で紹介したものと同様になります。
「G-Call 050」のSIP情報を抜く方法

これまでは、root化スマホや脱獄iPhoneを持っていない人は、これを実現できませんでした。
しかし、先日「root化端末不要で、SIP情報の取得に成功した」とコメントを頂きました。(Goさんありがとう!)

これにより、root化端末を用意する必要がなくなり、「G-Call050」を他SIPクライアントで使う難易度が一気に下がりました。
しかし、この方法はSIP情報の取得に、Androidの開発環境(Eclipse)を用いるため、root化が不要になったとは言え、まだ簡単になったとは言えません。

そこで、Eclipseを用いた「G-Call050」のSIP情報を取得する方法を、順を追って説明していきます。


※ 作業前に、スマホ側の「G-Call050」は終了させておいてください。複数アクセスはレジストに失敗します。



【手順】

説明はこの手順どおり進めていきます。

  1. Google Chrome(ブラウザ)のインストール(説明割愛)
  2. APK Downloader の導入
  3. Android SDK と Eclipse のインストール
  4. Eclipse に G-Call050 のインストール
  5. SIP情報の抽出



【APK Downloader の導入】

これは「Google Chrome」で Google Play Store のアプリを直接PCにダウンロード出来るようになるプラグインです。


「Google Chrome」に「APK Downloader」を追加します。

以下のサイトにアクセスし、
APK Downloader

「Download Now」から「1.5.0.crx」をダウンロードします。(記事公開時でVer1.5.0)

「Google Chrome」の拡張機能に「APK Downloader」を追加します。
(Chromeの拡張機能の画面を開き、その中にD&Dで追加できます。)
※ D&D:ドラッグアンドドロップ

ここまででわからなければ、他サイトにChromeへのプラグイン追加方法として、たくさん情報がありますので検索してみてください。


ここからが、「APK Downloader」の使い方になります。
まずこのプラグインを追加した時点で次のような画面になりますので、GoogleアカウントとスマホのデバイスIDを入力します。




デバイスIDの確認方法は、スマホでこの番号「*#*#8255#*#*」に電話をかけてください。(電話がかかるわけではありません)
ズラーと文字が表示されたと思いますが、この中で「Device ID:android-○○○○」という部分があると思います。
この○○○○が端末の「Android Device ID」になります。



Google Playの「G-Call050」にアクセス>します。
そして、赤丸の部分を押すと、「G-Call050」のインストールパッケージ(APK)がPCにダウンロードできます。






ダウンロードした「com.ageet.brastel.GCall050.apk」は後ほど使います。
ここでは仮にCドライブ直下に「apk」というフォルダを作成し、そこに保存します。
(C:\apk\com.ageet.brastel.GCall050.apk)

「G-Call050」APKの保存はこれで修了です。



【Android SDKとEclipseのインストール】

「Android SDK」と「Eclipse」はAndroidのアプリの開発や試験を行う環境を作るものです。
「Android SDK」(Android Software Development Kit)がアプリ開発で、「Eclipse」がスマホのエミュレータです。
今回はこれを用いて「G-Call050」のSIP情報を抽出します。

まずは次のサイトにアクセスし、「Android SDK」と「Eclipse」のセットをダウンロードします。「Download the SDK」からダウンロードできます。(記事公開時でVer20130717)
http://developer.android.com/sdk/index.html

ダウンロードが完了したら “日本語名を含まないフォルダに” 解凍してください。解凍後に移動しても問題ありません。
私はCドライブ直下の “C:\adt-bundle-windows-x86-20130717” に解凍しました。
今後、この場所を想定して話を進めていきます。



【Eclipseの起動】

今回の目的は「G-Call050」のSIP情報取得なので、Android SDKとEclipseの機能には触れません。
まずは早速「Eclipse」を起動します。
“C:\adt-bundle-windows-x86-20130717\eclipse\eclipse.exe”

「Eclipse」を起動すると次のようにワークスペースの場所を聞かれますが、パスに日本語を含まない場所を選びます。
私は “C:\workspace” としました。
「OK」を押します。




次の画面はGoogleに情報を送るか否かです。Yes/Noどちらでもかまいません。
「Finish」を押します。




「Android Virtual Device Manager」を起動します。




「Android Virtual Device Manager」が起動したら「New...」を押します。




エミュレートするデバイスを選択します。
低スペック機種を選びます。これで「OK」を押します。(ハイスペック機を選択したらメモリが足りず起動しなかった。)
AVD Name:NexusS
Device:Nexus S(4.0",480 x 800:hdpi)
Target:Android 4.2.2 - API Level 17




「Android Virtual Device」のリストにNexusSが追加されましたので、それを選択して「Start...」を押します。




「Launch」を押します。




起動までに非常に時間がかかりますのでしばし休息です。




起動を確認したら、これはこのまま終了させずに次の作業に移ります。





【G-Call050のインストール】

「Android Virtual Device Manager」でエミュレートされた端末に「G-Call050」をインストールします。
【Android SDKとEclipseのインストール】の項目で保存した、「com.ageet.brastel.GCall050.apk」が「G-Call050」のインストールパッケージになります。


まずはコマンドプロンプトを開きます。




コマンドラインを打ち込むのが面倒くさいので、ここはすべてD&Dで対処します。
コマンドプロンプトに「adb.exe」をD&Dします。(「adb.exe」の保存先は下記)
C:\adt-bundle-windows-x86-20130717\sdk\platform-tools\adb.exe
ここではまだ確定はしません。(エンターを押さない。)




続けて、スペースを入力後「install」と入力します。その後、またスペースを入れます。
␣install␣

更に続けて、コマンドプロンプトに「com.ageet.brastel.GCall050.apk」をD&Dします。
これでコマンドプロンプト上には次のように入力されていると思います。
C:\adt-bundle-windows-x86-20130717\sdk\platform-tools\adb.exe install C:\apk\com.ageet.brastel.GCall050.apk

このままエンターを押すとエミュレートされたAndroidデバイスに「G-Call050」のインストールが始まります。




インストールには時間がかかりますが、成功すると次のような文字が表示されます。
「Success」




Eclipseに戻りメニューを開いてみます。




「G-Call050」がインストールされています。




これを押して、「G-Call050」を起動します。





通常どおり「G-Call050」にユーザIDとパスワードを入力します。
そして、「Proceed」を押します。

User ID:電話番号
Password:登録時に送られてきたメールに記載されています。




「G-Call050」が起動します。





【SIP情報の抽出】

「Android Virtual Device Manager」で「G-Call050」が起動している状態のまま、次の作業に移ります。


まずは、「Android Virtual Device」の選択画面を閉じます。




「DDMS」を起動します。



「File Explorer」タブを押します。




「SettingsANDTemplates」を抽出します。
保存先は下記です。
data/data/com.ageet.brasterl.GCall050/databases/

「SettingsANDTemplates」を選択して、「Pull a file from the device」を押します。




「SettingsANDTemplates」を任意の場所に保存します。






これさえ抽出してしまえば「Eclipse」は不要なので、終了させておきます。
(G-Call050は同時に複数端末からアクセスできないため。)

あとは「SettingsANDTemplates」からSIP情報を抽出するだけです。
「G-Call 050」のSIP情報を抜く方法>の[PCでの作業]と同様になります。


(上記ページの該当部分をこのページにも転記します。)


[PCでの作業]

PCでデータベースを読むために「SQLite Database Browser」をインストールします。(SQL形式が読めれば何でも良い)

「SettingsAndTemplates」を「SQLite Database Browser」で開きます。

Table:「PROFILE_SETTINGS」に設定情報が書いてあるので、これをメモします。
必要な情報は次のとおりです。
  • Profile/Account/Domain
  • Profile/Account/UserId
  • Profile/Account/Password
  • Profile/Account/Proxy

    上から順にこのような値です。
    sip.g-call.com
    xxxxxxxxxxxxxxxxxxxx(たぶん20桁)
    xxxxxxxxxxxx(たぶん12桁)
    basix-proxy.brastel.ne.jp
    (「UserId」と「Password」以外は共通です。)


    抜き取ったSIP情報を使い、CSipSimpleを設定します。

    サーバ:sip.g-call.com(ポート番号は書かない)
    ユーザ名:xxxxxxxxxxxxxxxxxxxx
    パスワード:xxxxxxxxxxxx
    プロキシ:basix-proxy.brastel.ne.jp:5060




    以上が「root化端末を使わずに「G-Call050」のSIP情報を取得する方法」です。
    なにか間違いなどがありましたら、ご指摘頂けると助かります。
  • 2013年7月22日月曜日

    CSipSimple の最適化 「G-Call050」編

    「G-Call050」をより快適に使用するために、「CSipSimple」の設定を自分なりに最適化していきました。ここではその経過を報告します。

    まずは、「CSipSimple」の設定の変更により、通話品質がどの程度変化するのかを検証します。もちろん、自分の聞こえ方ではなく、相手側にどのように聞こえているかの検証です。

    その検証結果を基に、「G-Call050」に最適な「CSipSimple」の設定を見つけたいと思います。


    まず、「G-Call050」ってなに?という人は次の記事を参照してください。
    スマホでIP電話「G-Call050」のすすめ

    「G-Call050」は専用アプリでしか使えないのでは?と思う人は次の記事をご覧ください。
    「G-Call 050」のSIP情報を抜く方法



    【CSipSimpleの設定項目について】

    まず、「CSipSimple」には大枠として下記設定項目があります。
  • 簡易設定
  • ネットワーク
  • メディア
  • ユーザインターフェース
  • 通話オプション
  • フィルター

    これら設定の中で通話品質に関わりそうなものをピックアップします。

    <ネットワーク>
  • QoSを有効
  • DSCP値
  • コンパクトSIPを使用
  • ICEを有効


    <メディア>
  • エコーキャンセル
  • エコー除去
  • エコーモード
  • 音声検出
  • メディア品質
  • クロックレート
  • 音声フレーム ptime



    【CSipSimpleの音質に関わる設定の説明】

    以下は私流の解釈です。正直言って良くわかっていないです。間違ったものがありましたら、ぜひ教えてください。

    [QoSを有効]

    QoS(Quality of Service)

    超混雑時などでスマホの通信は遅くなると思います。数kBの読み込みすら時間がかかります。
    しかし、それだけ混んでいる回線でも通話は難なくできます。

    このように同じ3G通信の中でも、通話に使う帯域は優先して確保されます。
    これが「QoS」です。

    しかし、これを使うにはサーバ側の対応が必要なため、「G-Call050」の通常利用では使えません。
    (検証から除外)


    [DSCP値]

    DSCP(Differentiated Services Code Point)

    これもQoSと似ているのですが、こちらはパケット自体に優先度を判断する情報を乗せて通信します。
    これもサーバ側(SIPサーバ)の対応が必要なため、使えません。
    (検証から除外)


    [コンパクトSIPを使用]

    検索しましたが、その意味はよくわかりませんでした。
    SIP通信を圧縮し、それにより容量が減らせるため、ハード側のメモリーを節約できる的なことが書かれていました。

    これは、G-Call050サーバ側の対応を確認したいため、検証しました。
    しかし、そもそもSIP自体が非常にコンパクトなため、どの程度効果があるかは分かりません。


    [ICEを有効]

    ICE (Internet Connectivity Exchange)

    SIP通信でNAT越えをする際に使用します。
    また、相手側まで最短ルートで到達できるように最適なネットワークルートを自動で探し出します。

    NAT越えが目的ではなく、これを有効にすることで、ネットワーク上の最短ルートを通過できるのか確認したく、検証しました。

    [エコーキャンセル]
    [エコー除去]
    [エコーモード]


    エコーはそのままの意味ですので説明は割愛します。
    なお、エコーは遅延時間が大きいほど増加します。

    エコー除去時間はデフォルトの200msでは短すぎるため、「G-Call050」の遅延時間に合わせ、300msを設定し検証しました。
    なお、300という数字の根拠は、過去に行ってきた検証結果からの経験値です。


    [音声検出]

    これは音声を検出した場合以外の音声を無音にするものです。
    人間がしゃべり始めた瞬間を検知し、その瞬間から音声が聞こえなくなるまでの間だけマイクを有効にする、といったイメージです。

    これは、OFFのほうが明らかに良いとは思うのですが、あらためて検証してみることとしました。


    [メディア品質]

    説明では「メディアストリームの品質」となっているので、これはメディアストリームのことと解釈します。(違うかも知れません。)

    メディアストリームとは、1本につき1メディアを送信するコネクションを確立するためのものです。
    例えばビデオ通話では映像の送受信で2本分、音声の送受信で2本分、計4本のメディアストリームが必要と言うことになります。

    これが、私の考える「メディアストリーム」であれば、4は大きすぎです。2で十分のはず。そのため、4と2の2パターン検証しました。


    [クロックレート]

    「CSipSimple」には「オーディオチャンネル周波数」との説明がありますが、詳細がわかりません。
    送信するときのサンプリングレートなのか、受信時のものなのか分からないため検証してみました。


    [音声フレーム ptime]

    これは、何ms間隔で音声パケットをひとかたまりとするかを決定するものです。
    少ない時間の方が遅延時間は小さくなりますが、それだけ音声パケットが細切れになるということです。
    これを小さくすることにより、遅延時間は減少しますが、ゆらぎは増加するはずです。

    これは回線状況とSIPサーバにより、最適値はかなり左右されるはずなので、5、10、15、20の4パターン検証します。



    【検証前の準備】

    検証条件は次のとおりです。(前回とほぼ同様)
  • 光回線へWi-Fi接続、使用する音声コーデックはSILK(8kHz)とする
  • PCスピーカの音声を拾う
  • 音質の検証は「FUSION IP-Phone SMART」の留守電を使用
  • 遅延時間の測定は「IP電話→携帯電話」通話時の音声波形より抽出
  • 遅延時間の測定は1点ではなく、1分程度の連続した通話の中で、複数の測定点を設け、その平均値とする
  • 検証する項目以外の設定は、一部を除きすべてデフォルトとする(エコーキャンセルだけOFF)



    【音質検証結果】

    (夜中に録音している関係上、音量は小さめです。)

    <音声の元データ>



    [検証結果一覧]
    メニュー 項目 状態 デフォルト
    設定
    遅延時間 録音データ
    ネットワーク コンパクトSIPを使用 OFF 379ms
    ON   373ms
    ICEを有効 OFF 379ms
    ON   366ms
    メディア エコーキャンセル OFF   379ms

    ON 388ms

    エコー除去 300ms 200ms
    エコーモード シンプル 自動
    音声検出 OFF 379ms

    ON   365ms

    メディア品質 4 379ms

    2   365ms

    クロックレート 8kHz   383ms

    16kHz 379ms

    44.1kHz   411ms

    音声フレーム ptime 5   344ms

    10   370ms

    15   424ms

    20 379ms




    【検討・考察】

    <ネットワーク>

    [コンパクトSIPを使用]
    ONにすると遅延時間が若干改善されました。誤差だとは思いますが、ONにしたときの副作用もないため、ONで使います。


    [ICEを有効]
    ONにすると遅延時間が若干改善されました。ネットワーク上の最短ルートを通ったのか判断はできませんが、これも上記と同様ONにします。


    <メディア>

    [エコーキャンセル]
    これをONにしても音質にはほとんど影響がないようです。しかし、ONで遅延時間が増加しています。
    これは、エコーをキャンセルするために、時間的バッファが必要になるためです。
    OFFに設定します。


    [音声検出]
    良い意味で予想を裏切ってくれました。
    これをONにすることで遅延が改善されています。
    無駄な処理を無くすことで負荷が減るのでしょうか?理由はわかりませんが、ONで使用します。

    以前、これをテストしたときは、ONで明らかに音質が落ちたのですが、そのときはエコーキャンセルと一緒に設定していました。
    もしかすると、単体での使用に威力を発揮する?いずれにしてもONでしばらくは様子見です。


    [メディア品質]
    予想を外しました。
    これは、どうやらメディアストリームのことではないようです。2に設定すると、遅延は若干改善されるのですが、それ以上に音質が劣化します。
    デフォルトの4で使用します。


    [クロックレート]
    クロックレートの変更で音質はほとんど変化しないようです。44.1kHzの時だけ音質が若干まろやかになったような気がします。(プラシーボかも・・・)
    いずれにせよ、レートの増加で遅延時間も増加します。
    これは、16kHzで使用します。


    [音声フレーム ptime]
    5にときに激的に遅延が改善されます。しかし、激的に音質が劣化します。
    10~20ではもうほとんど変化がありません。遅延は15のときには増加しています(誤差?)。
    それでしたら20で十分です。



    【最適なCSipSimpleの設定】

    以上のことをまとめます。
    「G-Call050」に最適な「CSipSimple」の設定は次のとおりです。

    <ネットワーク>
  • コンパクトSIPを使用
         → ON
  • ICEを有効
         → ON


    <メディア>
  • エコーキャンセル
         → OFF
  • 音声検出
         → ON
  • メディア品質
         → 4
  • クロックレート
         → 16kHz
  • 音声フレーム ptime
         → 20ms

    (コーデックは SILK 8kHz のみ使用)


    なお、コネクションキープアライブの設定は自分の環境に合わせて、適宜設定します。

    私の設定は以下のとおりです。
    これは、何も検証していない適当な数値です。

    WiFi UDPキープアライブ:600
    モバイル UDPキープアライブ:600
    WiFi TCPキープアライブ:600
    モバイル TCPキープアライブ:600
    WiFi TLSキープアライブ:3600
    モバイル TLSキープアライブ:3600

    その他は全てデフォルトです。


    以上の最適化をすべて行ったものと、デフォルトを比較しました。

    回線種別 状態 遅延時間 録音データ
    Wi-Fi(光) デフォルト 382ms

    最適化 387ms

    3G回線 デフォルト 577ms

    最適化 496ms


    Wi-Fi接続時はほとんど変化がありません。。
    3G回線の方は、激的に遅延が改善されています。真偽の程はわかりませんが、データ上の結果は非常に良好です。

    これは、短期間で結論が出せる話ではないため、今回の検証により最適化した(つもりの)「CSipSimple」と「G-Call050」で、しばらく使用してみて実証実験をしたいと思います。

    結果は後ほど追記します。
  • 2013年7月11日木曜日

    「wi2 300」の検証と使いどころ

    「BIC SIM」のMicroSIMサイズがどこも売り切れで、我慢できずに「wi2 300」だけ契約してしまいました。
    ここでは「BIC SIM」のおまけ的存在の「wi2 300」を検証したいと思います。



    【wi2 300とは?】

    Wimaxはご存じでしょうか。それと同類のサービスなのですが、内容は同等ではありません。まるで異なります。

    [Wimaxの特徴]
  • APから広範囲(3km程度)に電波が届く
  • 最大速度は40Mbps
  • 専用端末(ルータなど)が必要
  • 月額2~3000円程度

    wi2 300 の特徴]
  • AP周辺(数十メートル)しか電波が届かない
  • 最大速度は300Mbps
  • 専用端末は不要(スマホやタブレットなどに設定するだけ)
  • 月額390円
  • 1契約で複数端末での利用が可能



    【wi2 300 の使いどころ】

    速度は非常に速い「wi2 300」ですが、その使いどころは限られます。

    まず、私の通勤経路(埼玉の田舎~都内)での駅はほとんど使えました。
    また、公式ページにも書いてありますが、マクドナルドやスタバなど主要なカフェ等でも使えます。

    しかし、移動中の利用は全くできません。歩くだけでも通信はすぐに切断されます。
    これが「wi2 300」の特徴です。

    超高速通信が可能ですが、その利用は移動中でないことが求められます。
    つまり、「wi2 300」は、駅での電車待ちの間や、カフェ等で落ち着いて利用することが前提となります。



    【速度検証】

    計測はすべて駅の中(電車内含む)です。

    通常時と混雑時(朝のラッシュアワー)の2パターンの検証を行いました。
    検証結果は下記のとおりなのですが、何度も測定しているうちに気付いたことがあります。
    どうやら「wi2 300」は混雑にはあまり影響していないようなのです。
    大きく影響するのは「場所」でした。

    速い場所はいつ測っても速いです。
    遅い場所はいつ測っても遅いです。

    [速い場所]
    平均速度(DL):13.64 Mbps
    平均速度(UP):16.18 Mbps
    平均Ping:28 ms
    備考:検証する必要がないほど速い

    [遅い場所]
    平均速度(DL):1.79 Mbps
    平均速度(UP):1.73 Mbps
    平均Ping:91 ms
    備考:超満員電車内では通信不可(人の壁で電波を遮断していると予想)



    【まとめ】

    「wi2 300」は、これを3G回線の代わりにしようと考えている人がいたら、それはお勧めできません。
    歩くだけで通信が切れるなんて使い物になりません。
    そもそも、そんな利用方法は根本的に間違っています。もったいないです。

    「wi2 300」はカフェ等でまったりとコーヒーでも飲みながら利用するものです。
    また、朝のラッシュで使用不能となる3G回線の代わりとしても適しています。

    それと、「wi2 300」にはもう1つ大きな利点があります。
    それは複数端末で利用できることです。
    私は1契約(390円)で次のように利用しています。
    1. 私のタブレット「dtab」 《 wi2 300 》
    2. 私のスマホ「P-06D」 《 ドコモ通信専用 + wi2 300 + G-Call050 》
    3. 妻のスマホ「F-08D」 《 ドコモ音声専用 + wi2 300 》
    4. 妻の3DS 《 wi2 300 》
    5. 子供のスマホ「IS06」 《 au SIM無し + wi2 300 + 050plus 》
    こんなに遊べる「wi2 300」は、あまりにも私にピッタリです・・・。
    もっと早くこのサービスの存在に気付きたかったと思うぐらいです。

    なお、子供(2歳)のスマホは、もしデパートなどで迷子になった場合に役立つかな、と思ってのことと、電話ごっこのためです。

    いや、もう「~ごっこ」通り越して方向がズレていますが・・・。



    【参考】

    検証に使ったスピードテストのデータ(埼玉~都内)です。
    遅い時でもこれだけの速度が出ていれば十分すぎます。

    DL(Mbps) UP(Mbps) Ping(ms)
    5.99 8.06 27
    12.95 10.20 24
    12.94 17.90 27
    14.16 20.19 24
    16.07 18.50 27
    17.49 16.74 27
    15.86 21.68 42
    1.02 1.18 32
    0.63 1.99 61
    1.36 2.65 37
    1.01 1.56 42
    0.44 1.01 102
    1.09 0.25 45
    0.63 0.13 199
    0.68 0.62 219
    1.68 1.82 135
    1.61 2.05 150
    1.21 0.42 188
    0.82 1.48 56
    0.85 1.96 59
    1.32 4.78 27
    1.37 4.28 30
    0.38 1.50 47
    1.14 2.70 50
    0.31 0.36 115
    4.58 4.56 100
    4.59 1.40 105
    3.86 0.38 94
    5.52 1.13 99
    4.98 1.51 106
    6.80 2.64 191
    7.45 3.98 208
    3.57 3.38 208
    7.18 2.95 223
    5.00 2.35 174
    3.15 5.32 164
    4.22 6.54 162
  • 2013年7月10日水曜日

    おすすめ契約スタイル相談

    この記事は、私の至らないところを他の方にフォローしてもらいつつ、料金プラン等に悩む人の助けになれたらいいな、と言う理想論的なページです。


    最近、連絡フォーム(メール)から料金プランの相談や、とにかく何でもいいから安くしたい、という質問が増えてきました。
    メールで質問を頂いた場合、その方には私の思い浮かぶアイデアをお伝えしています。

    しかし、これは「個人 対 個人」になります。
    他に同様のことを考えている人がいたとしても、その人には情報が伝わりません。

    そのため、できれば「個人 対 複数」に、さらに私(wert)ではない他の方の意見も交えた「複数 対 複数」のページを作りたいと考えています。


    はっきり言って、私などまだまだです。
    間違っていることも多いです。

    そのため、詳しい方がいましたら色々とアドバイスを頂きたいと思っています。
    できる限り理想論に近づけたいので、ご協力お願いします。


    質問や相談は些細なことでも結構ですので、何でもコメントに書いて頂ければと思います。

    2013年7月5日金曜日

    スマホでIP電話「各社の音質比較」編(Part2)

    「050plus」、「G-Call050」、「FUSION IP-Phone SMART」の各IP電話サービスを、アプリや音声コーデックの違いにより、どの程度音質と遅延に影響するか検証しました。



    【音声データの録音】

    以前の検証ではIP電話から携帯電話に電話し、それを録音するものでした。
    スマホでIP電話「各社の音質比較」編 (Part1)

    これだと、携帯電話側の音質の影響を受けていたため、クリアな音質で録音できていませんでした。
    (IP電話側で指定したコーデックに圧縮後、携帯電話用[AMR-NB]に再圧縮される。)

    そこで「FUSION IP-Phone SMART」の留守電で録音される音声が非常にキレイな音質であることに着目し、これで音声を録音し比較することにしました。
    (FUSIONの留守電データは 128kbps RIFF-WAVE です。)



    【遅延時間の計測】

    遅延時間は、Part1のときと全く同じ方法で計測しています。
    「IP電話で音声データを発信してから、携帯電話でそれを受信する」までのタイムラグの測定です。

    なお、携帯電話同士でも200ms程度は遅延するため、IP電話単体の遅延時間を知りたい場合は、この測定した遅延時間から100msを引いた値が本来の値となります。
    ただし、ここでは実用的なデータを載せたいため、「IP電話→携帯電話」の遅延時間をそのまま掲載しています。

    また、今回は光回線による遅延時間の測定しか行なっておりません。
    この理由は、LTE接続や3G接続の場合は、光回線との「応答速度(Ping値)の差分だけ多く遅延する」だけだからです。
    これは何回か検証を繰り返すうちわかりました。

    今回の検証におけるPing値は概ね下記のとおりでした。
    例えばこの場合、LTE接続での遅延時間は、光回線で測定した遅延時間に“60ms”(80ms-20ms)を足すだけで簡単に算出できます。同様に3Gの場合は“110ms”(130ms-20ms)を足すだけです。
  • 光回線:20ms
  • LTE:80ms
  • 3G:130ms

    遅延時間に関してはこの算出方法で求めたほうが、実測値より確実になります。
    なお、実測値による測定結果を知りたい場合は<Part1>で検証していますので、参考にしてください。



    【各IP電話の音質及び遅延時間】

    <音声の元データ>



    IP電話
    サービス
    SIP
    クライアント
    音声コーデック 音声データ 遅延時間
    050plus 純正アプリ G.729a

    415ms
    G-Call050 CSipSimple G.711u(PCMu)

    328ms
    SILK(24kHz)

    374ms
    SILK(8kHz)

    392ms
    GSM

    363ms
    G.729a

    395ms
    Acrobits
    Softphone
    G.711u(PCMu)

    412ms
    G.729a

    606ms
    純正アプリ 品質「高」

    445ms
    品質「低」

    451ms
    FUSION
    IP-Phone SMART
    CSipSimple G.711u(PCMu)

    468ms
    G.722

    493ms
    Speex(8kHz)

    541ms
    iLBC

    491ms
    GSM

    451ms
    Acrobits
    Softphone
    G.711u(PCMu)

    478ms



    【検証結果と考察】

    実は、この検証を最後に「050plus」は解約するつもりでした。しかし、今回の結果をみて、思いとどまってしまいました。
    これは、音声データを聞いて頂ければわかることなのですが、正直言って音質は悪いです。ですが、ノイズもなく聞き取りやすい音質なのです。

    これがこの検証を経て一番最初に思ったことです。


    さて、詳細に入ります。

    まず、「050plus」の音声コーデックは「G.729a」が使われています。
    実は、これは「G-Call050」も対応しており、この両者を比較した場合、音質は明らかに「050plus」の方が明瞭です。

    これは「050plus」のアプリが非常に優れているためです。
    「050plus」は原則として自社製アプリでのみ動作します。そのため、そのアプリは「050plus」のみに最適化すればよく、他のIP電話サービスのことなど考える必要はありません。
    つまり、確実に「050plus」に最適化されたアプリに仕上がっています。

    一方「G-Call050」で使用したアプリは、「G-Call050」以外にも多種多様のSIPに対応する必要があります。
    そのため、アプリの設定のよる最適化はユーザ側に委ねられています。

    私は本検証に際し「CSipSimple」を「G-Call050」用に最適化していません。
    これが、この音質の差に繋がったと思われます。
    「CSipSimple」の詳細設定をもう少し煮詰めていけば、「G-Call050」の音質はもっと良くなるかと思います。

    しかしそれを考えると、何も考えずに使える「050plus」は素晴らしいの一言です。

    ・・・と、ここまで「050plus」をべた褒めしましたが、結局電話としての性能は「G-Call050」に分があります。
    会話のしやすさに関しては、音質よりも遅延時間で、しかも音声コーデックに「SILK」が選べる「G-Call050」は文句のつけようがありません。


    さて、各IP電話を横並びで比較すると、やはり遅延時間に差が出ています。
    また、遅延時間は音声コーデックよりも、アプリやIP電話のサービス自体に大きく依存します。

    アプリによる遅延は「G-Call050」の「CSipSimple」と「Acrobits」とを比較すると明らかです。

    IP電話サービスによる遅延は「G-Call050」と「FUSION IP-Phone SMART」とを比較すると明らかです。



    【まとめ】

    [G-Call050]

    IP電話としての性能を追求するならば、圧倒的に「G-Call050」がお勧めです。
    「G-Call050」と「CSipSimple」の組み合わせは、他のサービスを大きく引き離しています。

    私は、固定電話にかけるときは3G回線(LTEでない)でも、「G-Call050」と「CSipSimple」の組み合わせをメインに使用しています。
    これで全く違和感なく電話できています。
    (ケータイを解約したい衝動に駆られるぐらいです。)

    ここまで「CSipSimple」を前提に言っていましたが、もちろん純正アプリでも問題ありません。
    「G-Call050」は純正アプリを使用した場合においても、音質と遅延時間、及び「お手軽さ」のバランスが良くお勧めです。
    まずは3ヶ月間の無料期間の間だけでも、試してみる価値は十分にあると思います。


    [050plus]

    まずは何と言っても、「ゼロ・ゴー・ゼロ・プラスへおつなぎします」のガイダンスが特徴的です。
    「050plus」で電話を受信した場合、相手方には必ずこのガイダンスが流れます。
    これが許せるのであれば、「050plus」は非常にお勧めです。

    ふざけているわけではなく、ポイントは本当にこの“ガイダンス”かと思います。
    以前紹介しましたが、私の母はこの“ガイダンス”を聞いて、留守電と勘違いして電話を切っていました(^_^;)

    最後になりましたが、IP電話としての機能は申し分ありません。
    音質もまずまずで遅延も少ない、そして何も考えずに使えます。


    [FUSION IP-Phone SMART]

    これは使う人を選びます。
    万人におすすめできるIP電話ではありません。

    音質はキレイです。しかし遅延時間が大きすぎます。
    これでは会話にかなりの違和感を覚えるはずです。

    多分、いつもどおりには会話できないと思います。

    「FUSION IP-Phone SMART」を使った場合は、電話の相手も「この電話は遅延する」という理解が必要になります。
    遅延を理解した上で利用できるような環境(友人同士など)であれば、特に問題はないと思います。

    また、「FUSION IP-Phone SMART」は月額は無料なのですが、通話料が高く、発信には向いていません。
    しかし、私のように何かの検証(録音)で使用したり、留守電専用として割り切る分には良いIP電話かと思います。


    IP電話毎に個別に記事も書いています。これらも参考にして頂けたらと思います。
    スマホでIP電話「G-Call050」のすすめ
    スマホでIP電話「050plus」のすすめ
    「G-Call050」+「CSipSimple」=「最良のIP電話」
    スマホでIP電話「各社の音質比較」編
  • 2013年7月3日水曜日

    IP電話に最適な「MVNO」選び

    IP電話を快適に使うために必要なことは、回線の通信速度ではありません。応答速度(Ping)です。

    しかし、よく見かける「MVNO」の紹介記事は大抵の場合、通信速度ばかりに焦点が当てられていて、肝心な応答速度(Ping)についてはあまり重要視されていていません。

    「MVNO」では通信速度など遅くて当然ですから、応答速度(Ping)に重点を置き、IP電話に最適な「MVNO」を探したいと思います。



    【MVNOとは?】

    wikiより抜粋
    仮想移動体通信事業者 (Mobile Virtual Network Operator, MVNO)は、 携帯電話 や PHS などの物理的な移動体回線網を自社では持たないで、実際に保有する他の事業者から借りて(再販を受けて)、自社ブランドで通信サービスを行う事業者のこと。
    
    要約すると、MVNOとは携帯キャリアの回線を、安くユーザに提供してくれる中間業者のことです。

    ただし、安く提供するための条件は、MVNOによって様々です。
    その条件の一つに「通信速度規制」があり、その速度もMVNOによって様々です。



    【なぜ今更MVNOなのか?】

    まず、私が言うMVNOは1000円以下しか考えていません。
    確かに1000円程度であれば安価ですが、これまでに紹介してきた
    ドコモ3台持のすすめ
    変則型スマホ2台持のすすめ
    au/SBからドコモへ「変則型スマホ2台持」のすすめ
    はもっと安かったはずです。

    それなのに、なぜ今更MVNOなのかと言うと、その理由は次の3種類のいずれかです。
    1. ドコモの運営方針の変更待ち
    2. MVNOは運用が簡単
    3. 家族用のケータイ

    ドコモの運営方針の変更待ち

    ドコモは現在、「高額キャッシュバック」や、「高額月々サポート」を打ち切っています。
    今でも、特定の機種だけはその恩恵を受けられるのですが、その特定の機種以外が欲しい場合、お得感がかなり薄れます。(※)

    そこで、次回ドコモが「高額キャッシュバック」及び「高額月々サポート」の戦略を発動するまでの間、MVNOを“つなぎ”として使います。
    そして、ドコモが上記戦略に切り替えたタイミングで、MVNOを解約してドコモにMNP転入します。


    ※ 欲しい機種の月々サポート金額がある程度あれば、MVNOより上記で紹介した「変則運用」の方が節約できます。購入するショップの条件によっても変わってきますので、スマホを買うときは月サポ金額などを良く確認してください。


    MVNOは運用が簡単

    MVNOは契約してから実運用までが非常に簡単です。
    「スマホの使用料は安くしたい。だけど、プリモバイルを契約したりMNPしたり・・・は面倒臭い。」
    このように、『楽して安く!』がモットーな人には非常にお勧めです。


    家族用の電話

    これはかなり本命的な使い方だと思うのですが、家族用のケータイです。
    家族が使うケータイを「MVNO」+「IP電話」にするのです。

    私の場合、これが理由でMVNOを考え始めました。
    家族でなくても、恋人や友人でも良いかと思います。

    IP電話同士であれば、通話はいつでも無料ですし、その他どこに電話をしても通話料は安価です。
    メールにはGmailを使います。(ドコモのメールを使う場合は525円増額)
    これで、電話もネットも可能なスマホが1000円(IP電話代を含めても1300円)で出来上がります。



    【IP電話を前提としたMVNO】

    しかし、いくらIP電話が前提とはいえ、SNSや通常のブラウジング程度は快適に使いたいものです。
    また、たまにはアプリのDLなども行うでしょうから、ある程度の通信速度は必要です。

    それらを踏まえた上で、MVNOに求める条件をまとめます。
    1. 月額利用料は1000円以下
    2. いつでも解約できる契約にする(違約金なし)
    3. IP電話の通信規制なし(日本通信系は規制あり)
    4. 回線速度は200kbps以上
    5. Pingは概ね100ms以下

    これらの条件をすべて満たせるMVNOはかなり限られます。
    以下は、私が主観で選んだ5種類のMVNOです。

  • IIJmio (ミニマム スタート)
  • BB.excite (モバイル LTE 3Gコース)
  • ビックカメラ (BIC SIM ミニマムスタートプラン)
  • OCN (OCN モバイル ONE)
  • BIGLOBE (ライトSSプラン)

    MVNO 料金/月 応答速度
    (Ping)※
    回線速度 速度規制 速度規制後
    回線速度
    備考
    IIJmio 948円 70ms 200kbps 366M/3日 100kbps IIJ系列の本家
     BB.excite  787円 70ms 200kbps 366M/3日 100kbps 紹介中で最も安い
    BIC SIM 945円 70ms 200kbps 366M/3日 100kbps 公衆無線LAN(wi2 300)が利用可能
    OCN 983円 65ms 200kbps 無し 200kbps 速度規制無し
    BIGLOBE 983円 80ms 256kbps 360M/3日 128kbps 回線速度は最速
    ※ Pingは目安です。レビューなどから想定した数値になります。



    【MVNOの選択】

    ここから実際にどこのMVNOにするか迷うところですが、正直言いましてこの5種類のMVNOならば、どれを選んでも失敗はないと思います。

    私が考える各社のポイントは次のとおりです。
    (IP電話を前提にしていますので、他所とは違う意見かもしれません。)

  • IIJmio
      →  IIJ系の本家なので、安心感がある。しかし、付加価値がないため、あえてこれを選ぶ理由はあまりない。

  • BB.excite
      →  少しでも安くしたい人向け(他より約200円安い)。なお、それ以外はIIJmioと同様のサービス。

  • BIC SIM
      →  IIJmioと同様のサービスに公衆無線LAN「wi2 300」が付加されたもの。「wi2 300」に価値を見いだせるならばこれ。

  • OCN
      →  規制もなく安定性はダントツ。ハードに使うならこれ。

  • BIGLOBE
      →  通常速度で256kbpsはこの中で最速。Ping値も他とほとんど変わらないため、速さを求めるならこれ。


    私は「BIC SIM」を選びました。
    理由は自分の使用方法は思ったほどハードではないことと、「wi2 300」に価値を感じたためです。

    購入方法は「BIC SIM」と「OCN」についてはアマゾンから購入可能です。
    それ以外はイオン等の店頭販売のみとなります。
  • NTTコミュニケーションズ OCN モバイル ONE マイクロSIMパッケージ T0003670
  • IIJ BIC SIMウェルカムパック SMS非対応 マイクロSIM 【ビックカメラグループオリジナル】


    まだ購入はしていませんが、購入したら「IP電話」と「wi2 300」を中心にレビューを行います。


    なお、IP電話については別記事で紹介しています。
    スマホでIP電話「G-Call050」のすすめ
    スマホでIP電話「050plus」のすすめ


    [10/1 追記]

    葛藤に負け、「BIC SIM」だけでなく、その他(以下)のSIMも購入してしまいました。
  • IIJmio (BIC SIM ミニマムスタートプラン)
  • OCN (モバイル ONE [30Mコース])
  • BIGLOBE (ライトSSプラン)
  • 楽天ブロードバンド (エントリープラス)

    MVNOにとって最も過酷な時間帯「昼休み」を中心に、4者の速度検証を行いました。
    IP電話に最適な「MVNO」を検証する