僕の会社は、自宅を事務所にしているので、ひかり電話で自宅用と会社用の2回線の番号を契約している。
まず、今回紹介する環境は、一人暮らしをしていて、携帯電話を使っていて、自宅でひかり電話を使っていないという人は全く参考になる情報が無いので、この時点でお引き取りください。
お得情報と感じるのは、以下のような人が対象です。
・ひかり電話の回線契約をしている。
・家族数人で携帯電話(スマートフォン)を所有している。
・FAXなんかもたまに使う
結構限られた人しか、関心の無い記事だと思いますが、非常に有意義な環境になったのでご紹介します。
今までの環境
これまでは、ひかり電話を2回線契約していたので、電話機も2つ用意して、さらにプリンター兼FAX複合機なんかを繋いで使用していました。
簡単に図説すると、以下のような感じ。
とりあえず、使っていてさほど問題は無かったのですが、従業員が僕1名という会社で、僕が事務所(自宅)にいない場合は、誰も電話に出られないという事です。
打ち合わせで、外出する事が多い事を考えると、会社として、非常に大きな問題だと感じて、電話を転送電話にして、事務所に掛かってきた電話を、手元の携帯電話に転送していましたが、転送電話って、掛かってきた電話でも、事務所から、僕の携帯に電話をするような料金形態になるので、1ヶ月ぐらい使って、7千円ぐらい電話代が掛かっていました。
今回、事務所用のIP電話を自分で構築して、この電話料金を0円にしたいと思います。
IP電話ってどういう仕組み?
基本的に、LINEやFacebookメッセンジャーなどの音声通話機能を使って、電話代がかからずにやっている人は多いでしょう。
要するにあればIP電話なんですね。
もちろん、相手側にLINEやFacebookメッセンジャーなどの送信元と同じアプリケーションが端末にインストールされていないといけません。
今回のIP電話は、事務所用の電話の代わりに設置するSIPサーバーと、自分のスマートフォンをIP電話で繋げることで、実質無料にします。
スマホのパケットは、音声通話分使いますが、通常の電話通話料金よりははるかに安いので、そこは今回カウントしないでおきますね。
そして、改めて断っておきますが、今回は「SIPサーバー」というのを自宅に設置することを前提にしているので、サーバーが苦手という人は少し難しい内容になります。
でも、今回の環境に魅力を感じる人は、TRYする価値はあるかもしれませんよ。
環境について
僕の自宅は、すでにホームページなどの公開サーバーを設置していて、データサーバーや、家計簿ツールや、色々な自作したツールも設置しています。
あまりいないと思いますが、自宅でサーバーを起ち上げている人は、ラッキーです。そのサーバーを少し改造するだけで、今回の環境構築ができてしまいます。
でも、そんな環境がないという人は、まずはサーバーから構築しなければいけないので、その点は、今回の説明は省かせてもらいます。
そして、簡単に環境を説明すると以下のようになっています。
・ひかり電話ルータ「RS-500KI」:192.168.1.1
・サーバー「Debian GNU/Linux 8」:192.168.1.10
・SIPサーバ「Asterisk」
・MacBook
・iPhone
上記の構成で環境を作っていきます。
構築手順
サーバーが存在する状態から始めますので、Asteriskモジュールのインストールから行います。
$ sudo apt-get install asterisk
Asteriskについて
Asteriskは、結構昔からある、IP電話構築用の無料モジュールです。
多くのIP電話サービスが、このモジュールで構築されています。
以下のリンクで情報を取得することができるので、詳しく知りたい人は、アカウント登録をしてコミュニティに参加してみてもいいかもしれません。
日本Asteriskユーザー会
Asterisk設定
LAN環境が、「192.168.1.0/24」でルータIPが「192.168.1.1」のデフォルト状態としてセットしてます。
[general]
; for Hikari Denwa
maxexpirey=3600
defaultexpirey=3600
context=default
port=5060
bindaddr=0.0.0.0
srvlookup=yes
allowguest=no
disallow=all
allow=ulaw
allow=alaw
allow=gsm
language=jp
localnet=192.168.1.0/255.255.255.0;
hikarihgw=192.168.1.1;ひかりルーターのIP
tcpenable=yes
transport=udp,tcp
register => 3:pass:0003@hikari-denwa/5000;光ルーターにレジストする番号:パスワード:ユーザー名@hikari-denwa/5000
; end for Hikari Denwa
[hikari-denwa]
type=friend
secret=pass;光ルーターに設定したパスワード
port=5060
username=0003;光ルーターに設定したユーザー名
defaultuser=0003;光ルーターに設定したユーザー名
fromuser=3;光ルーターに設定したユーザー
host=192.168.1.1;光ルーターのIPアドレス
fromdomain=192.168.1.1;光ルーターのIPアドレス
;context=default
insecure=invite,port
dtmfmode=inband
canreinvite=no
disallow=all
allow=ulaw
callgroup=1
picupgroup=1
[201]
type=friend
username=201
defaultuser=201
secret=pass
canreinvite=no
host=dynamic
nat=yes
directmedia=no
qualify=5000
dtmfmode=rfc2833
callgroup=1
pickupgroup=1
[202]
type=friend
username=202
defaultuser=202
secret=pass
canreinvite=no
host=dynamic
nat=yes
directmedia=no
qualify=5000
dtmfmode=rfc2833
callgroup=1
pickupgroup=1
[general]
autofallthrough=yes
writeprotect=no
priorityjumping=no
[globals]
MYNUMBER=********;自分の電話番号
[default]
;;非通知の場合にエラーメッセージ
;exten => 5000,1,GotoIf($["${CALLERID(NAME)}" = "anonymous"]?10:2)
;exten => 5000,2,Dial(SIP/201&SIP/202);(SIP/内線番号1&SIP/内線番号2&SIP/内線番号3)
;exten => 5000,3,Hungup
;exten => 5000,10,playback(ss-noservice)
;exten => 5000,11,Hungup
exten => 5000,1,Dial(SIP/201&SIP/202);(SIP/内線番号1&SIP/内線番号2&SIP/内線番号3)
exten => 5000,2,Hungup
exten => _0.,1,Set(CALLERID(num)=${MYNUMBER})
exten => _0.,2,Set(CALLERID(name)=${MYNUMBER})
exten => _0.,3,GotoIf($[${EXTEN:0:2} = 00]?international); 国際電話判定(001で始まる番号は発信不可)
exten => _0.,n,Dial(SIP/${EXTEN}@hikari-denwa,120,T); その他の番号では発信可
exten => _0.,n(international),Hangup(); 拒否
exten => _2XX,1,Dial(SIP/${EXTEN},30,r)
exten => _2XX,2,Hangup()
ひかり電話ルータの設定
ブラウザで「http://192.168.1.1」にアクセスして、ログインすると、管理画面が開きます。※パスワードが分からない人は、マニュアルに書いているので調べましょう。
「電話設定」 - 「内線設定」 - 「編集」
※今回は使っていない3番を使います。
「通常端末」から「音声専用端末」に切り替える。
「パスワード」に「pass」をセット。
この状態で「設定」ボタンを押すと、ルータの設定は完了です。
IP電話クライアントソフト
MacBookでは「X-Lite」というソフトを使います。
X-Liteダウンロード
ダウンロードしてインストールして、アプリを起ち上げて、下記設定をします。
設定をすると、「Available」になれば、SIPサーバーとの連携が出来た状態です。
次にiPhoneで使用するアプリは、「AGEphone」を使います。
AGEphone
設定画面を開いて、下記のように記入
通信テスト
Mac側は、「201」を使い、iPhoneは「202」を使う設定にしてます。
それぞれの画面で、201や202に電話してみると、通話できることが分かります。
また、電話回線の番号に、携帯電話から電話してみると、アプリケーション側でも受信できていると思います。
少しハマった所
Asteriskの設定を切り替えた時に、restartをすると、アプリ側の認証ができなくなる場合があります。
それぞれ再接続の手続きをすると、繋がるんですが、そのうち安定できる設定を見つけるようにしましょう。
最後に
この状態では、屋外で利用することができないので、192.168.1.10のローカルIPアドレスを、グローバルIPアドレスでアクセスできるようにすると、屋外にいる時に、自宅のAsteriskとアクセスできるようになります。
自宅LANと切り替えるために、ドメインを取得して、DNSによってSIPサーバーのIPアドレスを切り替えるようにできると、何の問題もなく、電話として利用することができます。
しかも、無料で・・・。
うまく使うと、海外にいても、国内通話料金で電話することが可能になりますよ。
もっと便利にするために、「留守番電話機能」や「FAX機能」、「着信番号の自動切り分け」などの機能を調べて搭載してみたいと思います。
設定ができたら、ブログに書きますね。