ラベル PC関連 の投稿を表示しています。 すべての投稿を表示
ラベル PC関連 の投稿を表示しています。 すべての投稿を表示

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月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台しか売れていませんが)新たな自己満を発見できました。
  • 2014年12月10日水曜日

    MVNO(データSIM)で「話し放題」を実現する 【つなぐ】

    普通にスマホを使っていると、以下のような2台持ち構成が一番安くなります。(カケホが必要な場合)

    1台目:話し放題プランのみ
    2台目:データ通信のみ(MVNO含む)

    しかし、この構成は、常に2台の端末を持ち歩く必要があります。
    これが面倒な人も多いのではないでしょうか。




    そこで、2台持ちするケータイを1台に合体させます。(セロテープとかで貼り合わせるわけではありません!)
    これで、「MVNO」+「話し放題」を1台のスマホで実現できます。

    また、これを利用すれば、DualSIMに対応したスマホを使う必要もなく、1台のみで複数キャリアの同時利用も可能になります。


    今回は、簡単に説明できる内容ではなく、かなりの長編になってしまいました。
    読んでいて疲れてきたら、一気に読まずにあとでゆっくり読んで頂ければと思います。

    なお、これは誰にでも簡単に導入できるシステムではありません。
    ですが、誰もに使ってもらいたいと思えるぐらい、素晴らしいシステムでもあります。

    このジレンマを解消するために、どうするかを検討中です・・・。

    <追記>システム提供フォームを作成しました。(記事最下部)



    【 「話し放題+パケット定額」サービス 】

    ドコモ、au、ソフトバンクで「カケホーダイ」などの話し放題サービスが開始されました。
    しかし、キャリアの「話し放題+パケット定額」プランは高すぎます。 一例として、ドコモの同プランの料金は6,500~8,000円(税抜)です。

    これは一部のユーザを除けば、体良く料金が値上げされただけに過ぎません。



    【 ケータイの2台持ち 】

    そこで、ケータイの2台持ちが推奨されはじめました。
    1台を「話し放題」プランのみとし、もう1台をMVNOで「データ通信」のみとします。
    そうすることで、「話し放題」+「データ通信」が格安で運用できます。

    1台目:話し放題(1,500~2,200円)
    2台目:MVNO(900円程度)


    これだけでも十分に安くなり、満足できるのですが、常にケータイを2台持ち歩く必要があります。
    これでは、数少ないズボンのポケットを2つも消費してしまいます!(私は手ぶら派なので、これは結構重要です。)



    【 2台のケータイを合体させる・・・「つなぐ」 】

    「ケータイの2台持ちで安くなることはわかる。だけど2台持ち歩くのはイヤだ!」
    「1台だけ持ち歩くためにはどうすれば良いか?」
    「片方にIP電話を入れて転送させる?いや、それでは同じ番号での発信が出来ない・・・。」

    ・・・さすがに、この問題を運用で何とかするのは無理な話です。
    と言うことで、2台のケータイを合体させて1台にしてしまいます。

    これは、決してテープなどでくっつけるわけではなく、ケータイとケータイをネットワーク上で繋げます。
    このように、2台のケータイを【つなぐ】ことによって、「話し放題」+「格安MVNO」が1台のスマホで実現できます。


    2台のケータイを【つなぐ】ためにはいくつかの方法があります。

    1.GP-712、GP-710、GP-708を使う
    2.W-SIM機を使う
    3.Asteriskサーバで3Gモデムを制御する
    4.AsteriskサーバとBT接続する

    数十万円かければ「3G VoIP Gateway」と言う選択肢もあるのですが、非現実的なのでここでは触れません。
    また、2~4についても、機材の入手性や難易度の観点から除外します。

    今回は、比較的容易に導入できる1について説明したいと思います。



    【 GP-712、GP-710、GP-708を使う 】

    「GP-712」、「GP-710」、「GP-708」はGEMPRO社の「Bluetooth ⇔ VoIP ゲートウェイ」です。
    VoIPとは「Voice over Internet Protocol」のことです。
    略さずに記載すると、「インターネットを通じて音声を伝送するプロトコル」であることがわかります。

    なお、Bluetoothはわかります。
    イヤホンやヘッドセットに採用されている、無線規格です。

    「Bluetooth ⇔ VoIP ゲートウェイ」とは、ケータイのBluetoothによる通話を、インターネット上の別の機器で利用できるようにする役割を持ちます。
    つまり、ケータイ(A)の通話を、別のケータイ(B)で行えるようになります。

    これを実情に沿った形に言い変えると、
    「家に置きっぱなしにしたケータイの通話及び発着信を、持ち歩いているスマホで行えます。」

    便宜上、今後はこれを【つなぐ】と呼びます。

    なお、GP-710、GP-712、GP-708の違いは以下のとおりです。

    GP-710 : 1台のケータイを収容可能。(【つなぐ】の利用には、別途IP-PBXが必要。)
    GP-712 : 2台のケータイを同時に収容可能。(【つなぐ】の利用には、別途IP-PBXが必要。)
    GP-708 : 8台のケータイを同時に収容可能。さらに、IP-PBXの機能を併せ持つ。(単体で【つなぐ】利用可。)



    【 「つなぐ」の準備をする 】

    【つなぐ】に必要な機材はGP-710、GP-712、GP-708のいずれかとIP-PBXです。
    なお、GP-708の場合は単体でIP-PBX機能を持っていますので、別途IP-PBXは必要ありません。

    自分ひとりなら「GP-710」で十分です。
    今後、二人ぐらいは使うかもしれないと思ったら、「GP-712」を選んでおけば間違いありません。
    「GP-708」はIP-PBXの構築が不要ですが、その分かなり高価です。

    なお、「GP-708」を使った場合は簡単に設定できますので、今回の説明からは除外します。
    これからは「GP-712」を例として説明していきます。

    <必要な環境>
  • 固定回線(光回線が望ましい)
  • 固定IPアドレス、もしくはDynamicDNS(※)

    <必要な機材>
  • GP-712
  • Linuxが稼働するPC(IP-PBX用)
  • スマホ
  • ケータイ(Bluetoothが使えるもの)

    ※ DynamicDNSを利用する場合は、DiCEなどを用いてリアルタイムにDNSを更新させます。


    ◆ 話し放題プランを契約したケータイを用意する。

    Y!mobileのPHSが最も安価(1500円)で、高音質になります。
    他のキャリアは横並びで2200円です。

    どこのケータイにするかは、現在使っているキャリアや今後を考えて決定します。


    ◆ GP-712を購入する。

    これは日本では発売されておりませんので、海外から購入します。
    私は「eBay」から購入しました。これが今回の中で一番高価です。(約3万円)
    なお、「GP-712」と「GP-712A」とは別物ですのでご注意ください。


    ◆ IP-PBX(Asteriskなど)を用意する。

    私は「CuBox-i2」を使っているのですが、あえてこれを選ぶ必要はないと思います。
    6~7000円程度で買える「Raspberry Pi」がお勧めです。
    これならばIP-PBXの構築も簡単に行えます。

    なお、「Raspberry Pi」はOSをインストールするために、別途MicroSDカードが必要になります。
    本来8GBもあれば十分なのですが、セル寿命の観点から32GBを選びます。

    東芝 microSDHC 32GB
    (これは、私がCuBox-i2で使っているものです。安価な上に高速で、文句なしです。)



    【 「つなぐ」の設定をする 】

    【つなぐ】の設定は次の3部構成から成ります。
    1. GP-712の設定
    2. IP-PBX(Asterisk)の設定
    3. スマホの設定


    1.GP-712の設定

    ◆ 接続編

    これは動画で説明します。
    本来、説明するまでも無いのですが、「GP-712」がどんな代物なのかわからない人も多いと思いますので、ハードウェアの紹介も兼ねます。

    アンテナの接続からBluetoothペアリングまでを紹介します。
    なお、動画中はわかりやすくするためにBluetoothペアリング時にスマホを使用していますが、これはガラケーでも何でも構いません。



    ◆ 設定編

    1つ1つ画面キャプチャで説明すると長くなるため、これも動画で紹介します。



    2.IP-PBX(Asterisk)の設定

    【つなぐ】に必要なAsteriskのコンフィグファイルの記載例です。
    「GP-712」の発着信の考え方が難しく、幾度と無くこれで挫折しそうになりました。

    簡単に説明すると、外部と接続されるのは内線番号「6001」です。
    発信は、VoIP接続された「6001」から、Bluetooth接続先の「6002」に受け渡します。
    受信は、Bluetooth接続された「6002」から、VoIP接続先「6001」に受け渡します。


    以下、「sip.conf」と「extensions.conf」の設定例です。
    わからなければ、必要な部分だけ変更してそのままコピペしてください。(注記は削除してください。)

    「sip.conf」
    [general]
    context=default
    bindaddr=0.0.0.0
    bindport=5062 ← 基本は5060だが、auひかりとセキュリティ上の都合から5062に変更した。
    language=ja
    allowguest=no
    externip=123.456.789.012 ← auひかりなど固定IPの場合に入力。
    externhost=sip.test.jp ← 独自ドメインやDynamicDNSのドメインを入力。
    localnet=192.168.0.0/255.255.255.0

    disallow=all
    allow=ulaw
    allow=alaw
    allow=gsm
    allow=g729
    allow=speex
    allow=opus

    [6001]
    type=friend
    defaultuser=6001
    secret=Kanari_Nagai_Pasu_wo_Ireru ← このパスワードは外部にさらされるため、強固なパスとする。
    canreinvite=yes
    host=dynamic
    context=6001

    [6002]
    type=friend
    defaultuser=6002
    secret=6002
    canreinvite=yes
    host=dynamic
    context=6002

    「extensions.conf」
    [default]

    [6001]
    ; security(kokusai_denwa_no_kinshi)
    exten => _00.,1,Answer()
    exten => _00.,n,Wait(1)
    exten => _00.,n,Hangup()

    exten => _010.,1,Answer()
    exten => _010.,n,Wait(1)
    exten => _010.,n,Hangup()

    ; tuujou
    exten => _0.,1,Set(CALLERID(num)=6001)
    exten => _0.,n,Set(CALLERID(name)=6001)
    exten => _0.,n,Dial(SIP/${EXTEN}@6002,120,T)
    exten => _0.,n,Hangup()

    ; kinkyuu_tuuhou
    exten => _1XX,1,Set(CALLERID(num)=6001)
    exten => _1XX,n,Set(CALLERID(name)=6001)
    exten => _1XX,n,Dial(SIP/${EXTEN}@6002,120,T)
    exten => _1XX,n,Hangup()


    [6002]
    exten => _X.,1,Dial(SIP/6001)
    exten => _X.,n,Hangup()


    3.スマホの設定

    スマホ側での通話は、SIPクライアントを使います。

    通常(3G/LTE)は「CSipSimple」を使います。
    家の中(Wi-Fi)は「Acrobits Softphone」を使います。

    2つのアプリを使い分ける理由はNATを越えるためです。
    今回、GP-712の仕様から、3G/LTE通信時はSTUNサーバが必須となります。
    しかし、ローカル側(Wi-Fi)ではSTUNサーバを経由してしまうと、音声パケットが、LAN側のIP-PBXに到達しません。

    以上の理由により、3G/LTE通信時はSTUNを経由させた「CSipSimple」を使い、Wi-Fi通信時は直通で「Acrobits Softphone」を使います。

    ただし、両アプリが常時通信しているとバッテリー消費が大きくなるため、設定によりこれを回避します。
    もちろん、アプリの切替は自動で行わせます。


    <CSipSimpleの設定>

    SIPアカウントは通常どおり設定します。
    ID:6001
    SIPサーバ:sip.test.jp:5062 ← 固定IPやドメインを入力
    Pass:Kanari_Nagai_Pasu_wo_Ireru


    ※ 以降、「☑」に機種依存文字を使用しているため、見えない環境もあるかもしれません。
    これは、□にレ点の入った「チェック済み」マークを表しています。

    [設定 → ネットワーク]
    ◆トランスポート
     → コネクションキープアライブ
    モバイルUDPキープアライブ:300~3600で環境に応じて数値を入力する。
    これ以外はすべて0(ゼロ)を入力
    (モバイルUDPも0で問題ないかも?未検証。)
    ◆NAT通過
    ☑ ICEを有効
    ☑ Aggressive ICE
    ☑ STUNを有効
      STUNサーバ:stun.l.google.com:19302
    ◆着信通話用
    ☑ 3Gを使用(及びLTE)
      (これ以外のチェックを外す)

    [設定 → メディア]
    ◆オーディオ品質
     エコーや音声検出のチェックは外す
    ◆帯域別のコーデック優先リスト
     チェックを外す
    ◆コーデック
    ☑ speex 8kHz
    ☑ PCMU 8kHz
      (これら以外は外す。)
    ◆ボリューム
     マイク音量:最大


    この設定でCSipSimpleが起動していても、3G接続時以外は通信しません。


    <Acrobits Softphoneの設定>

    SIPアカウントは通常どおり設定します。
    ID:6001
    SIPサーバ:192.168.0.10:5062 ← AsteriskサーバのLAN側のIPを設定する
    Pass:Kanari_Nagai_Pasu_wo_Ireru

    ◆着信
     → 起動を維持し常時着信
    ◆環境設定
     → サウンド
     エコーキャンセル、ノイズ低減のチェックを外す
    ◆WiFi設定
     → Wi-Fiのみ
    ☑ Wi-Fi接続を維持する
    ◆コントロール
     → 電話帳 → Handle outgoing native calls → Ask
     (これで電話帳から発信する際にAcrobitsを選べるようになります。)


    この設定でAcrobits Softphoneが起動していても、Wi-Fi接続時以外は通信しません。


    このように、3G/LTE時は「CSipSimple」を使い、Wi-Fi接続時は「Acrobits Softphone」を使うことを明示的に指定し、【つなぐ】のNAT越えを実現します。

    以上で設定は完了です。



    【 「つなぐ」の発着信テスト 】

    3G/LTE時及びWi-Fi時の発着信をテストします。
    スマホのSIPクライアントから発信すると、GP-712とBluetooth接続しているケータイから発信されます。
    また、ケータイへの着信はGP-712を経由して、スマホが鳴動します。



    【 「つなぐ」の音質検証 】

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

    [使用した端末]
  • WX12K(GP-712とBT接続済)
  • L-01F(つなぐ利用機)
  • SH-07D(遅延計測用)

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

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

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

    [音声の元データ]


    [検証結果]
    回線種別
    (アプリ)
    コーデック 音質 遅延時間
    Wi-Fi
    (Acrobits Softphone)
    G.711μ

    324ms
    LTE
    (CSipSimple)
    Speex(8kHz)

    387ms


    [検討・考察]

    音声データを聴くと、両アプリの特徴が色濃く出ており、つい聴き比べたくなってしまいます。
    しかし、これら2つの音声データは、条件が全く異なるため、聴き比べには何の意味もありません。
    注目すべくは遅延時間の短さです。

    これだけ低遅延ならば、全く違和感なく会話ができます。
    「違和感なく」と言う表現が、そもそも間違っているぐらいに、これが「普通」です。

    なお、音質についても十分満足できます。
    ドコモ同士の通話品質には敵わないと思いますが、他キャリア程度の品質は保っています。
    特にLTEに関しては、低帯域用コーデック「Speex」で、ここまでの音質であれば文句のつけようがありません。



    【 まとめ 】

    【つなぐ】システム構築にはそれなりに知識を必要とします。

    しかし、私と全く同じシステムで良ければ、本ブログ中にやり方はすべて記載しています。
    参考にして頂ければ、難しいながらもシステム構築まで辿り着けるはずです。

    以下は、わが家の【つなぐ】を使った月額維持費です。

    私:1709円(L-01F)
      <内訳:1500円(Y!mobile・スーパーだれとでも定額)+209円(ドコモ・Xiデータ(7Gまで))>
    妻:2805円(SC-01F)
      <内訳:1500円(Y!mobile・スーパーだれとでも定額)+1305円(BIGLOBE・ライトS(5Gまで))>

    これだけ安価で便利な【つなぐ】ですが、最初に言ったとおり、システム構築は一筋縄では行きません。
    まず、購入のために最低限の英語は必要になります。また、ちょっとしたネットワークの知識も必要です。

    ただし、一度構築してしまえば、MVNOでの話し放題が、スマホ1台だけで実現できます。
    たとえ難しくても、英語が苦手でも、それでも頑張って【つなぐ】を構築する価値は十分にあります。



    【 あとがき 】

    今回はかなり難しかったです。
    GP-712の動きを理解すべく検索しても情報が全然出て来ないのです。
    これが理解できないと、Asteriskも設定できません。

    トライアンドエラーで、徐々に動きがわかってきて、6001⇔6002の発着信の受け渡しに気付いた時には感動モノでした。
    また、NAT越えに四苦八苦し、2つのSIPクライアントの同時使用に行き着いたときは、自分で自分を褒めたくなりましたよ。(〃∇〃)


    わが家は12月からGP-712での【つなぐ】を本格運用し始めました。
    今のところ目立った不具合もなく、順調に稼働中です。
    今後、何か不具合があれば、ここに追記していきたいと思います。



    【 つなぐの提供について 】

    【つなぐ】がどうしても欲しい。
    だけど、英語もネットワークもわからない・・・。
    でも、どうしても使いたい!

    もし、そんな方がいるようであれば、必要機材をすべて揃えて、さらにIP-PBXの設定も済ませた上で、提供できる方法を考えます。
    しかし、かなり手間がかかるので、多少はマージンを頂くことになるとは思います。
    ・・・そもそも、「そんな方がいれば」の話ですが。

    <追記>
    【つなぐ】提供フォーム作成しました。
    ブログ上では情報送信時の暗号化に問題ありなので、外部システム(ネットオウルのもの)を使いました。

    【つなぐ】が欲しい方はこちらからご連絡ください。

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


    <2015.1.4 更新>
    【つなぐ】の設置編として<ガラケー(話し放題)と、スマホ(MVNO)を【つなぐ】>アップしました。
    【つなぐ】で一体何ができるのかを、本記事よりは少しわかりやすく書いたつもりです。


    <2014.12.15 更新>
  • 設定ファイルの整合性が取れていなかったため「extensions.conf」を修正しました。
  • 【つなぐ】提供フォーム作成しました。

    <2014.12.22 更新>
  • 設定ファイルに「抜け」があったため「extensions.conf」を修正しました。
  • 2014年11月15日土曜日

    Windowsタブレットでファイルサーバを作る

    我が家の動画鑑賞方法は二通りあります。
  • USBメモリに動画を保存し、TV側でそれを再生する。
  • ルータに挿したUSBメモリ上の動画をChromeCastで再生する。

    いずれの方法もUSBメモリを主体としているため、容量が少なすぎます。
    いまや、テラバイト級のHDDが数千円で売られているのというのに、私は32GBのUSBメモリで細々と運用しています。

    徐々にそれが億劫になり、もっと大容量のディスクがほしくなりました。
    ついでにそのバックアップもとれれば、なお良しです。




    そこで、ファイルサーバを構築することとしました。



    【 サーバに求めるもの 】

    ファイルサーバと言っても、私が求めているものは単純なファイルサーバ機能だけではありません。
    動画のストリーミング配信が可能なメディアサーバ機能も持たせたいと思っています。

    以下、サーバに求めるスペックです。
  • ファイルサーバ機能
  • メディアサーバ機能
  • 容量1TB程度
  • クラウドストレージにデータのバックアップ
  • 低消費電力であること
  • 低価格であること

    このようにワガママいっぱいなのですが、なんとこれを叶えてくれる機器が1つだけありました。
    TurboNAS」と言うネットワークドライブです。

    これはLinuxベースのNASで、拡張機能として外部のクラウドストレージにバックアップもとれます。
    価格は3万円程度です。(HDDなし)

    これですべてを満足できるのですが、何か決定打(面白さ?)に欠けます。



    【 タブレットをサーバにする? 】

    結果として、私が選んだのはWindowsタブレットです。
    Windowsであれば、OS標準でファイルサーバ機能とメディアサーバ機能を持っています。

    また、タブレットは本来、持歩くことを想定しているため、物凄く低消費電力です。
    さらに、iPadやAndroidタブレットと市場が競合しているため、非常に安価な価格設定です。

    しかし、問題は1TBも容量のあるタブレットなど存在しないことです。
    さらに、タブレットは無線LAN接続が基本であり、これではサーバとしては不安定です。また、通信速度も遅すぎます。

    まだ問題があります。
    安価なタブレットPCは、内蔵ストレージにeMMCが使われています。
    これはファイルサーバのキャッシュとして使うには不向きです。

    問題点をまとめると以下のとおりです。
  • ストレージ容量が少ない。
  • 無線LANでは不安定、かつ遅い。
  • 内蔵ストレージはキャッシュに向かない。



    【 Windowsタブレットをサーバにするために 】

    Windowsタブレットをサーバにするためには、先ほどの3つの問題点をクリアしなければなりません。
    しかし、これは意外と単純な発想でクリアできます。

    「足りないものは後付けする」

    と言うことで、HDDと有線LANアダプタを、USB接続(外付け)とすることでこの問題をクリアします。

    案外、どんなものでも接続すれば認識してしまうものです。
    「何でも挿せば動く」Windows最大の魅力です。



    【 Windowsタブレットサーバの構築 】

    Windowsタブレットをサーバにするために必要なものを列挙します。
  • Windowsタブレット
  • USBハブ
  • USB外付けHDD
  • USB有線LANアダプタ
  • USBメモリ
  • MicroUSB⇔USB変換ケーブル


    ◆ Windowsタブレット

    これがなくてはどうにもなりません。
    Windowsが搭載された格安のタブレットを選びます。
    ちなみに、高性能である必要はありません。

    私は2万円ちょっとで買える「Iconia W3-810P」を選びました。
  • Acer Iconia W3-810P

    ですが、今はダントツで以下タブレットがお勧めです。
    Windows8.1を搭載していながら2万円を切る価格帯です。
    (ドスパラ限定商品のようです。)
  • デジノス DG-D08IW



    ◆ USBハブ

    3種類のUSBハブを試しました。
    1台目はまさに「安物買いの銭失い」です。
    怪しいメーカの激安ハブを使ったら、遅い遅い・・・。

    最初はハブが原因とは気付けず、「やはりタブレットではダメなのか」とガックリしました。
    そうならないためにも、ある程度良いものを選びます。

    USBハードディスクを安定して動作させられる、セルフパワーに対応したハブがお勧めです。
    また、タブレットがUSB2.0までの対応だとしても、USB3.0に対応したものを選ぶと良いです。

    私は以下のUSBハブを選びました。
  • iBUFFALO USB3.0ハブ 4ポートタイプ(ACアダプター付) マグネット付 ブラック BSH4A05U3BK



    ◆ USB外付けHDD

    速度を重視するならば3.5インチHDDを選びます。
    省エネ・静音を重視するならば2.5インチHDDを選びます。
    なお、できればUSB3.0に対応したHDDを選ぶと良いです。

    私は以下のHDDを選びました。
  • シリコンパワー USB3.0/2.0対応 Stream S03 ポータブルHDD 1TB SP010TBPHDS03S3K



    ◆ USB有線LANアダプタ

    実際はUSB2.0で使うとしても、USB3.0に対応したギガビット有線LANアダプタを選びます。
    私は以下の有線LANアダプタを選びました。
  • Logitec 有線LANアダプタ ギガビット対応 USB3.0 LAN-GTJU3



    ◆ USBメモリ

    今回はキャッシュとしてこれを使うので、低速のUSBメモリでは役不足です。
    しかし、見た目はUSBメモリで、中身はSSDという製品が存在します。

    SSDであればeMMCより繰り返しの読み書きにも強く、速度も速いです。
    以下製品がお勧めです。
  • SanDisk Extreme USB3.0 フラッシュメモリー 32GB SDCZ80-032G-J57



    ◆ MicroUSB⇔USB変換ケーブル

    これもUSBハブと同様、粗悪品は避けるべきです。
    私はIconiaに標準で付属していた変換ケーブルを使用しました。

    ある程度の品質が確保された有名メーカを選んでおけば問題ないと思います。
  • SANWA SUPPLY USBホスト変換アダプタケーブル(MicroBオス-Aメス) 10cm AD-USB18



    以上の機器をWindowsタブレットに接続すれば、ハードウェアの準備は完了です。



    【 Windowsタブレットサーバ上でファイルを共有する 】

    基本的にWindowsタブレットサーバに使うソフトウェアはOS標準のもので問題ありません。
    接続したUSB HDDを共有すれば、それだけでファイルサーバとメディアサーバの出来上がりです。

    しかし、クラウドストレージ上に常時バックアップをとるためには、別ソフトが必要です。



    【 バックアップ先のクラウドストレージ 】

    まずはバックアップ先を決定します。
    無難なところではDropBoxかGoogleドライブです。
    しかし、私が選んだサービスは「FINALBOX」と言うクラウドストレージです。
  • DropBox(1TB) ・・・ 1200円/月
  • Googleドライブ(1TB) ・・・ 1000円/月
  • FINALBOX(無制限) ・・・ 1000円/月

    バックアップという観点からは、保存先にはFINALBOXのような無名なところを選ぶべきではないと思います。
    いつサービスが終了してもおかしくありませんし、また預けたデータの扱い(機密性など)についても、信用できるわけではありません。

    これについては別記事で詳細を書きたいと思います。

    なお、FINALBOXのメリットは容量が無制限なことよりも、転送速度がDropBoxやGoogleドライブに比べて遥かに速いことです。



    【 必要なソフトウェア 】

    必要なソフトウェアは次の2点です。
  • NetDrive
  • FreeFileSync

    この2つのソフトは私が使っているだけであって、同様のソフトはたくさんあります。
    もし使いにくければ、自分にあったソフトを探してみると良いと思います。

    ◆NetDrive
    クラウドストレージをローカルドライブとしてOSに格納できます。
    なお、ひと月の試用期間が過ぎると、機能が限定されますが、これは限定されていても特に問題はないと思います。
    (ただし、4GB以上のファイルを扱えません)

    ◆FreeFileSync
    ローカルドライブ間で同期したり、バックアップをとったりと様々なことができます。

    この2つのソフトを組み合わせて、USB HDDとクラウドストレージとを、リアルタイムに同期します。

    (※ ソフトの使い方は、他サイトで多くの情報が得られるため割愛します。)

    これで、バックアップシステムが完成です。



    【 タブレットとしての電源管理機能を無効にする 】

    タブレットは最大限にバッテリを保たせるため、すぐに画面がOFFになります。
    通常の運用であれば、これで全く問題はありません。
    しかし、困ったことに画面消灯中は強制的にLANもスリープ状態に入ってしまいます。

    こうなると、ネットワーク上からWinタブサーバが姿を消します。
    これではサーバとして機能しません。

    そこで、電源オプションを変更することになるのですが、電源オプションが「バランス」から変更できない場合があります。
    これはモバイル用途に最適な電源管理「InstantGo」が有効になっているためです。

    この場合、まずは「InstantGo」を無効にして、詳細な電源管理を行えるようにする必要があります。
    そうした後、画面が消灯してもスリープしないように設定します。
    1. 検索からregeditと打ちレジストリエディタ「regedit.exe」を起動します。
    2. HKEY_LOCAL_MACHINE System\CurrentControlSet\Control\Power と進みます。
    3. 「CsEnabled」の値のデータを「1」から「0」に変更します。(InstantGoの無効化)
    4. レジストリエディタを閉じて、Windowsを再起動します。
    5. 電源オプションの詳細設定より、画面消灯時もスリープしないよう設定します。



    【 まとめ 】

    Winタブサーバ構築費用
  • Windowsタブレット:21000円
  • USBハブ:2400円
  • USB外付けHDD:7000円
  • USB有線LANアダプタ:1700円
  • USBメモリ:家にあったもの
  • MicroUSB⇔USB変換コネクタ:付属品

    約32000円です。

    う・・・、なんか、TurboNASとほとんど変わりません。(゚_゚;)
    苦労したくない人はTurboNAS買ってください。
  • QNAP TurboNAS TS-121


    ・・・!!
    こういう風にまとめたかったわけではありません!(-_-;)

    もちろんTurboNASも良いのですが、Windowsで作ったサーバはとにかく使い勝手が良く、メンテナンスさえも、リモートデスクトップで行えます。
    また、非常に多くのフリーソフトがあるため、自分の好みにカスタマイズも可能です。
    なお、リモートデスクトップクライアントは、MS純正アプリとしてスマホにも提供されています。

    さらに、Winタブサーバは、Windowsならではの冒険もできます。
    現在、FINALBOXが実用可能か試験中なのですが、正直言ってWEVDAVがかなり不安定で、接続できない時間が一日の半分ぐらいあります。

    それでも何とか、エラーを出しつつもバックアップをしています。
    そんな「適当さ」もWindowsであるからこそ許されることです。

    パッケージ化された鉄壁のTurboNASか、自由度が高くなんでもできるWinタブサーバか。
    ほぼ同価格帯であれば私はWinタブサーバを選びたいと思います。

    (本音を言うと、費用対効果が非常に高い上に、こんなこと誰もやっていなくて面白いからなんですが。)
  • 2014年9月18日木曜日

    キーボード付き10インチタブレットPCが欲しい(比較)

    初めてWindwsタブレットを購入しました。
    今までは「モバイル機器=Android」と考えていたため、Windowsマシンになんて見向きもしていませんでした。

    特に、Windows8系はMicrosoftがAndroidに恐怖を感じ、即席で作ったOSです。
    そんなもの使うまでもないと思っていました。




    結論から言います。
    「Windowsタブレット」は非常に使いやすいです。

    しかし、WindowsタブレットはAndroid機と同じように使ってはダメです。
    これは、タブレット機能が利用できるノートPCと思う必要があります。



    【 Windowsタブレット購入の経緯 】

    ・・・ある日の妻との会話・・・

    「なぁ妻よ。最近私の出張が多いのだが、いかがなものか?」
    「は?知らんわ。」

    「なぁ妻よ。最近出張が多くてタブレットなるものが欲しくなってしまったのだが、いかがなものか?」
    「知らんて。買えば?」

    私(心の声)「ぬぅ? 今、我が妻は買えと? こ、これは・・・? キ、キ、キタ━━━━(゚∀゚)━━━━!!」

    「ク、キキキ・・・」(心の声がちょっと漏れた)
    「・・・・・。」


    翌日・・・

    「タブレット買っちゃった(*´ω`*)」
    「うぉ!はや!!ちゃんと選んだの?」
    「うん。Windows機にしてみた。」
    「いくらしたの?」
    「4万円。」
    「へぇー、これで4万か、いいね♪ 昔と比べるとずいぶん安くなったねぇ。」

    こうして、妻にも認められ、「ASUS TransBook (T100TA-DK32G)」が我が家に仲間入りしました。



    【 タブレットPCに求めること 】

    まず最初に、タブレットPCを選ぶ基準を列挙します。
  • キーボード付きであること
  • タッチパッド付きであること(マウス接続でも妥協)
  • 画面サイズは10インチ程度
  • 軽いこと
  • 低消費電力であること
  • 低価格であること(重要)


    意識してWindowsに的を絞ったわけではなく、最初はAndroidも視野に入れていました。
    しかし、結局のところ、キーボードとタッチパッドを優先的に考えると、消去法でWindows8もしくは8.1しか残りませんでした。

    なぜ、ここまでキーボード付きにこだわったかと言いますと、キーボードとディスプレイがドッキングすることによって、電車内でも使いやすくなるためです。

    キーボードとディスプレイが別々の場合、ディスプレイはそれ単体でテーブルなどに立てる必要があります。
    キーボードにはBluetooth接続のものを用い、膝の上でタイピングするようなイメージでしょうか。

    このような使い方のほうが合っているという人も、結構いると思います。
    ですが、私はテーブルがない場所でも使えそうな、キーボードドッキングタイプにこだわりました。



    【 最後まで悩み続けた機種たち 】

    以下が最終候補まで残った機種です。
    そのどれもが素晴らしい仕様であり、見た目も格好良いです。
    なお、本体とキーボードを完全に固定できる機種は1機種しかありませんでした。

    ※ 価格はすべて4万円程度で、このクラスでは格安の部類です。


    製品名 マイクロソフト Surface 2
    「P3W-00012」
    ASUS TransBook
    「T100TA-DK32G」
    ASUS VivoTab Smart ME400C
    「ME400-64DX」
    Lenovo IdeaPad
    「Miix 10」
    画像

    OS Windows RT 8.1 Windows 8.1 Windows 8 Windows 8
    CPU Tegra 4 1.7GHz Atom Z3740 1.33GHz Atom Z2760 1.8GHz Atom Z2760 1.8GHz
    画面サイズ 10.6インチ 10.1インチ 10.1インチ 10.1インチ
    寸法
    (幅×奥行×高さ)
    本体:
    275×173×8.9 mm

    キーボード:
    279×187×5.4 mm
    本体:
    263×171×10.5 mm

    キーボード:
    263×171×13.1 mm
    本体:
    262.5×171×9.7 mm

    キーボード:
    259×167×5.1 mm
    本体:
    265×173×10.1 mm

    キーボード:
    282×188×21 mm
    重量 本体:676 g
    キーボード:262 g
    本体:520 g
    キーボード:520 g
    本体:580 g
    キーボード:270 g
    本体:580 g
    キーボード:480 g
    備考 純正キーボード別売り 本体とキーボードが完全に固定可能(磁石等による接続ではなく、物理的にドッキング可能)






    ◆ MS Surface2

    キーボードが別売りとなっています。(価格:約13,000円)

    CPUに「Tegra4」を積んでおり、あらゆる分野をそつなくこなす機種に仕上がっています。
    またモニタサイズが10.6インチあり、4機種の中で少しだけ大きいことが特徴です。
    解像度に関しても4機種中で、唯一FHDに対応しています。

    なお、キーボードは5.4mm厚、262gと非常に薄く軽量です。
    しかし、これが別売りであることだけが最大の難点です。


    ◆ ASUS TransBook

    CPUに「Atom Z3740」が採用され、4機種中で最高の性能を誇ります。
    また、同CPUの効果でバッテリーの持ちも最高クラスです。(15時間の連続使用が可能)

    本体部分とキーボード部分は差し込みにより堅固な固定が可能です。
    これで、いかなる状態で使おうが、モニタとキーボードとが外れることがありません。

    ただし、キーボードは4機種中最も重く、520gもあります。
    なお、接続方法はBluetoothによるものではなく、物理接続のため安定したタイピングを実現できるものと思われます。


    ◆ ASUS VivoTab Smart

    この見た目は私の一番の好みでした。
    キーボードが完全にドッキングするわけではないのですが、それを補って余りある形状に惹かれます。
    また、キーボードは5.1mm厚、270gと非常に薄く軽量です。

    しかし、CPU(Atom Z2760)には一世代前のものが採用されています。
    タブレットにCPU速度を求めているわけではありませんが、ここだけが唯一の悩みどころです。


    ◆ Lenovo IdeaPad Miix 10

    これはキーボードにタッチパッドがありません。
    そのため、快適な操作のためにはマウスを必要とします。

    この機種も見た目に惹かれて最後まで残りました。
    性能は先ほどの「ASUS VivoTab Smart」とほぼ同等で、CPUも同一の「Atom Z2760」が使われております。
    ただし、キーボードに関してはこの機種のほうが、打ちやすそうに思えました。



    【 ASUS TransBook を購入 】

    最終的に私が選んだ機種は「ASUS TransBook」となりました。
    決め手はCPU性能と堅固にドッキング可能なキーボードでした。

    「ASUS TransBook」購入後ですら、ずっと悩んだのが「MS Surface2」です。
    キーボードさえ別売りでなければ、この機種にしていたかもしれません。
    それほど、この「Surface2」にはマイクロソフト社の本気が感じられます。

    価格を気にしないのであれば、非常におすすめの製品です。

    ですが、最終的に私は「ASUS TransBook」を購入しました。
    今まさにこの文章をTransBookで書いているわけですが、この機種は完璧です。
    非の打ち所がありません。


    <以下、簡単なレビューです>

    バッテリーに関しては、片道4時間の出張後も、バッテリーに余裕を残したままホテルに到着です。
    そのまま充電せずに4時間ほど使いましたが、バッテリーはまだ半分ぐらい残っていました。

    電車内(新幹線)でのタイピングも全く問題なしです。
    キーピッチの狭さが心配でしたが、特に打ちにくさは感じませんでした。

    タッチパッドについては、他の方のレビューで酷評だったのですが、私の感覚では全く問題なく、むしろかなり操作しやすく感じました。


    総評として、「ASUS TransBook」は4時間使い続けても違和感を感じないほどに快適です。
    ハードウェアに関しては完璧と言えます。
    しかし、「Windows8.1」はお世辞にも使いやすいとはいえません。

    より快適な環境を整えるためには、自分に適したOSのカスタマイズが必要になると思います。
    これに関しては、使いつつカスタマイズを進めていくこととします。



    【 まとめ 】

    ネットを見たりゲームをするだけならば、間違いなくAndroid機がお勧めです。
    それにもかかわらず、Windowsを選ぶということは、それ以外の用途が主であるためです。

    たとえば、文章書き用であったり、SSHクライアントであったりと・・・。

    今、この文章はまさに「TransBook」から書いています。
    文章を書くことがメインであれば、やはりAndroidよりもWindowsに分があります。

    また、特殊な用途においてもWindowsは優れています。
    現在、我が家のSIPサーバはどこからでもSSHでログインできるようになっています。

    本日もスマホのテザリングにTransBookを接続し、新幹線の中からSSHで我が家のSIPサーバをメンテしていました。
    アプリケーションやSSHの鍵には、デスクトップマシン(Windows)と同様のものが使えました。

    こういう特殊な用途にもあっさりと順応できることが、Windowsの最大のメリットと言えます。


    最初に言ったとおり、ネットに強いのはAndroid機です。
    しかし、それ以外の用途をモバイルに求めた場合、キーボード付き10インチタブレットPC(Windows)は最適な選択と言えます。
  • 2014年9月3日水曜日

    「CuBox-i2」にArchLinuxをインストールしてAsteriskを稼働する

    CuBox-iにArchLinuxをインストールする方法は、公式サイトに全て書かれています。
    http://www.solid-run.com/wiki/ArchLinux

    しかし、暗号のような英語の羅列が意味不明で、既に戦意喪失しました。




    このまま、戦わずして負けるわけにはいきません。
    どうすれば、この文字列に勝利できるのか・・・。

    そうだっ! まずは柔らかい言葉に置き換えてみよう!!



    【 Installation(インストール) 】

    This installation method produces a SD card with the official ArchLinuxARM installation. The only difference is the use of a script to prepare the SD card. It simply performs all the steps described on the ArchLinuxARM pages for you.

    <柔訳>
    このインストール方法はね、手順どおり進めていくだけで、ArchLinuxがインストールされたSDカードが出来ちゃうんだよ!
    それじゃあ、これから簡単に手順を説明するね。


    1.Download the official ArchLinux rootfs [1]

    <柔訳>
    まずはCuBox-iに対応したArchLinuxをダウンロードしてね。
    DL先は[1]に用意しといたよ。


    2.Download the installation script (a slightly modified GeexBox script) [2]

    <柔訳>
    インストール用のスクリプトをダウンロードしてね。(これは、他OS用のスクリプトなんだけど、Arch用にちょっとだけ変更してみたよ。)


    3.Insert your SD card in your linux box, check (using dmesg) the name of the device (something like /dev/sdX) and run the following as root

    <柔訳>
    SDカードをLinuxマシンに挿してね。あ、まだCuBoxには挿しちゃダメだよ。
    SDカードを認識したら、sdXの部分の名前を確認してあげて。(例えば「/dev/sdb」とかになってるんじゃないかな。)
    (「dmesg」とタイプすればなんとなくわかると思うよ。)
    その後は管理者権限(root)で、これからのコマンドを実行してね。

    まずは上の1と2をダウンロードしたファイルがあるディレクトリに進んで・・・
    それで、次のコマンドを実行だよ。
    chmod +x make-sdcard
    ./make-sdcard /dev/sdX ArchLinuxARM-imx6-cubox-latest.tar.gz
    


    たったこれだけでArchLinuxのインストールが完了しちゃったよ♪


    だめだ・・・。この口調は「暗号のような英語の羅列」以下に思えてきた・・・。
    と言うより、これを私(おっさん)が書いていると思うと、後で読み返してからが非常に辛い。私の心が泣いている。心が痛い・・・。

    しかし、案外ニュアンスが伝わってわかりやすそうな気がするので、精神を病みつつももう少し強行してみます。



    【 Post Installation(インストール後) 】

    Now you should have a SD card with a (very) basic ArchLinux. Insert it into your Cubox-i (connected to wired ethernet) and boot into ArchLinux, then login as root (password root) and run.

    <柔訳>
    ArchLinuxをインストールしたSDカードをCuBox-iに挿してみて。
    いよいよ、CuBox-iを起動するよ。
    あ、そうだ、LANケーブルは最初からつなげておいてね。

    起動したらユーザ名(root)とパスワード(root)を入力してログインしてね。
    そうしたら、次のコマンドを入力だよ。
    pacman -Sy
    pacman -Su
    
    (※公式サイトにはlxdeやWiFiをインストールする手順が記載されていますが、今回はインストールしません。)



    【 Upgrading to 3.10.30 Kernel(カーネルのアップデート) 】

    The official ArchLinux installation comes with the the new 3.10.30 kernel, so you do not need to upgrade on the fresh installation. However, it you are still running an old installation with the 3.0.35 kernel, it is recommended that you upgrade to the 3.10.30 kernel. Before you perform this upgrade make sure that you resent uboot defaults. Reboot your Cubox-i and hit a key when you get to the uboot console, then run the following commands.

    <柔訳>
    Archをインストールした直後はカーネルが3.0.35というバージョンで、ちょっと古いんだ。
    これが古いままだと、動かないソフトがあったり、たまーに不具合が発生するよ。
    だからこの際、最新カーネルにアップグレードしちゃおう!
    そうだ、アップグレード前には再起動を忘れないでね。
    そういうのも含めて、これからの説明どおりに進めていけばOKだよ。


    Reboot again and log in as root. Install the new u-boot.

    <柔訳>
    一度再起動して、rootでログインし直してね。
    reboot
    

    新しい「u-boot」をインストールするよ。
    pacman -Sy --force uboot-cubox-i
    

    and follow the instructions to flash SPL and u-boot.img on the SD card. The command installs the new uboot overwriting the old SPL and u-boot.img files in /boot. Finally, install the new kernel

    <柔訳>
    SPLとu-bootを書き換えたら、新しいカーネルをインストールするよ。
    pacman -S linux-imx6-cubox-dt
    

    これで新しいカーネルへアップデートかんりょ~♪

    (柔モードを終了。心が悲鳴をあげつつも、ヘンな満足感でいっぱいです。)


    以上で、CuBox-i2にArchLinuxのインストールが完了です。
    これ以降は環境(やりたいこと)によってかなり異なってくるでしょうから、私の備忘録としてだけ記しておきます。



    【 Asteriskのインストール 】


    Asteriskに何らかの形でキャリアを収容して、MVNOから利用するためのメモです。
    私の場合はY!mobileを収容しています。

    まずはAsteriskをインストールします。
    pacman -S asterisk
    

    すごいです。
    単純にpacmanでインストールするだけで、AsteriskはVer12が入り、以下のパッケージが自動的に導入されます。
    これだけで、相当数の音声・動画コーデックに対応したIP-PBXが完成します。


    Packages (82): alsa-lib-1.0.28-1 damageproto-1.2.1-3 elfutils-0.159-1
    enca-1.15-1 ffmpeg-1:2.3.3-1 fixesproto-5.0-3 flac-1.3.0-3
    fontconfig-2.11.1-1 freetype2-2.5.3-2 fribidi-0.19.6-1
    gnutls-3.3.7-1 graphite-1:1.2.4-1 gsm-1.0.13-8
    harfbuzz-0.9.35-1 inputproto-2.3.1-1 jack-0.124.1-1
    jansson-2.6-1 json-c-0.12-2 kbproto-1.0.6-2 lame-3.99.5-2
    libass-0.11.2-1 libasyncns-0.8-5 libbluray-0.5.0-1
    libdrm-2.4.56-1 libice-1.0.9-1 libjpeg-turbo-1.3.1-1
    libmodplug-0.8.8.5-1 libogg-1.3.1-2 libpciaccess-0.13.2-2
    libpng-1.6.12-1 libpulse-5.0-1 libsamplerate-0.1.8-3
    libsm-1.2.2-2 libsndfile-1.0.25-2 libsrtp-15.1c9bd90-3
    libtasn1-4.1-1 libtheora-1.1.1-3 libva-1.3.1-2 libvdpau-0.8-1
    libvorbis-1.3.4-1 libvpx-1.3.0-1 libx11-1.6.2-2
    libx264-1:142.20140311-6 libxau-1.0.8-2 libxcb-1.11-1
    libxdamage-1.1.4-2 libxdmcp-1.1.1-2 libxext-1.3.3-1
    libxfixes-5.0.1-1 libxi-1.7.4-1 libxml2-2.9.1-5
    libxrender-0.9.8-1 libxshmfence-1.1-1 libxslt-1.1.28-3.1
    libxtst-1.2.2-1 libxxf86vm-1.1.3-1 llvm-libs-3.4.2-1.1
    mesa-10.2.6-1 mesa-libgl-10.2.6-1 nettle-2.7.1-1
    opencore-amr-0.1.3-2 openjpeg-1.5.2-1 opus-1.1-1.1
    orc-0.4.19-1 p11-kit-0.20.2-1 pjproject-2.2.1-3
    portaudio-19_20140130-1 recode-3.6-8 recordproto-1.14.2-2
    renderproto-0.11.1-3 rtmpdump-20131205-1 schroedinger-1.0.11-2
    sdl-1.2.15-6 speex-1.2rc1-4 v4l-utils-1.2.1-1 wayland-1.5.0-1
    xcb-proto-1.11-1 xextproto-7.3.0-1 xf86vidmodeproto-2.3.1-3
    xproto-7.0.26-1 xvidcore-1.3.3-1 asterisk-12.4.0-1


    これでAsteriskのインストールは完了ですが、CLIを起動する上で1つだけ足りないモジュールがあります。
    それをインストールしないままCLIを起動すると、こんなメッセージが出ます。 

    error while Loading shared libraries: libsqlite3.so.0: cannot open shared object file: No such file or directory

    他サイトによれば、これはDSOモジュールとしてSQLiteが読み込めてないと言うことらしいです。「libsqlite3.so.0(本体 libsqlite3.so.0.8.6)」のシンボリックリンクを「/usr/lib」に置くことで解決するとのことですが・・・。

    今回インストールしたArchLinuxには、そもそもSQLiteが入っていないのではないかと考え、普通にパッケージをインストールしました。(結果、当たりでした。)
    pacman -S sqlite
    

    ポートの開放に関しては非常に悩みました。
    どうがんばっても、AsteriskのUDPポート5060にパケットが到達しないのです。
    ルータのポートマッピング、iptablesによるファイヤーウォール等々、ここには書ききれないほど色々なことを試しました。
    しかし、どうしてもパケットが遮断されます。
    試しにプロトコルをUDPからTCPに変更したところ、AsteriskでListen中のポート5060に反応がありました。

    ここでやっと気付きました。
    プロバイダから提供されたHGW(ルータ)に原因があるのではないかと。

    私が契約しているプロバイダ(auひかり)用HGW「BL900HW」の裏設定で、UDP5060がコンフリクトしているように思えます。

    (以降、特に何も注意がない限り、「sip.conf」内の[general]の設定です。)

    そこでUDPポートを5060から5062に変更しました。
    bindport=5062
    

    今までの苦労は何だったのか・・・?と言うほどあっさりパケット通過、レジスト完了。
    (ポート5062はセキュリティ的にも好都合なので、このまま採用します。)

    今回はローカルでの利用だけでなく、外からも常時利用するのでexternipを設定します。
    なお、これを設定しないと外部からの接続でNATが解決できません。
    externip=114.17.xxx.xxx  ;(WAN側IPアドレス)
    

    さらに、これだけではまだNATの解決には至らず、以下を追加します。
    (これは[general]ではなくユーザのところに記載しました。)
    nat=yes
    

    これでやっとNATをスムーズに乗り越えられるようになります。

    また多様な環境に、より柔軟な対応ができるように、使用可能コーデックを多めにします。
    disallow=all
    allow=ulaw
    allow=alaw
    allow=gsm
    allow=g729
    allow=ilbc
    allow=speex
    

    さらに、接続が確立した後は、音声ストリームのやりとりは端末間でやってもらいたいため、Asteriskサーバをバイパスさせます。
    canreinvite=yes
    

    これで完成。
    もちろん他にも細かいところはいじっていますが、わかりにくかったところはこのぐらいでした。


    これですべて完成かと思っていたのですが、新たな不具合発生です。
    同じAsteriskにぶら下がっているイエデン(ブラステル)の着信時の音声パケットのうち、送信側が通らなくなりました。

    この対応として、HT702のRTPポートを5004から15004に変更しました。
    しかしこれでも、まだ通りません。
    NATの解決がうまくいかないようです。

    そこで、発想を換え、ブラステルはスッパリ諦めます。
    無理にAsteriskにレジストする必要はないため、HT702から直接ブラステルをレジストします。

    どうせカケホーダイ回線を収容しているので、内線通話はなくてもいいかなと言う判断です。

    最後に時刻合わせです。
    ログを見ている時に世界標準時刻では見難いため、日本時刻に合わせます。
    (これはAsteriskの設定ではなく、Linuxのコマンドです。)
    timedatectl set-timezone Asia/Tokyo
    

    以上で、Asteriskの設定は終了です。
    後は適切なSIPクライアントに3G接続時とWi-Fi接続時の両方を設定して、開通完了。



    【 感想 】

    今回は難しすぎて、途中何度も投げ出したくなりました。

    実はArchLinuxに至る前はUbuntuで同様のことをしていました。
    ですが、どうしてもポート5060が開放できず、元来使いたかったArchに逃げてきた感じです。

    今にして思えば、Ubuntuのせいではなく、auひかり(HGW)のせいだったことがわかります。

    結果オーライと言えば聞こえは良いのですが、今回の件では自分の知識不足を痛感しました。
    ですが、初めてLinuxに触れてから2ヶ月弱、ここまで来れれば上出来です。
    ちょっと自分を褒めてあげたいぐらいです。

    ・・・と言うことを妻に話してみたところ、
    『そんなことどうでもいいんだけどさ、トイレットペーパーが無いんだけど!』
    と、会話がトイレの話に瞬時に切り替わりました。(TдT)

    サーバ完成後、私の最初の任務はトイレットペーパーの調達でした。
    トイレットペーパー片手に、自己満に満たされつつ家路につく私でした

    2014年7月9日水曜日

    UbuntuでAsteriskを構築し「ブラステル」を登録する(CuBox-i2使用)

    イエデン(HT702)を破壊してからここに至るまで、大急ぎでした。(妻が怖い)

    本当はHT702だけを入替えて済ませるつもりだったのですが、新しく購入したHT702は、着信後10秒で切断される現象に悩まされ、結局はAsteriskの構築に至りました。

    (着信後の即切断現象は<「FUSION IP-Phone SMART」や「ブラステル(050)」を固定電話として使う>のコメントで頂いている情報と同様の状況と思われます。)




    今回は、CuBox-i2にインストールしたUbuntuでAsteriskを構築し、ブラステルを使えるようにするまでを紹介します。
    Asteriskの話は、分かる人には簡単、でも、わからない人にはチンプンカンプンな話なので、さらっと流したいと思います。



    【Asteriskのインストール】

  • Asteriskをインストールする。(makeやビルドなどは面倒なので行いません。)
    $ sudo apt-get install asterisk

    途中で「ITU-T Telephone code」を聞かれるので、日本の国番号「81」を指定します。


    ・・・以上でAsteriskのインストール完了!
    これだけで、Ubuntuの起動とともにAsteriskも自動実行されるようになります。

    「Linux = 難しい」と思っていましたが、結構適当な感じで行けそうな気がしてきました(・_・;)



    【設定ファイルの変更】

    設定を変更するファイルは、以下の2つだけです。
  • /etc/asterisk/sip.conf
  • /etc/asterisk/extensions.conf

    「sip.conf」に元々記載されていたデータはすべて消去して、以下設定を記載します。
    (心配な人はオリジナルファイルのバックアップを取っておきます。)


    まずは内線電話が通じるかを確認します。

    <sip.conf>
    [general]
    context=default
    port=5060
    bindaddr=0.0.0.0
    language=ja
    
    [201]
    type=friend
    defaultuser=201
    secret=pass
    canreinvite=no
    host=dynamic
    
    [202]
    type=friend
    defaultuser=202
    secret=pass
    canreinvite=no
    host=dynamic
    
    [203]
    type=friend
    defaultuser=203
    secret=pass
    canreinvite=no
    host=dynamic
    


    <extensions.conf>
    [default]
    
    exten => 201,1,Dial(SIP/201,30,r)
    exten => 201,2,Hangup()
    
    exten => 202,1,Dial(SIP/202,30,r)
    exten => 202,2,Hangup()
    


    この設定を終えたら、スマホを2台用意してAsteriskサーバをレジストします。
    2台のスマホをWi-Fi接続(ローカルネットワーク)とし、CSipSimpleなどのSIPクライアントに、以下SIP情報を登録します。

    [1台目]
    SIPサーバ:192.168.x.yyy(AsteriskサーバのIPアドレス)
    ユーザID:201
    パスワード:pass

    [2台目]
    SIPサーバ:192.168.x.yyy(AsteriskサーバのIPアドレス)
    ユーザID:202
    パスワード:pass


    これで、1台目⇔2台目の発着信及び通話テストを行います。
    電話番号は「201」と「202」です。(ユーザID=内線番号)

    無事に発着信と双方向通話ができることを確認します。

    両耳にスマホを当てながら、ブツブツと独り言を喋りつつ、通話ができる感動でニヤニヤします。
    (この姿は誰にも見られないようにしてください。キケンです。)



    【ブラステルの登録】

    早速、ブラステル050を使えるようにします。
    以下のように設定ファイルを書き換えます。

    <sip.conf>
    [general]
    context=default
    port=5060
    bindaddr=0.0.0.0
    dtmfmode=rfc2833
    language=ja
    
    ; Brastel 050 Free
    register => [ユーザID]@softphone.spc.brastel.ne.jp:[パスワード]:[ユーザID]@softphone.spc.brastel.ne.jp/200
    
    [brastel]
    type=friend
    secret=[パスワード]
    username=[ユーザID]
    fromuser=[ユーザID]
    fromdomain=softphone.spc.brastel.ne.jp
    host=softphone.spc.brastel.ne.jp
    context=default
    insecure=invite
    canreinvite=no
    disallow=all
    allow=ulaw
    allow=gsm
    
    [201]
    type=friend
    defaultuser=201 ;(SIPクライアント1が接続に使うユーザID)
    secret=password ;(SIPクライアント1が接続に使うパスワード)
    canreinvite=no
    host=dynamic
    
    [202]
    type=friend
    defaultuser=202 ;(SIPクライアント2が接続に使うユーザID)
    secret=password ;(SIPクライアント2が接続に使うパスワード)
    canreinvite=no
    host=dynamic
    
    [203]
    type=friend
    defaultuser=203 ;(SIPクライアント3が接続に使うユーザID)
    secret=password ;(SIPクライアント3が接続に使うパスワード)
    canreinvite=no
    host=dynamic
    


    <extensions.conf>
    [default]
    ; incoming call
    exten => 200,1,Dial(SIP/201&SIP/202&SIP/203)
    exten => 200,n,Hangup
    
    ; brastel
    MYNUMBER=05012345678 ;(自分のブラステルの電話番号)
    exten => _0.,1,Set(CALLERID(num)=${MYNUMBER})
    exten => _0.,n,Set(CALLERID(name)=${MYNUMBER})
    exten => _0.,n,Dial(SIP/${EXTEN}@brastel,120,T)
    
    ; naisen
    exten => 201,1,Dial(SIP/201,30,r)
    exten => 201,2,Hangup()
    
    exten => 202,1,Dial(SIP/202,30,r)
    exten => 202,2,Hangup()
    
    exten => 203,1,Dial(SIP/203,30,r)
    exten => 203,2,Hangup()
    


    これで、ブラステルの登録完了です。
    もし、内線番号を増やしたい場合は、同様の記述方法で「sip.conf」と「extensions.conf」に『204』『205』・・・と追記していきます。



    【完成】

    以上で、Asteriskの設定はすべて完了です。
    なお、この設定ではAsteriskは以下のように動作します。
  • 外線着信時は登録したすべての電話が一斉鳴動。
  • 内線通話は201~203で個別に呼び出し、200ですべての内線電話を一斉に呼び出し。
  • 外線発信の制限なし。

    なお、この設定ではセキュリティは一切考慮していません。
    外部(ローカルネットワーク以外)からこのAsteriskを使えるようにするためには、国際通話の禁止やパスワードの強化など、多くのセキュリティ対策を行う必要があります。
  • 2014年6月29日日曜日

    「CuBox-i2」にUbuntuをインストールし、Asteriskを構築する(Ubuntuインストール編)

    「CuBox-i2」にUbuntuをインストールして、それにAsteriskをインストールしました。




    このCuBox-iと同じようなコンセプトの小型PCとしては、「Raspberry Pi」が有名です。
    しかし、CuBox-iの方が圧倒的に小さく、そして格好いいです。

    ここではCuBox-iにUbuntuをインストールするまでを紹介します。



    【CuBox-i】

    CuBox-iはSolidRun社が開発した超小型PCです。
    スペック毎にいくつかのモデルがあり、CPUは1~4コア、GPUは通常モデルか高性能モデルかを選べます。(以下参照)
    もちろんハイスペックなほど、お値段もハイスペックになります(>_<)

  • CuBox-i1
  • CuBox-i2
  • CuBox-i2eX
  • CuBox-i2ultra
  • CuBox-i4pro

    私はLinuxサーバ(IP-PBX)として使うことが目的なので、高性能の必要性はなく「CuBox-i2」を選択しました。(1万円弱)



    【Cubox-i2にLinuxをインストールする】

    Linuxのディストリビューションをどれにするか迷った結果、「ArchLinux」か「Ubuntu」かに絞りました。
    当初はArchLinuxに心が傾いていたのですが、紆余曲折した結果、Ubuntuを採用しました。

    (ArchLinuxはインストール時に間違ってWindowsパーティションを削除してしまい、心が折れました。そして、インストールが簡単なUbuntuの採用に至りました・・・。)

    CuBox-i2にUbuntuをインストールする大まかな手順は以下のとおりです。
    1. 準備(WindowsマシンでMicroSDカードを読み書きできるようにする)
    2. CuBox-i4pro用Ubuntuイメージを入手する。
    3. Win32 Disk ImagerでイメージをMicroSDに書き込む。
    4. Ubuntuが書き込まれたMicroSDをCuBox-iに挿して起動する。
    5. Ubuntuをアップデートする。

    Linuxのインストールは、Gigazineに書かれていたCuBox-i1の記事が非常に参考になりました。
    約5000円と激安の超小型PC「CuBox-i1」でAndroidとLinuxを動かしてみた



    【Cubox-i2にUbuntuをインストールする手順】

    ◆ 1.準備(WindowsマシンでMicroSDカードを読み書きできるようにする)

    <用意するもの>
  • Windowsマシン
  • MicroSDカード
  • MicroSDカードリーダ/ライタ
  • Win32 Disk Imager

    「MicroSDカード」は信頼のおけるブランドを選びます。
    これが理由でトラブルが発生すると、原因の特定に苦労します。

    人それぞれ好みは分かれますが、私は東芝製を選びました。(安価な割になかなか速い)
  • 東芝 microSDHC 32GB Class10 30MB/s


    「MicroSDカードリーダ/ライタ」は、変換アダプタを介すものは面倒なので避けます。
    なお、これは安価なもので構いません。
  • MicroSDカードリーダ価格


    Win32 Disk Imager」をダウンロードしてWindowsマシンにインストールします。
    使い方は・・・、私が説明するよりも「Gigazineの記事」がわかりやすいです。


    ◆ 2.CuBox-i4pro用ubuntuイメージを入手する。

    Solid Run社のページからUbuntuイメージをダウンロードして解凍します。
    http://cubox-i.com/linux-distros-ready-ubuntu-fedora-debian/
    (この中の「Ubuntu (for CuBox-i4pro, the rest of the models will be added soon)」というところ)

    CuBox-i4proモデル専用イメージのように思えますが、CuBox-i2でも使えました。


    ◆ 3.Win32 Disk ImagerでMicroSDに書き込む。
    ◆ 4.Cubox-iに挿して起動する。

    これはGigazineの記事そのままなので割愛します。
    記事内では「Android」と「GeexBox」イメージを使っていますが、それらは使わずに、先ほどダウンロードした「Ubuntu」を使います。

    なお、Ubuntuの初期ユーザ名とパスワードは以下のとおりです。
    ユーザ名:linaro
    パスワード:linaro

    これは必要に応じて変更します。


    ◆ 5.Ubuntuのアップデート。

    インストール直後のUbuntuを最新版にアップデートします。

    ターミナルを起動して、以下コマンドを入力します。
    (Ubuntuマークのアイコン(Dashホーム)をクリックし、検索で terminal と入力する。)


  • パッケージ・リストのアップデートをします。
    $ sudo apt-get update

  • パッケージのアップデートをします。
    $ sudo apt-get upgrade
    (非常に時間がかかる上に、途中でYes/Noを問いかけてくるので、付きっきりです・・・。)

  • vimに関するエラーが出力されるので以下で対処。
    $ sudo rm /var/lib/dpkg/info/vim*.postrm
    $ sudo rm /var/lib/dpkg/info/vim*.postinst
    $ sudo apt-get clean
    $ sudo apt-get install vim

  • Ubuntu12.04へアップグレード
    これは必要に応じて行います。(UpdateManagerアプリ)
    私の目的はUbuntuを使うことではなく、Asteriskを使いたいだけなので、Ubuntu11.10のまま利用しています。



    【おまけ?(CuBox-i2ギャラリー)】

    購入時の箱と明細



    CoBox-iのサイズ(私の手の大きさを参考に)



    MicroSDはこの向きに挿入する。
    引き抜くときは押しても取れない。
    先の尖ったもので引っ掛けて取るしか無い。(iPhoneのSIMトレイに挿すピン?がピッタリだった。)