ラベル ネット関係 の投稿を表示しています。 すべての投稿を表示
ラベル ネット関係 の投稿を表示しています。 すべての投稿を表示

2015年12月20日日曜日

Asteriskを使わないでケータイを【つなぐ】方法

久しぶりに【つなぐ】(※)シリーズの記事を書きたいと思います。

先日、ブログのコメントで「GP-712を使ってIVRで発信したい」との相談を頂きました。
(IVRとは「Interactive Voice Response」の略で、自動音声応答による発信システムです。)

結論から言うと、AsteriskでGP-712を制御すれば実現できます。
しかし、Asteriskが必要ということはLinux環境の構築やExtensionの記述等、どうしても難易度が高くなってしまいます。
また、別途「Raspberry Pi 2」などのハードウェアも必要となります。


※)【つなぐ】とは何かを簡単に説明すると、「MVNOデータ」+「カケホ」を1台のスマホで実現するための術です。
  また、同技術で、話し放題回線を複数人でシェアすることもできます。




そこで、「簡単かつ無料」をコンセプトとして、Asteriskを使わないケータイの制御方法を考えました。
その結果、2つのパターンを思いつきましたので、それらを紹介したいと思います。

なお、GP-712に収容するケータイは、話し放題契約(カケホ)であることを前提に話を進めます。
また、GP-710でも同様のことができますので、以降はGP-712とGP-710とを総称して「GP-71x」と表記します。

無料のIP電話との組み合わせ (1つ目の方法)
通常、GP-71xのSIPサービスの設定には、LAN上に設置したAsteriskなどのPBXを登録します。
メーカもそのような利用を想定して説明を行っていますが・・・。

ここに「ブラステル」や「IP-Phone SMART」などの、無料のIP電話サービスのSIPサーバを登録してしまいます。
これが1つ目の方法です。

登録した050番号に発信することで、IVRによってGP-71xに収容したカケホ回線から発信ができるようになります。
なお、スマホ側に、もう1回線別アカウントの「ブラステル」や「IP-Phone SMART」をレジストすることで、IVR時に発生する音声通話料を無料にできます。

ただし、この方法ではカケホ回線での着信ができないため、カケホ回線の着信は、スマホに登録した「ブラステル」や「IP-Phone SMART」に着信転送されるよう設定します。(キャリアの転送サービスを使う。)
なお、ケータイのカケホは着信転送が無料ですが、PHSの「スーパーだれとでも定額」は、PHS以外への転送は有料となるため注意が必要です。


◆【設定方法】

<手順1>
GP-71xとケータイとをBluetooth(HFP)でペアリングします。
ケータイからBTペアリングを行えば、GP-71xはすぐに見つかります。(ペアリングコードは初期設定で「0000」)

<手順2>
GP-71xの設定画面を開き、「System」→「Settings」と進みます。
「BT Dialouted」を選択し、「Volume」と「Mic Gain」を適切な値に設定します。
(下の画像では私の環境に合わせていますが、大体このぐらいが適切だとは思います。)



<手順3>
「SIP」→「Service」と進みます。
無料のIP電話サービスのアカウントを入力します。(例ではブラステルを使用しています。)



<手順4>
「Route」→「Downlink」と進み、「Free Dialout」を選択します。



これでIP電話サービスの050番号に発信すると「ピロリローン」(ドレミファの音階)と音が流れますので、続けてDTMFで発信先を入力すれば、BT収容したケータイから発信されます。

着信は前述のとおり、キャリアの転送サービスで設定を行います。(全キャリアともこのサービスの月額費用はかかりません。)

PBXesとの組み合わせ (2つ目の方法)
2つ目の方法は、WEB上の無料PBXサービス「PBXes」を使います。(※)
これは厳密に言うとAsteriskを使ってはいるのですが、難しい設定は皆無でユーザ側はそれを意識する必要はありません。

ここでのポイントは言語です。必ずEnglishを選んでください。
私は最初「日本語」を選んで失敗しました。翻訳がひどくて解読不能な日本語となります。


PBXesは多少の柔軟性があるため、キャリア転送をすることなく着信を受けられます。
また、IVRを意識しないで『電話帳からダイレクトに』カケホ回線を使った発信も可能です。


※) PBXesの無料版は、月間通話時間が2000分(約33時間)までという制限があります。


◆【設定方法】

<手順1>
PBXesのアカウントを取得する。
PBXesのサイトへ行き、「ACCOUNT ERSTELLEN」へ進みます。(ドイツ語?)
https://www2.pbxes.com/(PBXesトップページ)



<手順2>
最初に言語を英語にします。
下の画像ではリストに隠れていますが、「Speichern」を押します。



<手順3>
設定項目が英語に変わりますので、必要事項を入力し「Submit & Start」を押します。
これですぐにPBXesが使えるようになります。



<手順4>
PBXes内に内線番号を作成し、それを使えるようにします。
「Add Extension」→「SIP」と進みます。



<手順5>
「Extension Number」と「password」を決めて、「Submit Changes」を押します。
passwordはわかりづらいものにしてください。
なお、Extension Numberが内線番号となります。(例では6001としました。)



<手順6>
続けて、同様の方法で内線番号をもう一つ作ります。(例では6002としました。)
作成が終わって画面が切り替わったら、一番上の赤帯「You have made changes - when finished, click here to APPLY them」を押します。



<手順7>
音声パケットはPBXesを経由させないように変更します。
「Extensions」の<6001>を選び、「audio bypass」を「no」から「yes」にします。
そして、画像中には見えませんが、「Submit Changes」を押します。
同様に<6002>の設定も変更します。
設定変更後は一番上に出てくる赤帯「You have made changes - when finished, click here to APPLY them」を押すのを忘れないようにします。



以上で、PBXesの設定は完了です。
続いてGP-71xの設定を行います。


<手順8>
前述と同様にケータイとGP-71xをペアリングし、「SIP」→「Service」と進み、スマホの内線で使わない側(例では「6002」)を登録します。

ユーザ名:[PBXesのアカウント名]-[内線番号]
パスワード:Add SIP Extensionで決めたもの
SIPサーバ:pbxes.org



<手順9>
カケホ回線の着信で内線を鳴動させます。
「Route」→「Uplink」と進み、「Fix Number」にチェックを入れ、スマホに登録する内線番号(例では「6001」)を登録します。



<手順10>
「Route」→「Downlink」と進み、「Free Dialout」を選択します。



<手順11>
続いてスマホの設定を行います。
SIPクライアントに以下を登録します。(画像はGroundwireを使っています。)

ユーザ名:[PBXesのアカウント名]-[内線番号]
パスワード:Add SIP Extensionで決めたもの
SIPサーバ:pbxes.org
コーデック:G.711u(uLaw)もしくはiLBC
DTMF:RFC2833(G.711u)もしくはSIP INFO(iLBC)



以上で、PBXesを使う場合の設定は全て完了です。

スマホやガラケーからの発信方法
発信の都度、IVR回線(050番号やPBXesの内線番号)にかけてから相手の番号を打ち込んでも良いのですが、それでは電話帳から発信できません。
いちいち電話帳から相手の電話番号をメモって、その後IVR回線に発信していたのでは非常に手間です。

そこで、スマホやガラケーのプレフィックス機能を使ってこの問題をクリアします。


◆【スマホの場合(PBXes)】
Acrobits製のアプリを使った例を紹介します。

「設定」 → 「環境設定」 → 「番号の書き換え」 と進みます。
「書き換えルール」右側の「+」をタップします。
「条件」右側の「+」をタップします。
「開始します」を選び、接頭に「0」を入力します。
「アクション」右側の「+」をタップします。
「前に付ける」を選び、接頭に「6002,」を入力します。(「,」の入力はPauseで可)

なお、私の環境では、「,」1つでは発信に失敗するときがありました。
そういった場合は「,」を2つ入力します。(「6002,,」のようにする。)

◆【スマホの場合(050番号)】
Prefixerなどのプレフィックスを付加するアプリを使って「05012345678,」(IVR回線の番号+ポーズ)をプレフィックスに追加します。
「,」はポーズを意味し、『05012345678に発信後、少し待つ』という動作になります。
なお、iPhoneの場合や環境によっては「,」を2つ以上入れる必要があるかもしれません。


◆【ガラケーの場合(050番号)】
ガラケーの場合はPBXesの内線番号は扱えないため、必然的に050番号を使うこととなります。
なお、ガラケーのプレフィックスは機種によって設定方法が様々なためここでは紹介できないのですが、楽天でんわのサイトで各ガラケーごとに非常に詳しく説明されていましたので、そちらを参考にしてください。
http://denwa.rakuten.co.jp/column/featurephone.html

上記サイトの説明どおりに進め、「003768」の代わりに、「05012345678P」(IVR回線の番号+ポーズ)をプレフィックスとして登録します。
ここでは「P」が重要です。
Pとはポーズのことで、ケータイによって表現方法が異なります。ガラケーであっても「,」で表現される時もあります。


◆【電話帳に直登録】
今まで紹介した方法でうまくいかない場合は、電話帳に直接プレフィックスを登録してください。
電話帳に直接登録する際は「05012345678,09055556666」のように登録します。


(応用編)カケホ2台を1台にまとめる
会社で支給されたケータイやプライベートのケータイなど、常に2台以上持ち歩かなければならない人向けの情報です。

片方のケータイをIVRによる【つなぐ】とすることで、1台のケータイから複数の発信者番号を使い分けることができるようになります。
GP-712を使えば3台までのケータイを1台に集約可能です。

考え方だけ整理すればやり方は簡単です。


過去何回か紹介しましたが、固定回線を用いたIP電話(050番号)は、固定回線と同等かそれ以上の音質となります。
これとケータイとを組み合わせることにより、安定した回線品質のまま自局番号以外からの発信を可能とします。

要するに、モバイル回線にはIP網を使わずPSTNを用いることで、安定した品質を確保するということです。
そして、IP網は必ず固定回線(WAN-LAN)上で接続します。
着信にはキャリア転送を用います。

まだ少しわかりにくいため、以下にフローを掲載します。
このフローを見ると、モバイル回線上にIP網が無いことがわかります。


A:持ち歩くケータイ(カケホ)
B:GP-71xに収容するケータイ(カケホ)
C:ブラステル等のIP電話

◆ 発信時
(Aの番号を通知する場合)
A →(カケホ回線)→ 相手先

(AからBの番号を通知する場合)
A →(カケホ回線)→ C →(光回線等)→ GP-71x →(Bluetooth)→ B →(カケホ回線)→ 相手先

◆ 着信時
(Bに着信した場合)
相手先 → B →(着信転送)→ A

(Aに着信した場合)
相手先 → A


プレフィックスをうまく用いれば、発信の都度、Aからの発信とするかBからの発信とするかを選べるようになります。

あとがき
ローカルにAsteriskを設置し、それでGP-71xを制御すれば非常に自由度は広がります。
と言うよりもそれがGP-71xの使い方であり、「普通」であり、そうすべきなのはわかります。

しかし、Linuxの知識を持たない人が、Asteriskをゼロから構築することは、決して簡単なことではありません。
相当数の人がその難しさから、挫折する以前にチャレンジすらしないと思います。(私も最初はそうでした・・・。)

今回はLinuxの知識を必要とせず、Asteriskに触れることなく、いかに簡単に【つなぐ】を構築できるかを念頭に考えました。
本記事で紹介した方法であれば、GP-712かGP-710さえあれば、難なく【つなぐ】の構築が可能です。
(海外通販でGP-71xを購入するのが、1つのハードルではあるのですが・・・)


さらに、今回の2つの方法は組み合わせることもできます。
GP-71xのRealm #1と#2とにそれぞれを登録することで、SIPでもPSTN(普通の電話)でも、どちらからでも利用が可能になります。

また、この他にも、アイディア次第で様々な使い方が想像できます。
特に「無料のIP電話との組み合わせ」は使い方によっては面白く、仮に固定電話や公衆電話からでも自分のケータイ番号を相手に通知することができます。
さらに、このIP電話番号さえ知っていれば、誰でもこの回線を使うことができるため、カケホ回線のシェアも簡単です。

ただしその反面、IP電話番号を知っていれば誰でも使えてしまうことから、セキュリティ対策は必須です。
知らずにIVR用のIP電話番号にかけた人が「ピロリローン」の後に、別の電話番号を入力するとは非常に考えにくいのですが、全く考えられないわけでもありません。
最低限の対策として国際電話の使用を無効にするか、通話料の上限は設ける必要があると思いますので、その点だけはご注意ください。

PBXesにブラステルなどのIP電話をレジストし、SIPトランクとしてブラステルを用い、指定電話番号以外からのIVRを拒否することも可能とは思われます。
しかし、これは難しくなりそうなので、「簡単に」がモットーであった今回はパスし、また別の機会にしたいと思います。

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)

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

    2013年6月27日木曜日

    独自ドメインをBloggerで運用する

    前回の記事<独自ドメインを取得する>で、ドメインは取得できました。ここまでは簡単でした。
    今回は取得した独自ドメインをGoogleブログ「Blogger」に適用し、運用するまでを紹介します。



    【お名前.comの設定方法】

    1.お名前.com にアクセスし、ログインします。




    2.お名前IDとパスワードを入力します。(お名前IDは登録時のメールに明記されています。)




    3.「ドメイン設定」を押します。




    4.「DNS関連機能の設定」を押します。




    5.「DNSレコード設定を利用する」の「設定」を押します。




    6.取得したドメイン名にチェックを入れ、「入力画面へ進む」を押します。




    7.次の項目を入力し、「追加」を押します。
    ホスト名:www
    TYPE:CNAME
    VALUE:ghs.google.com




    8.すると、このようにレコードが追加されます。まだ「入力画面へ進む」は押さずに、続けてレコードを入力します。




    9.Aレコードを4種類入力します。一度に4つは入力できないので、1つずつ追加していきます。

    ホスト名:無し(空白)
    TYPE:A
    VALUE:[下記の4種類]
    216.239.32.21
    216.239.34.21
    216.239.36.21
    216.239.38.21




    10.全部で5種類のレコードが追加されたことを確認して、「確認画面へ進む」を押します。




    11.確認後、「設定する」を押します。




    12.ひとまずは(※)これで「お名前.com」での設定は完了です。



    ※ Blogger設定中にお名前.comの再設定があります。



    【Bloggerの設定方法】

    1.「Blogger」にアクセスし、「設定」を押します。




    2.「カスタムドメインを追加」を押します。




    3.お名前.comで取得した独自ドメインを入力し、「保存」を押します。(“www”から入力します。)




    4.しかし、ここで下記エラーが出て保存ができないと思います。
    「このドメインに対する権限を確認できませんでした。エラー 12。」

    ここで表示された、赤枠内の文字を「お名前.com」に追加する必要があります。
    この文字列は、各人で異なりますので、コピーしてメモ帳などに貼り付けておきます。




    (お名前.comの設定)
    前述の「お名前.comの設定方法」に従って、先ほどコピーしたレコードを「お名前.com」に追加します。
    ホスト名:xxxxxxxxxxxx
    TYPE:CNAME
    VALUE:gv-xxxxxxxxxxxxxx.dv.googlehosted.com
    (xの部分は各人で異なる。)




    5.お名前.comの設定が終わりましたらBloggerに戻ります。
    もう一度“3”の手順を行います。
    今度はすんなり設定できると思います。




    6.「ブログのアドレス」に先ほど入力した独自ドメインが追加されたことを確認します。




    7.「編集」押します。




    8.「(独自ドメイン)を(www.独自ドメイン)にリダイレクトする。」にチェックを入れ、「保存」を押します。
    これで「www」を入力しなくても、www付きドメインにリダイレクトされるようになります。
    (お名前.comでも同様の設定を行なっているため、ここでチェックしなくてもリダイレクトされますが、念のためです。)




    【独自ドメインでBloggerの運用完了】

    以上で独自ドメインの設定が完了です。
    設定完了後、10分程度で独自ドメインをBloggerで運用できるようになります。
    (お名前.comによると、最長72時間かかるそうです。)

    独自ドメインを取得することによって、独自ドメインによるメールアドレスの発行やサブドメインの取得など、Blogger運用以外にも様々な機能があります。
    もう少し独自ドメインでの運用に慣れたら、この辺りも勉強していきたいと思います。