2014年5月30日金曜日

ブラステル(050)に留守電や着信通知を付加する方法

ブラステル(050)には留守電や着信通知がありません。
また、不在着信を転送する機能もありません。

これらを実現するためには、AsteriskでソフトPBX(Linuxサーバ)を構築する必要があります。

しかし、Asteriskは普通の人には敷居が高すぎます。
私にはAsteriskを構築できるような、高度な技術がありません。




そこで難しいことは一切せずに、ブラステルに留守電と着信通知を付加する方法を紹介します。
なお、転送機能はブラステルの不思議な仕様を利用することでクリアします。



【ブラステルについて】

ブラステルは月額無料で利用でき、音声品質も最高クラスです。
さらに、他の競合するIP電話サービスに比べ、通話料も安く設定されています。

しかし、ブラステルが提供するサービスは純然たる電話機能のみです。
「FUSION IP-Phone SMART」にあるような留守電や着信通知などのオプションは一切ありません。

ブラステルはオプションなどを一切付けない代わりに、最高品質と最安値を維持しています。
ある意味、これはこれで好感が持てます。

・・・とは言いつつも、やはり留守電と着信通知は欲しいです。
さらに転送機能もあれば、言うことなしです。



【ブラステルの多重着信機能】

ブラステルは多重着信が可能です。
これが冒頭に言った「ブラステルの不思議な仕様」です。

通常のIP電話サービスは、複数のスマホに同一アカウントを登録した状態で、その番号に着信があると、一番最後に登録したスマホのみが鳴動します。

ところが、ブラステルは違います。
複数のスマホに登録すると、登録したスマホすべてが一斉に鳴動します。
そのうちのどれか1台で受話すると、その他の鳴動が止まります。

このように、ブラステルは同一アカウントで、複数のSIPクライアントを同時にレジストできます。

これを起点として、ブラステルで「着信転送」・「着信通知」・「留守電」を実現します。



【ブラステルに「着信転送」機能を付ける】

実はブラステルには着信転送機能を付ける必要がありません。

前述のとおり、複数台のスマホにレジストできることから、転送したい先(スマホ)にもブラステルを登録しておけば、同時に着信します。
これで、転送する必要もなく受話可能です。

(もっと高度な着信転送は、別記事として掲載予定です。)



【ブラステルに「着信通知」と「留守電」を付ける】

◆ 概要

ブラステルに「着信通知」と「留守電」を付けるためには、どうしてもAsteriskのようなPBX(回線切替機)が必要になります。

しかし、Asterisk構築は、PC(Linux)に精通していないと難しすぎます。
また、それ専用にPCを1台用意しなければなりませんし、そのPCを常時稼働させるための電気代もかかります。

そこで、Asteriskが担う仕事を、スマホのアプリ及びWEBサービスで実現します。

分かりやすくいうと、スマホを「PBXもどき」として、サーバ化します。
スマホであれば、超省電力のため、常時稼働サーバとしてこれ以上のものはありません。

具体的には、留守電機能のあるSIPクライアントを使い、着信や留守電を検知したら、その音声データを外部WEBサービスと同期し、同時にそれをメールで通知します。




◆ 準備

  • 使っていないスマホ(Android):1台
  • 通信のできる回線(SIMなしWi-Fi接続可)

    もし、余っているスマホがない場合は、型落ちの安いスマホを入手します。
    → アマゾンの白ロム検索ページ


    ◆ 必要なアプリ及びWEBサービス

  • AGEphone
  • IFTTT
  • Dropsync
  • Dropbox(WEBサービス)
  • Gmail(WEBサービス)



    ◆ 手順

    【1】 WEBサービスに登録する。(PCからでOK)
    まずはDropboxを登録します。
    無料で2GBの容量がもらえます。留守電データの保存用としては十分な容量です。
    さらに、(私の紹介という形で)このリンクから登録して頂くと、双方に500MB分追加されます。

    Doropboxサービスにログインし、Dropboxの直下に「Public」という名前でフォルダを作成します。

    さらに「Public」以下に、留守電データを保存するフォルダとして「Message」を作成します。

    (Gmailは既に登録してあるものとして割愛します。)

    【2】 各種アプリをインストールする。(スマホサーバ側)
  • AGEphone
  • Dropsync
  • IFTTT

    【3】 アプリの設定をする。(スマホサーバ側)

  • AGEphoneにブラステルのSIPアカウントを登録します。
     → コーデックは必ず「GSM」のみとしてください。(これ以外は正常に動作しません。)
     → 電源の管理で「スリープ状態での動作を維持する(WiFiは運用次第)」にチェックします。

  • Dropsyncの同期を以下フォルダに設定し、同期方法を『双方向』とします。
    (同期を「双方向」とすることで、スマホサーバ側の留守電の消去も簡単に行えるようになります。)

    スマホ側:/mnt/sdcard/AGEphone
    Dropbox側:/Public/Message

    「自動同期の間隔」を、最速の『5分』にします。
    「バッテリーの残量が~%の時のみ同期する」を『0%』にします。

  • IFTTTの設定をします。
    (IFTTTも簡単な設定だけで利用できます。)

    まずは「着信通知」を設定します。

    右上の「すり鉢(?)」のようなアイコンを押します。



    右上の「+」を押します。



    Start here!と書いてある「+」の部分を押します。


    「Android Phone Call」を選び「Any phone call missed」と進みます。



    続いて右側の「+」を押します。



    「Gmail」を選び「Send an email」と進みます。



    To addressに送信先のメールアドレスを入力します。



    後は「Continue」→「Finish」と押せば、「着信通知メール送信レシピ」完成です。


    続いて「留守電」を設定します。

    「Dropbox」を選び、「New file in your Public folder」と進みます。



    Subfolder nameに「Message」と入力して、NEXTを押します。



    あとは先ほどと同様に
    「Gmail」を選び「Send an email」と進みます。
    To addressに送信先のメールアドレスを入力します。
    「Continue」→「Finish」と押して「留守録メール送信レシピ」完成です。


    【4】 ブラステルにスマホサーバを優先的に認識させる。

    続いて、ブラステルにスマホサーバを単独で認識させます。
    理由は明らかではありませんが、この作業を行うことでスマホサーバがブラステル側に正常に認識されます。
    (この作業を行わないと、留守電機能が正常に使えません。)

    やり方は簡単で、まずはすべての機器をブラステルから切断します。
    (スマホならSIPクライアントの終了、ATAならLANケーブルを外すなど。)

    その状態で、スマホサーバを単独で起動します。
    (これで、ブラステルに接続されている機器はスマホサーバのみとなります。)

    続いて、スマホサーバ以外の機器を順にブラステルに接続します。



    【スマホサーバの動作確認】

    ブラステルに電話をかけてみます。


    AGEphoneが着信したことを確認後、電話を切ります。
     ↓
    着信通知メールがGmailに送られます。
    なお、この通知メールはスマホサーバ側の電話帳データを参照して、番号だけでなく名前も表示されます。
    (電話帳データを同期しておくと便利です。)


    AGEphoneが着信し留守電に切替ったら、音声を吹込み、電話を切ります。
     ↓
    まずは着信通知メールがGmailに送られます。
    その後、(1~3分後ぐらい)留守電メールがGmailに届きます。
    なお、留守電は1クリックで聞ける状態となっています。


    あとは、スマホサーバのWiFi接続が切れない設定とし(WiFi接続の場合)、充電ケーブルを繋げて放っておくだけです。

    ※ AGEphoneの留守電切替時間は適宜変更してください。
    ※ IFTTTの実行通知が煩わしい場合は、レシピの編集から「Receive notifications when this Recipe runs」をOFFにしてください。



    【まとめ・感想】

    この方法でブラステルに留守電と着信通知を付加できました。
    Asteriskと同等とは言えませんが、ブラステル専用のPBXとしては必要十分な機能ではないでしょうか。

    そもそも私はブラステルのためだけに、Asteriskを構築するつもりでしたので、これで十分です。
    (PBXを構築するつもりでCubox-i2を購入してしまったのですが・・・。)


    実運用の際に気を付けることは、以下の3点です。
  • Wi-Fi接続の維持
  • 必要最小限の構成
  • アプリの自動更新OFF

    機種によっては端末のスリープ後しばらくすると、Wi-Fiが切断されてしまうものがあります。
    こう言った機種においては、Wi-Fi接続を維持するアプリ(「Wi-Fi Keep Alive」など)を導入する必要があります。

    また、サーバ化するスマホには不要なアプリのインストールは避けるべきです。
    基本的に変なアプリさえ入れていなければ、Androidは非常に安定しています。
    必要最小限の構成とすることで、低スペック機でも安定動作してくれます。
    (私の場合、サーバはP-06Dとし、不要なアプリはすべてアンインストール・無効化しました。)

    なお、アプリの自動更新はOFFにしておいた方が良いです。
    これは、留守録中のアプリの再起動と、更新による新たなバグの発生を防ぐためです。
    (スマホとは言え、サーバの更新は手動で行うべきです。)


    今回、ここに至るまでに幾度となく諦めかけましたが、やっと完成です。
    しばらく実運用をして、安定性などを確認したいと思います。



    ◆【2014年6月3日 追記】

    外線からの着信に必ず失敗します。
    ブラステルからの着信では想定どおりの動作をしますが、その他の着信がすべて1コールで切れてしまいます。
    その状態でAGEphoneは鳴動し続けている状態です。(フリーズして終了できない状態)

    最初はAGEphoneの問題かと思いましたが、そうではないようです。
    ベータ版のAGEphoneでも同様の症状を確認しました。
    さらに、他スマホでも試しましたが同様の症状です。

    なぜ、AGEphoneの問題ではないと思ったかは、複数レジストしていないブラステルアカウントで同試験を行ったところ、問題なく動作したためです。

    これは、環境固有の問題かもしれませんが、もし、同症状が発生する方は教えて頂けると嬉しいです。
    「正常に使えた」という報告はさらに嬉しいです。

    以下私の環境です。
  • HT702(ATA) → 主ブラステル使用環境(イエデン)
  • P-06D → 留守電用スマホサーバ


    ◆【2014年6月6日 追記】

    以下の、2点を実行することで、1コールで切断される問題を解決できました。
  • 使用コーデックを「GSM」のみとする。
  • スマホサーバを一度、単独でブラステルサーバに登録する。

    上記については、記事本文も追記・修正しました。

    当初、スマホ機種の固有問題かとも思われましたが、そうではありませんでした。
    きっとこれで、どの機種でも動作させることが出来ると思います。
    なお、一度単独でブラステルサーバに認識させた機器は、次からは他機器より遅いレジストとなっても正常に動作します。

    皆様から多数の動作報告・不動作報告、及び検証データを頂いたおかげで、この結論に至れました。
    ありがとうございました!m(__)m

    このまま、しばらく安定性などを確認したいと思います。
    何かありましたら些細な事でもご報告頂けると助かります。


    ◆【2014年6月9日 追記】
    AGEphoneで「スリープ状態での動作を維持する」にチェックを追記しました。
    これにチェックしないと、スリープ状態で着信を取り逃すことがあります。
  • 2014年5月27日火曜日

    「OCN モバイル ONE」と「050plus」の組み合わせ

    「OCN モバイル ONE」と「050plus」との組み合わせで、月額使用料が安くなるサービスが開始されました。
    MVNOトップクラスのサービスを提供している「OCN」と、IP電話で老舗の「050plus」の組み合わせです。

    もし、IP電話サービスやMVNOを選ぶ上で、「決め手となる何か」を求めていた人には朗報ではないでしょうか。




    「OCN モバイル ONE」と「050plus」の両サービスとも「NTTコミュニケーションズ」が提供しています。
    そこで、これらを組み合わせることによって「050plus」の音質(遅延時間)に影響があるのではないかと考え、その検証を行いました。



    【050plusの紹介】

    「050plus」は非常に優秀なIP電話サービスです。
    しかし、せっかく優秀なサービスであっても、相手側に流れるガイダンス「050 plusにおつなぎします」のせいで、すべてを台無しにしていました。

    このガイダンスだけが「050plus」唯一の欠点でした。
    ガイダンスさえなければ・・・

    ということで、2014年3月27日から「050plus」の接続時のガイダンスが廃止されました。
    これにより、「050plus」は文句の付けようがないサービスとなりました。

    専用アプリは優秀、使用コーデックは「G729a」で、モバイル環境に最適化されています。



    【OCN モバイル ONEの紹介】

    「OCN モバイル ONE」というサービスは「NTTコミュニケーションズ」が提供するMVNOサービスです。
    月額900円で利用でき、ドコモなどのキャリアとの契約は不要です。

    Youtubeなどで頻繁に動画を見るような用途でなければ、「OCN モバイル ONE」で必要十分です。
    WEBブラウジングやSNS、IP電話などの利用ではキャリア回線と遜色ない速度がでます。



    【050plusとOCNの組み合わせ】

    「OCN モバイル ONE」でキャリア回線と遜色ない速度が出ると言いましたが、IP電話だけに的を絞った場合、もしかしたらキャリアより快適になるのではないかと考えました。

    これはネットワーク経路の問題です。
    通常、IP電話を利用するためには、キャリアのISPを介してから目的のSIPサーバに接続します。

    しかし「050plus」と「OCN」は両方とも「NTTコミュニケーションズ」のサービスです。
    つまり、「OCN モバイル ONE」で「050plus」を使うことによって、ネットワーク経路は最短ルートで接続されるはずです。

    このように、ネットワーク上のロスがなくなることによって、IP電話の音質(遅延)は必ず良くなります。



    【検証条件】

    [使用した端末]
  • SH-07D

    [回線種別]
  • OCN モバイル ONE
  • BIGLOBE LTE・3G
  • spモード
  • 光回線


    OCNとBIGLOBEはL-03Eで接続
    spモードはL-01Fで接続
    光回線はauひかりを使用

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

    [遅延測定環境]
  • 「050plusで音声データを発信してから、携帯電話でそれを受信する」までのタイムラグの測定(※)


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



    【検証結果】

    <音声の元データ>


    <050plusの接続元(プロバイダ)による音質差の一覧>
    キャリア(MVNO) 音質 遅延時間
    光回線

    396ms
    BIGLOBE

    661ms
    spモード(LTE)

    484ms
    OCN

    502ms



    【検討・考察】

    どのプロバイダを使った場合においても、その音質にはほとんど違いがなく、非常にクリアで聞き取りやすいです。
    さすがに老舗の「050plus」といったところでしょうか。

    しかし、遅延時間は利用するプロバイダによってかなりの差が出ました。

    光回線はさすがに低遅延で、396msといった結果です。
    一方、BIGLOBEの遅延時間は大きく、これでは通常の通話においても、違和感を感じるほどになります。

    特筆すべきところは、spモード接続と「OCNモバイルONE」とで、遅延時間にほとんど差がないことです。

    通常、3G(LTE)通信おいては、キャリアの回線が最も低遅延となります。
    それと同等の遅延時間を記録した「OCNモバイルONE」は相当のものです。

    なお、これがネットワーク経路によるものなのか、他の要因によるものなのかを確かめるため、ネットーク経路を追ってみました。
    しかし、050plusサーバ(kar-f2fcp.050plus.com)はICMPに応答する仕様にはなっておらず、測定不能でした。


    【まとめ】

    ドコモの料金見直しにより、スマホの月額維持費が跳ね上がりました。
    電話をあまりかけない人にとっては、カケホーダイなんていりません。

    そんな人には、1000円程度でスマホを維持できる「OCN モバイル ONE」と「050plus」の組み合わせは、十分検討に値します。

    「050plus」は安定性や信頼性の面から考えると最高のサービスです。しかし、音質と遅延時間だけで考えると「70点」と言ったところです。

    人によっては使い物にならないと言います。
    人によってはケータイより音が良いと言います。

    なぜこのように種々のレビューがあるのかというと、それはスマホの機種によって音質にかなりの差があるためです。(スマホ性能ではなく相性です。)
    こればかりは、本当に使ってみないとなんとも言えないところです。

    「050plus」は2ヶ月は無料で使えます。(解約金などはかかりません。)
    まずは無料期間中に「050plus」だけでも試してみると良いと思います。

  • 050plus公式ページ(詳細)



    【半額の契約について】

    セット割により、無料期間終了後にも「050plus」の月額利用料が半額の150円になります。

    しかし、購入時に「OCN モバイル ONE」のオプションとして「050plus」をセットにしてはいけません。
    こうすると、自分の好きな電話番号が選べなくなります。

    必ず、好きな050番号を取得した後に、セット割を適用してください。


    ◆1.現在、「OCN モバイル ONE」のみ契約している人

    公式ページから「050plus」を契約します。
    その後、「OCNと050plusのセット割申し込みページ」から手続きします。


    ◆2.現在、「050plus」のみ契約している人

    「OCN モバイル ONE」を契約後に、先行で契約していた「050plus」とセットにします。
    公式のNTTコムストアから購入できるのですが、アマゾンのが安く入手できると思います。
  • アマゾンの価格(OCN モバイル ONE)

    その後、「OCN モバイル ONE」を契約し、「OCNと050plusのセット割申し込みページ」より手続きします。


    ◆3.両方とも新規に契約したい人

    まずは「1」を参考に「050plus」を契約し、希望する電話番号を入手します。
    その後、「2」を参考に「OCN モバイル ONE」を契約し、WEBからセット割の手続きします。
  • 2014年5月8日木曜日

    雑談・相談・世間話など

    以前、「おすすめ契約スタイル相談」として同様の記事がありましたが、あまりにもキャリアの施策が流動的なため、私の頭が追いつかなくなりました。(追いかけることをやめました。)

    記事タイトルには「相談」という文字を残していますが、今では簡単なアドバイス程度のことしか出来ません。
    そのため、詳しい方がいましたら色々とアドバイスを頂けると助かります。


    どの記事にも属さない内容や、世間話など、どんなことでも結構ですのでコメント頂ければと思います。
    本記事は、昔で言う掲示板的な扱いにしたいと思っています。


    2014年5月3日土曜日

    「Scydo」 (通話料[1.4円/分]の電話サービス)

    コールバックによる格安通話法を画策しているときに見つけました。

    通話料が格安のVoIP電話サービスです。
  • 携帯電話宛:1.4円/分
  • 固定電話宛:1.4円/分




    今回は何か特別なことをするわけでもなく、本当にただの紹介です。
    この電話サービスは世界で一番安いと思います。



    【Scydoとは】

    「Scydo」はBetamax系サービスの一つで、老舗のVoipBusterやPoivyと同じようなサービスを提供しています。

    「Scydo」の特徴は、なんと言ってもその料金です。
    私の知る限り、全世界で一番通話料が安いです。

    日本宛は固定宛・携帯宛問わず「1.4円/分 + 4円」の通話料です。
    (4円は1回の通話にかかる接続料です。1分でも1時間でも約4円になります。)

    なお、料金の支払いはプリペイド形式(チャージ)になります。
    もちろん、クレジットカードによるオートチャージにも対応しているため、毎回のチャージに煩わしさもありません。



    【Scydoの使い方】

    まずはScydoを登録する必要があります。
    Scydoの登録方法は、スマホ用のアプリをインストールし、そこから登録するという形式です。

    アプリは英語ですが、登録は非常に簡単です。
    アプリ上から進めていけば、特に迷うところはないと思います。

    (スクリーンショットを撮り忘れて登録を終えてしまったため、説明用の画像がありません・・・。登録に関しては難しいことはないと思いますが、わからないことはご質問ください。)

    1.Scydo専用アプリをインストール
      Android用 / iPhone用

    2.アプリ起動・登録・チャージ

    3.アプリから電話をかける


    ただし専用アプリゆえ、以下の難点もあります。
  • SIP情報が公開されていないため、CSipSimpleなどの高性能SIPクライアントが使えない。
  • 電話帳からの発信に対応しない。



    【Scydoの音質】

    Scydoの音質と遅延時間を検証します。
    今回の検証も今までと同様に「相手に聞こえる自分の声」を録音し、それと同時に、音声を発信してから受信するまでのタイムラグ(遅延時間)を計測しました。


    <音声の元データ>



    Scydo音質試験
    サービス名 音質 遅延時間
    Scydo

    633 ms


    これは・・・!ものすごい高音質です。

    この試験は環境ノイズを増加させた上で録音しています。(PCのファンの音を大きくしたり、エアコンをつけたり)
    それにもかかわらず、環境ノイズはキレイに除去され、聞き取りやすい音質となっています。

    遅延は想像どおり、ある程度はありました。
    しかし、この程度の遅延であれば、相手方も理解した上で使う分には問題にならないかもしれません。

    感覚的には「FUSION IP-Phone SMART」と同程度の遅延時間に思えました。



    【まとめ】

    これからは電話の使用方法について、以下のように2極化されることが想像できます。
  • カケホーダイで1万円弱の月額料金
  • MVNOを駆使して格安料金(1000~2000円程度)

    運用方法としてどちらが優れているかは人によって異なります。(私は明らかに後者です)
    携帯電話に毎月1万円も掛けたくない人や、節約を追求したい人は「Scydo」を検討してみてください。

    Scydoは非常に高音質です。しかし、ある程度の遅延はあります。
    また、発信者番号もドコモ以外へは、しっかりと通知されます。(81付の携帯電話番号)

  • 高音質
  • ある程度の遅延時間
  • ドコモ以外へ発信者番号通知OK

    この特徴を理解して上手に利用できれば、「Scydo」は最高のサービスと言えます。