Raspberry PiとAsteriskを使用して自宅の電話をIP電話化したときのメモ
ここでは、電話番号取得から電話着信までに関する内容を記述します。
##【用意】
- Raspberry Pi Model B
- microSD 16G class10
- microSD->SD変換アダプタ
- LANケーブル
- auの充電器
- 適当なWindowsマシン
※HDMIケーブルが無い為、sshで接続
##【構築環境】
- Raspbian (Kernel version 3.18)
- Asterisk 13.5.0
##【手順】
IP電話番号取得
仕事でお世話になっているのと、安さと、即時に番号が発行される点で
FUSION IP-Phone SMARTで電話番号を取得しました。
設定ファイルの変更
参考:Asterisk FUSION VOIP-Info.jp
sip.conf
[general]
port=5060
language=ja
disallow=all
allow=ulaw
allow=alaw
allowguest=no
nat=force_rport,comedia
qualify=3000
context=public
・
・
・
;fusionアカウント
register => <SIPアカウント>:<SIPアカウントパスワード>@fusion/<SIPアカウント>
[fusion]
type=friend
username=<SIPアカウント>
fromuser=<SIPアカウント>
secret=<SIPアカウントパスワード>
host=<ドメイン>
fromdomain=<ドメイン>
context=default
insecure=port,invite
canreinvite=no
disallow=all
allow=ulaw
allow=alaw
dtmfmode=inband
qualify=yes
;SIPユーザー
[ast_user201]
type=friend
defaultuser=ast_user201
secret=passwordha201
context=default
canreinvite=no
host=dynamic
dtmfmode=rfc2833
extensions.conf
[default]
;
; By default we include the demo. In a production system, you
; probably don't want to have the demo there.
;
include => demo
exten => <SIPアカウント>,1,Dial(SIP/ast_user201,20,rt)
AsteriskのCLIを起動して、sip.confとextensions.confの設定を再読み込みします。
root@(none):/home/pi# asterisk -r vvvvvc
(none)*CLI> sip reload
(none)*CLI> dialplan reload
fusionのアカウントがREGIST(接続)できているかを確認します。
Stateが Registered 表示であれば接続成功です。
root@(none):/home/pi# asterisk -r vvvvvc
(none)*CLI> sip show registry
Host dnsmgr Username Refresh State Reg.Time
fusion:5060 N <SIPアカウント> 105 Registered Tue, 08 Sep 2015 20:05:42
1 SIP registrations.
電話着信
SIPソフトフォンにSIPユーザーをREGIST(接続)します。
SIPユーザーの接続に関する内容はRaspberry PiとAsteriskでIP電話システムの構築(その1)を参照してください。
fusionから発行された電話番号に発信して
SIPソフトフォンに着信がかかり通話ができれば成功です。
課題
- セキュリティ面の強化。ファイヤウォールの導入やextensions.confを再検討
- 自宅のWifi環境下ならソフトフォンのREGISTができるが、外からはREGISTできなくなるのでグルーバルIPアドレスを割り当てようか。。でもセキュリティが…