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」を例として説明していきます。
<必要な環境>
<必要な機材>
※ 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部構成から成ります。
- GP-712の設定
- IP-PBX(Asterisk)の設定
- スマホの設定
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
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()
[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を経由して、スマホが鳴動します。
【 「つなぐ」の音質検証 】
【つなぐ】の音質と遅延時間を検証します。
音質については自分がどう聞こえるかより、自分の声が相手にどのように聞こえているかが重要なため、それを掲載します。
[使用した端末]
[回線種別]
[録音環境]
[遅延測定条件]
[音声の元データ]
[検証結果]
回線種別 (アプリ) |
コーデック | 音質 | 遅延時間 |
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 更新>
<2014.12.22 更新>