2013年6月7日金曜日

「G-Call 050」のSIP情報を抜く方法

「G-Call 050」のSIP情報の抽出に成功しました。これで「G-Call 050」を好きなSIPクライアントで使うことができるようになります。

これにより、専用アプリが弱い「G-Call 050」の弱点がすべてなくなりました。

これでやっと断言できます。
「スマホで使えるIP電話は、G-Call050が一番です。」

ここでは「G-Call050」からSIP情報を抜いて、「CSipSimple」を設定するまでを説明します。

「G-Call 050」については、この記事を参照してください。
スマホでIP電話「G-Call050」のすすめ



【SIP情報の抽出】

まずはroot化したスマホが必要になります。これが用意できないと、残念ながらどうにもなりません。
(root化スマホはないけど、どうしても使いたい方はこの記事の一番下をご覧ください。)

手順は次のとおりです。
  1. root化したスマホで「G-Call 050」のバックアップをとる。
  2. 抜き取った設定ファイルをPCに移動する。
  3. SQL形式の設定ファイルからSIP情報を読む。


では、順を追って説明していきます。


[スマホでの作業]

まずはルート化したAndroidに「G-Call050」をインストールします。

インストールした「G-Call050」にユーザIDとパスを入れて、使える状態にします。

アプリ「TitaniumBackup」を使い、「G-Call050」の設定ファイルごとバックアップします。

バックアップされた3つのファイルのうち、拡張子が「.tar.gz」のもの(APKじゃない方)をPCにコピーします。


[PCでの作業]

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

先程移動した「~.tar.gz」を解凍します。→「data」フォルダが出てきます。
(「.tar.gz」はフリーの解凍ソフトで簡単に解凍できます。)

「data」内の「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」以外は共通です。)

    以上で抜き取りは完了です。これで9割は終了です。



    【CSipSimpleの設定】

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

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

    あとはすべてデフォルトです。
    (設定の最適化は後ほど考えます。)



    【コーデックの選択】

    「G-Call050」の対応コーデックは豊富です。
    次の音声コーデックに対応していることを確認しました。
  • PCMU
  • GSM
  • SILK
  • G.729a
  • speex

    この中から好みのコーデックを選択します。

    これらのコーデックはそれぞれ特徴があり、この場だけでは説明し切れません。
    後ほど「G-Call050の音声コーデック比較」的なものを新規記事で書こうと思います。

    コーデックはスマホのスペックや回線速度によって、どれが適しているかが異なるため、色々と試してみることをお勧めします。

    私はしばらくSILKを使ってみます。



    [6/9追記]

    すみません。対応コーデック間違えました。
    設定ファイル上には「speex」の記載があったのですが、本日録音検証をしていたところ「speex」には対応していないことがわかりました。
    「PCMu・GSM・SILK」では録音までできました。

    しかし、音質に差が出ず再検証中です。
    たぶん、「CSipSimple」の設定によるものかと思っています。

    検証が完了したら、各種コーデックによる音質比較を記事にする予定です。


    [6/21追記]

    「G.729a」に対応していることを確認しました。

    「Acrobits Softphone」を使って音声データを録音したのですが、アプリの質が悪く比較になりませんでした。
    いつか「CsipSimple」で検証したいと思いますが、コーデックG.729aのライセンス料が高いため、躊躇しています。


    [7/30追記]

    「CsipSimple」を使った「G.729a」での検証を行いました。
    スマホでIP電話「各社の音質比較」編(Part2)


    【余談】

    そもそもこの話は2chの「【Skype】Android VoIP/SIP総合 Part3【Viber】」で、ぽっと出た話によるものです。

    「G-Call050」のSIP情報が抜けたというのです。
    唯一の弱点である「専用SIPクライアント」が、これで克服できるのです。

    (余談の余談ですが)これに質問するためだけに、モリタポ2000円分を買おうかと思ってしまったぐらい、私にとっては衝撃的でした。(結局、質問は代行に頼んで書き込んでもらいました。)

    結果、SIP情報の抽出に成功し、「G-Call050」が劇的に使いやすくなりました。

    情報をくれた485氏ありがとうございます。



    【root端末が用意できない人】

    諦めるしかありません。

    しかし、それではあまりに辛いので、root端末を持っている友人を探してください。

    それでもどうにもならない人は、私でよければお手伝いしますので、右メニュー「連絡フォーム」からご連絡ください。(見ず知らずの私にアカウント情報を預ける勇気のある人限定(^_^;) )



    [7/30追記]

    root化端末を使わずに「G-Call050」のSIP情報を取得する方法>を掲載しました。