2015年2月28日土曜日

カケホを契約していない端末でカケホを利用する【つなぐ】

Bluetooth-VoIPゲートウェイから始まった【つなぐ】ですが、いまやその種類が増え、開発中のものを含め、4種類となりました。
種類が増えることは良いことなのですが、それだけ一つ一つが分かり辛くなってきます。




そこで、複数ある【つなぐ】について整理をしたいと思います。


【 「つなぐ」とは何か? 】

以前は、『話し放題を契約したガラケーを、スマホから利用できるようにすること』と、説明していました。
しかし、現在は3G版【つなぐ】や、アプリ版【つなぐ】があることから、その説明が合わなくなってきました。
今の【つなぐ】は、次のような説明がしっくり来ると思います。

『話し放題を契約してない端末から、話し放題を利用すること』


なお、今までの【つなぐ】に関する記事は、ブログ右側(スマホサイトの場合は一番下)のメニュー「つなぐ」からご覧ください。



【 4種類の異なる「つなぐ」 】

現在は以下の4種類の【つなぐ】が存在します。

  • BT-GW版【つなぐ】
  • 3G版【つなぐ】
  • BT版【つなぐ】
  • アプリ版【つなぐ】


    「BT-GW版」、「3G版」、「BT版」【つなぐ】は、VoIPを利用します。
    アプリ版【つなぐ】はキャリア回線(PSTN)を利用します。
    まずは、これが大きな違いとなります。

    各【つなぐ】は、それぞれ特徴が異なりますので、簡単に説明していきます。
    なお、金額の紹介では、月々サポートや各種キャンペーンは除外した料金としています。


    ◆ BT-GW版【つなぐ】
    Bluetooth-VoIPゲートウェイとIP-PBXにより構成されます。
    これと、話し放題を契約したケータイをBluetooth接続することで実現します。
    常時持ち歩く端末はスマホ1台のみです。
    なお、発信者番号は、話し放題回線の番号が通知されます。


    <メリット>
  • 理屈上、PHS含めどのキャリアでも収容できる。

    <デメリット>
  • 高価

    <月額費用>
    話放題回線料(¥1500~2200)
    MVNO料金(¥1000程度から)

    例)1人で利用した場合
      2200+1000=¥3200

    例)5人が個々に使った場合(カケホを2200円として計算)
      (2200+1000)×5=¥16000

    例)5人でシェアした場合
      2200+(1000×5)=¥7200


    ◆ 3G版【つなぐ】
    3Gモデム(話し放題SIM入り)が接続されたIP-PBXのみで構成されます。
    常時持ち歩く端末はスマホ1台のみです。
    なお、発信者番号は、話し放題回線の番号が通知されます。


    <メリット>
  • 音声SIMカードをUSBモデムに直接差し込むため、別途ケータイを必要としない。
  • 導入費がBT-GW版【つなぐ】の約半額。

    <デメリット>
  • 使えるSIMはドコモとソフトバンク(Y!mobileの3G含む)のみ。

    <月額費用>
    話放題回線料(¥2200)
    MVNO料金(¥1000程度から)

    例)1人で利用した場合
      2200+1000=¥3200

    例)5人が個々に使った場合(カケホを2200円として計算)
      (2200+1000)×5=¥16000

    例)5人でシェアした場合
      2200+(1000×5)=¥7200


    ◆ BT版【つなぐ】
    話し放題ケータイとBluetooth接続されたIP-PBXで構成されます。
    常時持ち歩く端末はスマホ1台のみです。
    なお、発信者番号は、話し放題回線の番号が通知されます。

    <メリット>
  • 理屈上、PHS含めどのキャリアでも収容できる。
  • 導入費がBT-GW版【つなぐ】の約半額。

    <デメリット>
  • 非常に相性が強く、そのケータイを収容可能かどうかはやってみるまで分からない。(高確率で収容できない。)
  • LinuxとケータイとをBTペアリングさせる知識を要する。

    <月額費用>
    話放題回線料(¥1500~2200)
    MVNO料金(¥1000程度から)

    例)1人で利用した場合
      2200+1000=¥3200

    例)5人が個々に使った場合(カケホを2200円として計算)
      (2200+1000)×5=¥16000

    例)5人でシェアした場合
      2200+(1000×5)=¥7200


    ◆ アプリ版【つなぐ】
    今までの【つなぐ】とは異色の存在。
    話し放題回線の転送先を変更することにより、別の端末から無料発信が可能。
    家族間無料通話と話し放題回線とを組み合わせることにより実現する。
    上記操作をアプリで自動化することにより、シームレスな発信を行う。
    なお、発信者番号は話し放題回線の番号ではなく、アプリを入れた端末の電話番号が通知される。


    <メリット>
  • キャリア回線を使うため、安定した通話が可能。
  • 初期導入費が安価。
  • 発信者番号を自分の持つ(話し放題ではない)ケータイの電話番号にできる。
  • 着信時は話し放題回線を経由しない。

    <デメリット>
  • 発信するまでに少し時間がかかる。
  • 2台持ちになる。(通信不要であれば、ガラケーのみで1台持ち可)
  • ソフトバンク未対応。
  • (開発中のためまだ利用できない。)

    <月額費用>
    話放題回線料(¥2200)
    au最安料金プラン+Eメール(ガラケー:¥1043 スマホ:¥1234)
    MVNO料金(¥1000程度から)
    アプリ利用料(¥84)

    例)2人で利用した場合(1人で利用は無意味なので2人を掲載)
      2200+(1043~1234+1000+84)×2=¥6454~¥6836

    例)5人でシェアした場合
      2200+(1043~1234+1000+84)×5=¥12835~¥13790



    【 「つなぐ」の選び方 】

    まず、理解して頂いきたいのが、音質についてです。
    音質と言っても、音のキレイさではありません。
    「音声が途切れない」などの品質になります。

    「BT-GW版」、「3G版」、「BT版」はすべてVoIPと呼ばれる技術を用いて通話します。
    VoIPでの通話は、9割は完璧です。
    しかし、残りの1割(電波の弱い場所など)は通話相手がかなり聞き取りづらい状況となります。

    よって、この1割をも網羅するためには「アプリ版【つなぐ】」が必須となります。『VoIP版【つなぐ】』(※)は向きません。

    まず、以上が大前提となります。それを踏まえた上で、以降の導入編をお読みください。


    【つなぐ】を選ぶ上でまず必要なことは、導入費及び月額料金、そして用途です。

    導入費などの金額は、キャリアの施策によって大きく変動します。
    よって、ここでは金額については触れず、用途別に【つなぐ】の選び方の一例を紹介します。
    なお、それぞれの【つなぐ】で何ができるか?ではなく、「○○にはどの【つなぐ】が向いているか?」の形式で紹介したいと思います。


    ※ ここでは「BT-GW版」、「3G版」、「BT版」【つなぐ】を総称して、『VoIP版【つなぐ】』と言います。



    ◆ スマホの2台持ちになっても構わない。・・・アプリ版【つなぐ】

    ◆ 2台持ちは嫌だ、1台持ちにしたい。・・・VoIP版【つなぐ】

    ◆ 回線をシェアして且つ、発信者番号をそれぞれ異なるものとしたい。・・・アプリ版【つなぐ】

    ◆ キャリアの契約を極力減らしたい。・・・VoIP版【つなぐ】

    ◆ 家の固定回線が遅い、もしくは不安定。・・・アプリ版【つなぐ】

    ◆ 利用は自分一人。用途はプライベート。・・・VoIP版【つなぐ】

    ◆ とにかく安くすることが目的。安ければ大抵のことは許容できる。・・・VoIP版【つなぐ】



    【 まとめ 】

    スマホの2台持ちになっても構わない人や、VoIPが嫌な人は、アプリ版【つなぐ】がお勧めです。
    スマホやケータイの2台持ちから開放されたい、スマホ1台に集約したいという人は、VoIP版【つなぐ】がお勧めです。

    しかし、アプリ版【つなぐ】は現在まだ開発中です。(BitBadOldMan氏による)
    開発が完了した時点であらためて紹介するとともに、BitBadOldMan氏への利用申込手段も考えたいと思います。


  • アプリ版【つなぐ】オーダーフォームへ(未設置)

  • VoIP版【つなぐ】オーダーフォームへ(提供終了)



    VoIP版【つなぐ】は多少の英語とLinuxの知識さえあれば、自分でも製作可能です。
    上記のVoIP版【つなぐ】オーダーは自分で作れない人のために、私が一式製作してお送りするものです。
    可能であれば、自分で楽しみながら作ることをお勧めします。

    なお、アプリ版【つなぐ】も、プログラムが書ける人(スマホアプリが作れる人)であれば制作可能です。
    しかし、学生時代に友人の書いたプログラムを、丸写しして提出していたような私にはさっぱりわかりません\(^o^)/
  • 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にしていると発信時にアカウントが選べる。)
  • 2015年2月22日日曜日

    インストールディスクを無くした「Windows7」をインストールする方法

    PCが不安定になってきたため、Windows7を再インストールすることにしました。

    どうせ再インストールするならということで、元々4GB積んでいたメモリを16GBまで増設します。
    さらに、Windows7の32ビット版から64ビット版に鞍替えすることにしました。

    しかし、私が持っているWindows7は32ビット版のみです。
    32ビット版のWindows7を所持しているにもかかわらず、64ビット版のWindows7を再度購入しなければならないのでしょうか。




    ・・・そういえば、妻が紅茶をこぼしてお亡くなりになったノートPCが「Windows7 Pro」の64ビット版でした。

    しかし、Windowsのインストールディスクなんてとっくに無くしました。
    もう、どこにあるのかわかりません。

    もしかするとHDDの中にリカバリ領域があり、そこから復旧するタイプだったのかもしれません。
    しかし、いずれにしても、そんな領域も妻のこぼした紅茶とともに流れ去りました。



    【 Windows7のプロダクトキーを探す 】

    とりあえず、Windowsのプロダクトキーさえあれば何とかなるだろうと考え、ミルクティーの香りが漂うノートPCを裏返します。
    数か月経ったにもかかわらず、ミルクティーの芳しい香りがします。
    これはアールグレイだな、などと思いつつ、プロダクトキーのシールを探します。

    プロダクトキーのシールは非常にわかりやすい場所に貼り付けられていました。
    まずはこれをメモします。


    ※ プリインストール版のWindowsを他のPCで使うことはライセンス違反となりますのでご注意ください。
      (このあたりの話は難しいので、わからない場合はMicrosoftに聞いてみてください。)



    【 Windows7のイメージを入手する 】

    単純に考えて、Windows7のインストールディスクなんて1枚1枚オリジナルであるはずがありません。
    ということは、何らかの手段でWindows7のイメージさえ入手できれば、先ほどメモしたプロダクトキーでインストールできるはずです。

    Google先生に聞いてみます。
    『Windows7 ダウンロード』っと・・・。

    いっぱい出てきます。
    以下、各種Windows7のイメージファイルのダウンロード先です。

    詳細はわかりませんが、イメージをダウンロードするだけなら合法らしいです。
    不正なライセンスキーの入手、及び使用は違反になります。

  • Windows 7 Home Premium x86 SP1

  • Windows 7 Home Premium x64 SP1

  • Windows 7 Professional x86 SP1

  • Windows 7 Professional x64 SP1

  • Windows 7 Ultimate x86 SP1

  • Windows 7 Ultimate x64 SP1


  • なお、Windows8やWindows8.1であっても、似たような方法で簡単に且つ合法的にインストールディスクが作成可能です。



    【 Windows7をインストールする 】

    Windows7は、Ultimate版以外は標準で日本語に対応していません。
    (通常利用でUltimate版なんて使いません。)

    普通の方法では、Ultimate版以外は日本語化できません。

    そこで、普通ではない方法でUltimate版以外の「Home Premium」及び「Professional」を日本語化する方法を考えます。
    なお、この方法で日本語化されたWindows7は、通常の日本語版のWindows7と全く同一のものになります。


    まずは、上記リンクよりダウンロードしたWindows7を、DVDメディアに焼くなどして、普通にインストールします。
    なお、プロダクトキーには、先ほどメモしたものを使います。

    インストール中のキーボード選択や時間設定は日本の環境に合わせます。


    ※ インストールメディアには何種類かあるようで、持っているプロダクトキーが通らない場合もあります。
    そうした場合は、上記インストールイメージ以外を探して試してみてください。
    実際、上記イメージでは、私の所有するWindows7のうちの1つが、通りませんでした。



    【 Windows7を日本語化する 】

    ここでは「Windows7 Professional x64」を例にして話を進めます。
    まず、前述の手順によりWindows7がインストールできていることを前提とします。

    まずは、日本語言語データを用意します。

    これはMicrosoftからDLできるものなのですが、多言語パックをダウンロードして、そのイメージでインストールメディアを作って、それから日本語部分だけを抽出して・・・
    と、かなり面倒くさい作業が必要になります。

    そのため、自分用として抽出済みのものを作成したので、もし使いたい方がいたらこれを使ってください。
  • Windows7用日本語言語パック


    管理者権限でコマンドプロンプトを開きます。
    スタートメニュー → All Programs → Accessories → Command Prompt  右クリック Run as administrator



    以下のコマンドを入力します。
    「E:\langpacks\ja-jp\lp.cab」には先程の「Windows7用日本語言語パック」の保存先を指定します。

    dism /online /add-package /packagepath:E:\langpacks\ja-jp\lp.cab


    以下のような画面になり・・・



    このように表示されれば成功です。

    The operation completed successfully.
    Restart Windows to complete this operation.
    Do you want to restart the computer now (Y/N)?


    ここでは「N」を選んで、まだ再起動しません。


    Winキー+R(ファイル名を指定して実行)から以下コマンドを入力します。

    regedit


    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MUI\UILanguages\en-US
    を削除します。(※)

    ※ 上記の意味がわからない場合は、以下を保存・実行してください。
    なお、これはレジストリの該当部分のサブ・キーを削除する命令ですので、ご利用は自己責任にてお願いします。
  • en2jp.reg

    再起動します。


    スタートメニュー → すべてのプログラム → アクセサリ → コマンド プロンプト  右クリック 管理者として実行
    (すでにしっかりと日本語になっています。)

    以下コマンドを入力します。
    bcdedit /set {current} locale ja-jp
    bcdboot %WinDir% /l ja-jp


    以上で完成です。



    【 余談 】

    (数ヶ月前の話)

    紅茶をこぼした妻は、かなり切羽詰まった顔をしながら私のところに来て言いました。
    (この時、私はまだ妻が紅茶をこぼしたことを知りません。)


    「PCの電源がつかなくなったよ。」

    「え?なんでだろう?」

    「何度電源を入れても画面が付かないの。」

    「うーん・・・。見てみるよ。」

    「・・・さっきね。PCに紅茶がかかったの。そしたら電源が切れたみたい。」

    「えーと・・・?」

    「・・・・ちょっとキーボードの上に紅茶がこぼれたみたいなんだけど、そうしたら電源が切れたの。それからは何度も電源ボタンを押しても動かないよ。」

    「ちょっとこぼしたぐらいなら、乾けばまた動いたりするよ。どっちにしても見てみるね。」


    ノートPCの場所へ移動
    (ああ、確かにちょっと紅茶がこぼれてるわ・・・。)

    私がノートPCを持ち上げてみると、通風口やコネクタの隙間から紅茶が流れ出てきました・・・。
    (ちょっとどころじゃないし!)


    「“ちょっと”こぼしたの?」

    「ちゃんと拭いたよ?」

    「いや、そーじゃなくて・・・、もう一回聞くね。“ちょっと”こぼしたの?」

    「キーボードの上にコップが勝手に倒れたみたい。」

    「コップって勝手に倒れるの?」

    「・・・・倒れるよ?」



    私は一体、何歳児とお話をしているのだろうか・・・。
    ちなみに、この後、ちゃんと妻の「ごめんなさい」が聞けたわけですが、妻の「ごめん」はかなりレアなので、それだけでよしとします(笑)



    余談の余談ですが、ほとぼりが覚めた妻は、
    「ゲームができない。即日中にPCが必要だから何とかせよ。」
    との命令を私に下し、その日のうちにマウスコンピュータ(元本社)でPCを1台買ってきました・・・。

    余談ついでにひとつ、マウスコンピュータのPCはなかなかお勧めです。
    見た目にこだわらなければ、日本で一番コストパフォーマンスが高いと思います。
  • 2015年2月15日日曜日

    Asteriskに最強コーデックの「Opus」を対応させる

    Asteriskに「Opus」を対応させました。
    これにより、超高音質で低遅延な環境が出来上がりました。
    「Opus」については、以前書いた記事<VoIPに音声コーデック「Opus」を使いたい>をご覧ください。




    毎度のことですが、ここに至るまでにはかなりの時間を費やしました。
    しかし、成功してしまうとあっけないもので、難易度はそれほど高くありません。

    今回は、AsteriskにOpusを対応させた備忘録を残します。



    【 環境 】

    ハードウェアには「Raspberry Pi B+」を用い、Linuxディストリビューションには「Raspbian」(Debian)を使いました。
    同様の手順でArchLinuxやFedoraなどにも対応できると思いますが、今回は未確認です。

    また、CuBox-i2(Debian+Asterisk)でも、全く同じ手順でOpusに対応させられました。
    なお、後述する検証結果については、この「CuBox-i2」によるものです。



    【 Asteriskのインストール~Opus対応手順 】

    私はものぐさなのでsudoなどは使わず、すべてrootで作業します。
    
    ●元々Asteriskがインストールされている場合は、まずはそれを削除します。
    apt-get --purge remove asterisk
    rm -r /usr/lib/asterisk/modules
    
    ●パッケージリストを更新します。
    apt-get update
    
    ●開発に必要なパッケージ類などをインストールします。
    apt-get install autoconf automake pkg-config
    apt-get install libncurses5-dev
    apt-get install uuid-dev
    apt-get install libjansson-dev
    apt-get install libxml2-dev
    apt-get install libsqlite3-dev
    apt-get install libssl-dev
    apt-get install libopus-dev
    
    
    ●Asterisk Ver11.9.0をダウンロードして、解凍します。
    cd /usr/src
    wget http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-11.9.0.tar.gz
    tar zxvf asterisk-11.9.0.tar.gz
    
    ●AsteriskにOpus対応パッチを当てて、makeします。
    cd asterisk-11.9.0
    wget https://raw.githubusercontent.com/netaskd/asterisk-opus/master/asterisk-11.5.0_opus+vp8.diff patch -p1 -u < asterisk-11.5.0_opus+vp8.diff ./bootstrap.sh ./configure make menuselect (Codec TranslationsにOpusがあることを確認するだけ。省略可。) make make install make samples make config ●再起動後、自動でAsteriskが立ち上がります。 reboot


    【 Asterisk実行ユーザの変更 】

    インストールした直後のAsteriskは、root権限で稼働します。
    これは、セキュリティ上好ましくないため、ユーザに「asterisk」を追加し、そのユーザ権限でAsteriskを実行させます。
    (root権限のまま実行していても、実用上の問題はありません。)
    
    ●「asterisk」というユーザを追加し、権限などの調整をします。
    groupadd -g 5060 asterisk
    useradd -g 5060 -u 5060 -d /var/lib/asterisk -s /sbin/nologin asterisk
    chown -R asterisk:asterisk /var/run/asterisk
    chown -R asterisk:asterisk /var/lib/asterisk
    chown -R asterisk:asterisk /var/log/asterisk
    chown -R asterisk:asterisk /var/spool/asterisk
    chown -R asterisk:asterisk /usr/lib/asterisk
    chown -R asterisk:asterisk /etc/asterisk
    chmod -R u=rwX,g=rX,o= /var/run/asterisk
    chmod -R u=rwX,g=rX,o= /var/lib/asterisk
    chmod -R u=rwX,g=rX,o= /var/log/asterisk
    chmod -R u=rwX,g=rX,o= /var/spool/asterisk
    chmod -R u=rwX,g=rX,o= /usr/lib/asterisk
    chmod -R u=rwX,g=rX,o= /etc/asterisk
    
    ●Asteriskの設定ファイルを編集します。
    nano /etc/asterisk/asterisk.conf
    
    ・以下のコメントアウトを外す。
    [options]
    ;runuser = asterisk
    ;rungroup = asterisk
    ↑
    この2ヶ所の「セミコロン」を削除
    
    ●リブート
    reboot
    
    ●リブート後、ユーザ「asterisk」でAsteriskが稼働しているか確認します。
    asterisk -vvvvr
    
    次のように表示されていれば成功です。
    Running as user 'asterisk'                       
    Running under group 'asterisk'
    
    
    
    【 Opusを使う 】
    
    ●sip.confでOpusの使用を許可します。
    allow=opus
    
    
    これでAsteriskでOpusが使えるようになります。
    
    
    ●「Opus」に対応したSIPクライアントを使います。
    
    Acrobits製の「Softphone」や「Groundwire」、また、フリーでは「CSipSimple」が「Opus」に対応しています。
    


    【 音質の検証 】

    今まで幾度となくチャレンジしてきた「Opus」ですが、やっとその実力を検証できます。
    ただ、今回は音声の録音と遅延の測定ができませんでした。

    これは、何か理由があってできなかったわけではなく、単純に時間的な制約です。
    詳細の検証結果を挙げる前に、まずはAsteriskのOpus対応化を記事にしたく、先行しての投稿です。


    録音や遅延の計測は、また後ほど行いたいと思います。
    まずは言葉だけで「Opus」の音質を説明します。


    「Opus」を扱えるSIPクライアントはあまり多くありませんが、幸いなことに「CSipSimple」と「Acrobits Groundwire」が対応しています。
    この2つのアプリがあれば、他は要りません。この2アプリで十分です。

    まず、これらアプリの比較です。
    同じ「Opus」であっても、「CSipSimple」と「Groundwire」とで音質がかなり異なりました。

    さらに「Groundwire」では使うスマホによっても、かなり音質が異なりました。
    たとえば、SC-01Fでは音質はあまり良くなく、L-01FやSH-07Dはなかなかの音質でした。

    一方、「CSipSimple」はどんな機種を使ってもメリハリのある音質で、音声データから綺麗にノイズが除去されてクリアな音と言うか・・・なんて言うかドライな音質でした。
    これはかなり私好みで、文句のつけようがないレベルでした。


    続いて、トランスコーディングの検証です。

    発信側と着信側で要求するコーデックが異なる際は、リアルタイムに音声変換されます。
    これをトランスコーディングと言いますが、「Opus」からのトランスコーディング(またはその逆)はかなりCPU負荷がかかってしまうのではないかと懸念しました。

    しかし、「Raspberry Pi」と同じARM系CPUを積んだ「CuBox-i2」で、10%程度のCPU負荷となりました。
    ということは「Raspberry Pi」では20%程度の負荷に収まると思われます。
    最近発売された「Raspberry Pi 2」であれば5%程度ではないでしょうか。


    さて、肝心な音質についてですが、「発信側→着信側」の順に、
  • 「Opus」→「Opus」:非常に綺麗で文句なし。
  • 「G711u」→「Opus」:非常に綺麗で文句なし。
  • 「Opus」→「G711u」:非常に綺麗で文句なし。
  • 「Opus」→「iLBC」:宇宙人がしゃべっている感じ

    「Opus」→「iLBC」のトランスコーディングがNGです。
    あまりにもひどい音質で、遅延も3秒ぐらいあります。
    不思議に思い、Asterisk側から確認してみると、それもそのはずで、トランスコーディングに失敗していました。

    これ以外にも、いくつかトランスコーディングに失敗するケースがありました。(自動応答による音声案内など)
    コーデックを「Opus」にして、天気予報を聞くと、ひどい音質となりました。
    なお、この現象はSIPクライアントに依存する部分があるようでしたが、これについては検証しきれませんでした。


    続いて、遅延の計測ですが、これはいつもの様に波形から遅延時間を計測したわけではありません。
    あくまでも体感です。そのため、あまり当てになりませんので、参考程度としてください。

    まず、トランスコーディングに失敗しない限り、今までにないぐらい低遅延です。
    SH-07Dという超低スペック機種でも遅延に影響しないぐらい、スマホへの負荷も少ないです。

    ただ、SC-01F(ギャラクシーノート3)だけはあまり低遅延とは思えませんでした。(この機種だけはiLBCのほうが高音質・低遅延でした。)


    最後に使用帯域について触れたいと思います。

    Linuxの機能(iftop)を用いて主要コーデックの使用帯域を測定しました。
    Opusを使った場合は、26~30kbpsの回線速度を必要としました。

    《主要コーデックによる使用帯域一覧》
    コーデック 使用帯域
    G711u : 78kbps
    iLBC
     : 23.6kbps
    Opus
     : 26~30kbps(可変)
    GSM
     : 28.7kbps

    やはりG711uはかなりの帯域を必要とします。
    これを見ると、やはり3G/LTE回線下では「Opus」や「iLBC」などの音声コーデックの必要性を感じます。


    今回の検証はこれで終わります。



    【 感想 】

    「Opus」自体は現時点で間違いなく最強の音声コーデックです。
    しかし、Asteriskは最新バージョンの13であっても「Opus」に正式対応していません。
    そのためか、トランスコーディングに失敗するケースがあったりと、まだまだ不安定な一面もあります。

    正直な感想としては、どんなに「Opus」が素晴しかろうが、周りがそれを活かせていないように感じました。


    今後Asteriskが「Opus」に正式対応することがあれば、必須になるコーデックだと思います。
    しかしながら、現時点では、不安定な一面もあることから、まだ「マニア向けコーデック」という位置付けでしょうか。

    音質は最高であることは保証します。
    しかし、安定動作させるためには、もう少し検証が必要だと感じました。


    私はこの「Opus」と【つなぐ】(※)は最高の組み合わせになると考えています。
    そのため、なんとしても安定動作させたいところです。

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


    今回の検証はここで終わりますが、今後、ハードとOSを変えて、さらなる検証を進めていきたいと思います。

  • 2015年1月13日火曜日

    3GモデムをAsteriskに【つなぐ】

    今まで「GP-712」や「GP-710」を使って【つなぐ】(※)を構築してきました。

    しかし、これらは非常に高価です。
    これらで【つなぐ】を構築すると、トータルで4万円以上かかります。
    そこで、もっと安価に【つなぐ】を構築できないかを考えます。


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




    しかしながら、2万も3万もする「GP-710」や「GP-712」を使った時点で、すでにもう高価です。
    そこで、「GP-71x」の代わりに、安価な「Huawei製の3Gモデム」で【つなぐ】を構築してみました。

    これならば、導入費を半額以下に抑えられると同時に、別途ガラケーを用意する必要もなくなります。



    【必要な機材と設置】

  • IP-PBX(Asterisk)
  • Huawei 3Gモデム(※1)
  • スマホ(普段使い用)


    「IP-PBX」は今までどおり、「Raspberry Pi」を使います。
    そして、今回は「GP-71x」ではなく、代わりに「3Gモデム」を使います。

    設置は簡単です。
    「3Gモデム」のSIMスロットにドコモなどのSIMカードを装着して、「Raspberry Pi」にUSB接続するだけです。(※2、※3)
    なお、「3Gモデム」のSIMスロットは標準サイズが多いので、必要に応じてSIMアダプタを介します。

    ※1 使用可能モデル一覧は<このサイト>を参考にしてください。
    ※2 auは規格が違うため利用できません。
    ※3 一部のY!mobile(タイプ2)およびPHSは利用できません。




    【chan_dongleのインストール ~ Asteriskの設定】

    USBの3GモデムをAsteriskに接続するためには「chan_dongle」を使います。

    導入方法はすべてこのサイトのとおり実行するだけです。
    Wiki Chan_dongle


    ・・・それだけではあまりにも気が利かないので、ここではもっと簡単に、「chan_dongle」を使えるようにします。


    以下は、上記サイトを参考に、我流でインストールした備忘録です。

    OSには「Raspbian」を使いました。
    多分「RasPBX」でも問題ないと思いますが、動作未確認です。
    RasPBXを使う場合は、Asteriskのインストールは不要です。


    ● Asteriskをインストールします。
    apt-get install asterisk

    ● 続いて開発者ツールをインストールします。
    apt-get install asterisk-dev

    ● 3Gモデムを使えるようにするドライバみたいなものをダウンロードします。
    cd /usr/src
    wget https://asterisk-chan-dongle.googlecode.com/files/chan_dongle-1.1.r14.tgz

    ● 解凍します。
    tar -zxvf chan_dongle-1.1.r14.tgz

    ● makeします。
    cd /usr/src/chan_dongle-1.1.r14
    ./configure
    make

    ● インストールします。
    make install

    ● chan_dongleの設定ファイルとダイヤルプランを作成します。
    (extensions.confが上書きされるため、自分専用ダイヤルプランを作成していた人は事前にバックアップします。)
    cd /etc/asterisk/
    wget http://asterisk-chan-dongle.googlecode.com/svn/trunk/etc/dongle.conf
    wget http://asterisk-chan-dongle.googlecode.com/svn/trunk/etc/extensions.conf

    ● Raspbianを再起動します。
    reboot



    【chan_dongleで通話する】

    Raspbianの再起動が完了したら、「3Gモデム」が使えるかを確認します。
    「3Gモデム」に挿したSIMカードの電話番号に、他の電話機から電話します。

    英語のデモが流れたら成功です。
    あとは適切に「dongle.conf」と「extensions.conf」を設定します。
    なお、「3Gモデム」を1つしか使わない場合は、「dongle.conf」を編集する必要はありません。



    【ダイヤルプランの作成】

    「3Gモデム」から発信させるためには、extenの記述が通常と若干異なります。
    以下のように記述することで「3Gモデム」から発信するようになります。

    ; 0をトリガーにした発信例
    exten => _0.,1,Dial(Dongle/dongle0/${EXTEN},60)
    exten => _0.,n,Hangup()

    着信やその他の記述は、通常と変わりませんので、自分の環境にあったダイヤルプランを作成します。



    【音質の検証】

    私の環境では非常に良好な通話品質でした。
    特に遅延を感じることもなく、「普通の電話」です。

    ところが、【つなぐ】同士の会話は、かなりの遅延を感じます。(これはGP-71xを使ったシステムも同様です。)
    そのため、【つなぐ】同士の会話には、外線を使わずに内線通話となるように、ダイヤルプランを作成する必要があります。

    こうすれば、音声回線を経由しない通話が実現でき、その結果、より低遅延・高音質な通話が可能になります。


    今回もいつもどおり、3Gモデム版【つなぐ】の音質と遅延時間を検証します。
    音質については自分がどう聞こえるかより、自分の声が相手にどのように聞こえているかが重要なため、それを掲載します。

    [使用した端末]
  • iPhone4s(ドコモSIM使用)
  • SH-07D(Groundwire使用)

    [回線種別]
  • Wi-Fi(光回線)

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

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

    [音声の元データ]


    [検証結果]
    回線種別
    (アプリ)
    コーデック 音質 遅延時間
    (つなぐから発信/つなぐで受話)
    Wi-Fi
    (Acrobits Groundwire)
    G.711μ

    257ms / 590ms


    何度か試験をしているうちに気付きました。
    どういうわけか、発信時より受話時の遅延時間が大きいのです。

    これの回避策は、以下『着信時の遅延回避策』に記載します。



    【着信時の遅延回避策】

    3Gモデム版【つなぐ】で受話した際の遅延時間については、もしかすると私の環境依存かもしれません。
    しかし、いずれにしても、この遅延時間では実用できません。

    そこで、これを実用するためには、キャリア転送を併用します。

    キャリアの転送を使うことによって、【つなぐ】による着信を迂回して、別の電話番号に着信させることが出来ます。
    つまり、受話時は【つなぐ】を使わないことで、遅延を回避させるわけです。

    転送先の電話番号には「ブラステル 050 free」を用います。(無料)
    ここであれば、低遅延・高音質での通話が可能です。
    (ブラステルを経由していることを全く意識せずに運用できます。)


    以上より、3Gモデム版【つなぐ】は、転送も「カケホーダイ」対象となるドコモとの相性が抜群です。
    もちろん、着信にはほとんど使用しない前提でしたら、ソフトバンクやY!mobileでも構いません。



    【まとめ】

    GP-71xを使った【つなぐ】と、3Gモデムを使った【つなぐ】、それぞれのメリットとデメリットを以下の表にまとめました。

      安定性 音質 遅延 価格 備考
    GP-71x 高い ・通話最初の1秒ぐらいが聞こえない。
    ・シェアの「有効/無効」切替ができる。
    ・収容する携帯キャリアを問わない。
    3Gモデム 未知 特殊 安い ・つなぐからの発信は遅延なし、受信時は遅延大。
    ・検証期間が浅いため、安定性がわからない。(現在までは良好)
    ・別途携帯を必要としない。(SIMをそのまま使う)
    ・auとPHSは収容できず。
    BTドングル 安い ・Bluetoothで携帯を直接Asteriskへ収容する。
    ・収容する携帯キャリアを問わない。
    ・ペアリングできる端末がかなり限定される。
    (私の手持ちデバイスではHFPで繋がらないため試験できず。)

    GP-71x限定機能の「シェアの切替」とは、GP-71xの設定画面を利用することで、その回線をシェアするか否かが簡単に切り替えられる機能になります。

    「最初はひとりで使いたいけど、後から複数人でシェアするかも知れない。」(またはその逆)などが、Asteriskのダイヤルプランを変えることなく切り替えられます。(要初期設定)

    なお、この表の中に「BTドングル」というのもがありますが、これは「chan_mobile」というAsteriskのアドオンを使って、携帯電話をAsteriskに直接収容する手法になります。

    しかし、私の技術力不足もありますが、あまりにも相性が酷く使用を断念しました。
    また、Asteriskとペアリングするために、Linuxコマンドを駆使するため、現実的ではないとも判断しました。
    Bluetoothを使う場合は素直にGP-71x使うべきです。



    【あとがき】

    chan_dongleは以前から知っていたのですが、私の知識ではハードルが高すぎて、今まで諦めていました。
    しかし、GP-71xを使った【つなぐ】を他の方に販売することになって、ひしひしと感じていたことがありました。

    「高すぎる・・・」と。

    と言うことで、今回はかなりがんばりました。

    分かってしまえばなんてこと無いのですが、Asteriskの開発者ツールを導入しないと「chan_dongle」のmakeに失敗します。
    うまく導入できない人のほとんどが、これが原因ではないかと思います。

    LinuxとAsteriskが扱える人は、本記事のとおりで【つなぐ】を構築できますので、ぜひチャレンジしてみてください。

    なお、<【つなぐ】オーダーフォーム>に「3Gモデム版」も追加しました。
    これにより、かなり安価に【つなぐ】を提供できるようになりました。


    【つなぐ】のオーダーは終了いたしました。
    本当はずっと続けていきたかったのですが、私の時間が無くなってしまったことと、かなりの赤字で販売していたことにより、継続が厳しくなってしまいました。申し訳ありません。
  • 2015年1月7日水曜日

    「GP-708」を使った【つなぐ】について(フォーラム)

    「GP-708」についてのフォーラム(掲示板・BBS)です。

    本ブログでは「GP-712」と「GP-710」を使った【つなぐ】しか紹介していませんが(下記参照)、『GP-708』というIP-PBX機能を兼ね備えたBluetooth-VoIPゲートウェイも存在します。

  • ガラケー(話し放題)と、スマホ(MVNO)を【つなぐ】
  • MVNO(データSIM)で「話し放題」を実現する 【つなぐ】

    国内において「GP-708」について、情報収集できる場所は現在のところ、どこにもありません。
    そのため、ここを「GP-708」に関する情報共有の場として頂ければ幸いです。

    現在のところ「GP-708」についてはどこにも情報がありませんので、個人的な運用方法の紹介なども、大いに参考になると思われます。
    また、「GP-708」の疑問点なども、ここでご質問頂けたらと思います。

    きっとB氏が応えてくれます。(他力本願モード全開)♪~( ̄ε ̄;)
  • 2015年1月4日日曜日

    ガラケー(話し放題)と、スマホ(MVNO)を【つなぐ】

    MVNO(データSIM)で「話し放題」を実現する 【つなぐ】>では、技術的なことや設定がメインでした。
    今回は【つなぐ】とはなにか、またその設置についてを紹介します。




    【「つなぐ」とは何か?】

    【つなぐ】とは造語であって、そのような装置があるわけではありません。
    【つなぐ】とは、話し放題を契約した携帯電話と、IP-PBXとBluetooth-VoIPゲートウェイなどとを【つなぐ】ことによって、データSIM(MVNO含む)から、話し放題を実現するものになります。

    ・・・こんなこと言われても意味がわかりません。

    簡単に言うと、
    『話し放題を契約したガラケーを、スマホから利用できるようにすること』
    を、便宜上【つなぐ】と言っています。

    話し放題はガラケーで1500~2200円で契約できます。
    スマホはMVNOで、500~900円程度で利用できます。

    よって、【つなぐ】を使えば、両者の良いとこ取りをして、2000~3100円で、1台のスマホで通話(話し放題)と通信を行えることになります。
    これで、かさばる2台持ちから開放されます。

    また、【つなぐ】の醍醐味として、ガラケーの話し放題(1回線)を、複数のスマホでシェアできます。
    これにより、通話料を劇的に節約できます。

    さらに、【つなぐ】に登録したスマホ同士の通話は無料になります。
    場所は関係なく、遠方(海外も可)に住む家族・友人も登録できます。



    【「つなぐ」で何ができるのか?】

    前項と被りますが、【つなぐ】でできることを列挙していきます。
    なお、ここに記載されていること以外でも、アイディア次第で色々な運用が可能になります。


    ◆ ガラケーとスマホの2台持から1台運用へ

    家に置いてあるガラケーの発着信をスマホから行えます。
    よって、安価な2台持ちを継続しつつも、持ち歩く端末をスマホ1台のみにできます。


    ◆ 話し放題のシェア

    せっかくの話し放題回線を一人で使うなんてもったいないです。
    これを複数人でシェアすれば、話し放題回線を最大限に活かせることになります。

    例えば、5人家族で考えます。
    家族で話し放題回線を1回線持っておき、あとはそれぞれ900円のMVNOを使います。

    話し放題回線(1500円)+家族5人分のMVNO(900円×5)= 6000円

    これで5人家族全員が話し放題となりつつも、月額維持費は全員で6000円という破格になります。
    もちろん、これにはデータ通信費も含んでいます。


    ◆ 家族・友人間の通話料を無料にする

    これは【つなぐ】の機能というより、IP-PBXの機能になります。
    【つなぐ】に登録したスマホ同士の通話はすべて無料になります。

    これはLINEの無料通話を想像するとわかりやすいです。
    しかし、LINEのように声が遅れて聞こえることはなく、高品質での通話が可能です。


    ◆ 話し放題のシェア+IP電話の併用

    話し放題回線は発信専用とし、自分用の電話番号には、ブラステルの050番号などを取得します。
    このように、発信と着信とを運用上で分離することで、効率的な運用が可能です。


    ◆ 話し放題のシェア+内線番号の併用により、1回線を複数人で使う。

    話し放題1回線を発信だけでなく、着信にも利用します。
    「話し放題回線番号」+「,(P)」+「内線番号」を相手の電話帳に登録して貰うことで実現できます。
    (例えばiPhoneであれば、電話帳に「090-1234-5678,6123」のように登録します。※動作未確認です。)

    なお、直接、話し放題回線番号にかけた場合は、ガイダンスにしたがって内線番号を入力することで、該当するスマホが着信します。


    その他、内線番号とIP電話番号を同一のものにしてみたり、DTMFにより事前にキャリア転送を設定するなど、アイディア次第で色々なことができるようになります。



    【「つなぐ」の構成】

    【つなぐ】は以下の機器により構成されます。
  • 携帯電話
  • GP-71x
  • IP-PBX
  • スマホ(常時持ち歩くもの)

    このうち、「GP-71x」と「IP-PBX」とは固定回線に接続し、スマホには格安MVNOなどを利用することになります。

    なお、【つなぐ】に最適なMVNOとしては、極めて良好な応答速度から、「BIGLOBE」をお勧めします。
    また、安定した回線品質と良好な応答速度から「OCN」もお勧めできます。
  • BIGLOBE LTE・3G
  • OCN モバイル ONE

    もちろん、その他のMVNOでも利用できますが、応答速度(Ping値)の遅いMVNOは避けてください。
    なお、VoIP規制やプライベートIPが付与されるMVNOでは、正常に利用できないかもしれません。

    私の環境で、上記以外に動作確認できているSIMは以下のものです。
  • ドコモ純正SIM  (要STUNサーバ)
  • DTI(プライベートIP)  (要STUNサーバ)



    【準備するもの】

    【つなぐ】を構成するもの“以外”に、準備するものを列挙します。

  • 携帯電話に常時給電するためのケーブル(お使いのケータイに合う充電ケーブル)
  • IP-PBXに給電するためのケーブル(スマホを充電するケーブルと同一のもの)
  • 上記2つを接続するするためのUSB充電器
  • LANケーブル

    IP-PBXには「Raspberry Pi」を使いますので、1A程度出力できるUSB充電器が必要です。
    手持ちの充電器があれば、それで構いません。

    もし持っていなければ充電器とケーブルを用意します。
  • 2ポート USB充電器(アマゾンへのリンク)
    これは非常に安価なうえ、1年間の保証があります。(PLANEX製)

  • MicroUSB ケーブル(楽天へのリンク)
    スマホの充電を行うわけではないので、ケーブルはこの程度のもので構いません。
    送料を入れても100円ショップより安いです(^_^;)

    なお、Raspberry Piも携帯電話も大した消費電力ではないので、充電器が壊れることはそうそうないとは思います。
    しかし、いざ故障すると【つなぐ】が使えなくなります。
    もし故障してもすぐに交換できるように、充電器の予備は1台持っていても良いと思います。

  • LANケーブル(楽天へのリンク)
    100円です。IP-PBXとGP-71xとで2本必要になります。



    【「つなぐ」の設置方法】

    1.既存ルータに「GP-71x」と「IP-PBX」をLANケーブルで接続します。



    もし、ルータに2ポート分の空きがないようでしたら、ハブを介して接続します。
    なお、「GP-71x」「IP-PBX」ともに、高速通信を必要としませんので、安価なハブで問題ありません。



    2.「GP-71x」と「携帯電話」をBluetooth接続します。

    「GP-71x」は常にペアリング待ち受け状態ですので、携帯電話から簡単にペアリングできます。
    実際のペアリング作業は、以下動画の後半をご覧ください。



    【ルータの設定】

    外出時でも【つなぐ】へアクセスできるように、ルータを設定します。
    たとえば、auひかりでは「ポートマッピング」と言う項目から行えます。

    ポート5062(SIP用)と10000~20000(RTP用)とを「IP-PBX」へ向けます。

    これらの設定方法は利用しているルータによって、それぞれ異なります。
    もし、分からなければ、ご使用中のルータをお知らせ頂ければ、お教えできると思います。


    【「つなぐ」の設定とスマホの設定】

    これ以外の細かい設定に関しては、<MVNO(データSIM)で「話し放題」を実現する 【つなぐ】>に記載しています。
    音質なども掲載していますので、よろしければご覧ください。



    【私が提供する「つなぐ」について】

    Linuxが扱えない人向けに、設定済みの【つなぐ】を販売しています。
    本来、やるならば、もっと大々的にやるべきだと思います。

    『話し放題・つなぎ放題でなんと2000円!ご購入はこちら!!』 みたいに(^_^;)

    ですが、【つなぐ】の販売に関しては、未だにいくつか迷い中でして、今は大々的に販売するつもりはありません。
    (考えがまとまったら、ちゃんとWEBサイトを立ち上げようかと思います。)

    今のところ簡易的なメールフォームしかありませんが、ご容赦ください。
    (セキュリティの都合上、外部のシステムを採用しています。)

    【つなぐ】オーダーフォーム

    なお、少なからずマージンは頂くので、接続できるようになるまでサポートします。


    【つなぐ】のオーダーは終了いたしました。
    本当はずっと続けていきたかったのですが、私の時間が無くなってしまったことと、実はかなりの赤字で販売していたことにより、継続が厳しくなってしまいました。申し訳ありません。


    【つなぐ】システムには以下のものを用います。
  • ハード:Raspberry Pi(model B+)+GP-71x
  • OS:Raspbian(Debian)
  • IP-PBX:Asterisk


    購入者には、最初にその回線を1人で使うか、複数人でシェアするかを決めてもらいます。

    初期設定として内線番号をいくつか用意しています。(増減可)
    → 6000番台 : 「6001」、「6101」~「6120」 (21個)
    → 7000番台 : 「7001」、「7101」~「7120」 (21個)

    内線番号とはスマホ1台1台に割り振る固有番号のようなものです。
    この番号に発信することにより、該当するスマホが着信します。(内線通話)

    回線をシェアするか否かで、この内線番号の発着信時の挙動が変わってきます。


    ◆ 1人(2人)で使う場合

    外線発信可能な内線を「6001」及び「7001」のみに限定します。
    「6001」はGP-712に接続した1台目の携帯からの発信となります。同様に「7001」は2台目の携帯からの発信となります。

    1台目の携帯への着信は「6001」が鳴動し、同様に2台目は「7001」が鳴動します。

    「6101」~「6120」及び「7101~7120」はすべて、普通の内線番号となります。
    内線番号間での通話はもちろん無料ですが、外線発信はできません。


    ◆ 回線をシェアする場合

    6000番台の内線番号から発信すると、GP-712に接続した1台目の携帯からの発信となります。
    同様に、7000番台は2台目の携帯からの発信となります。

    動作はどのようにでもカスタマイズ可能ですが、一例として以下のような動作があります。

  • 外線発信はすべての番号から可能。
  • 外線着信時は2パターンから選ぶ。
      → 決められた内線番号を鳴動させる。
      → どの端末も鳴動せず。
  • どの端末も鳴動させない場合は、その後の動作を次の2パターンから選ぶ。
      → 相手に呼出音「プルルルル・・・」を鳴らし続ける。
      → Asteriskの自動応答により「呼び出したい番号を入力してください」のガイダンスを流す。
  • ガイダンスの後に内線番号を入力することで、該当端末が着信する。
  • 最初から該当端末を着信させる場合は、以下を相手の電話帳に登録しておく。
     例) 話し放題回線番号:09012345678  内線番号:6110
     「09012345678,6110」または「09012345678P6110」
  • 間違った内線番号入力時には「内線番号が間違っています。もう一度入力してください。」のガイダンス。
  • 内線番号入力待ち状態は30秒(タイムアップで切断)。
  • 内線番号同士はすべて無料通話可能。


    ◆ 1回線を1人で使い、もう1回線をシェアする(GP-712限定機能)

    「6000番(携帯1台目)は自分で使って、7000番(携帯2台目)は回線をシェアしたい。」
    と言った設定も可能です。

    このように設定すると、6000番台の内線番号は「6001」のみ外線発信が可能となります。
    7000番代の内線番号は「7001」と「7101」~「7120」から外線発信が可能になります。
    内線通話は「6001」と「6101」~「6120」及び「7001」と「7101」~「7120」においてすべて無料です。

    このように、6000番台の動作は「1人(2人)で使う場合」と同じになり、7000番台の動作は「回線をシェアする場合」と同じ動作になります。




    【あとがき】

    ものを販売すると言うことは難しいです。
    4万円とか掛かるものを販売するわけなので、その責任の重さを感じます。
    また、ただ転売すれば良いわけではなく、個人個人で異なるシステムを構築します。

    オーダーメイド的にシステムを構築しますので、1台の制作にかかる時間は10時間程度だと思います。
    慣れればもっと時間は短縮できるのでしょうが、現在はそのぐらいです。

    もういっそのこと、マージンは0でもいいかなとも思ったのですが、色々悩んだ末、この金額に落ち着きました。
    お金とってごめんなさい。(>_<)


    おわりに。

    自分が作ったものを販売するということは、すごい面白いです。

    すでに、購入してくれた方が1人いたのですが、その人に沿ったシステムを構築するのが楽しすぎでした♪
    (まだ1台しか売れていませんが)新たな自己満を発見できました。