AsteriskとFUSION IP-Phone SMARTで構築する月額基本料・着信無料のFAX環境
昨日の記事で、FUSION IP-PHONE SMARTとさくらのVPSとAsteriskとFax for Asteriskを組み合わせると、FAXが届くとPDFにしてメールが届くシステムが構築できることをさらっと書いたら、「FAXのあたりをもう詳しく知りたい」とはてブでコメントを頂いていたようなので追記。
月額基本料・着信ともに無料で発信のみ有料。
以下、環境構築編。
1) さくらインターネットのVPSを借りる。
別にさくらインターネットじゃなくてもいいのだけれど、弊社では開発用に借りていたVPSが既にあったので同居させた。
OSはCentOS 6.4。
2) FUSION IP-PHONE SMARTを契約。
要クレジットカード。
WEBからオンラインサインアップできる。050番号が使えるようになるまで最長で1時間ぐらい。
http://www.fusioncom.co.jp/kojin/smart/
サインアップが終わると、電話番号(050xxxxxxxx)、ドメイン、SIPアカウント、SIPアカウントパスワードが発行される。
3) Asterisk 11.4をインストール。
ソースから。
4) DigiumからFax for Asteriskを1ライセンスもらう
Fax for Asterisk | Asterisk Software | Digium
「Get 1 Free License」をクリックし、カートに入れて「checkout」。(無償。要アカウント作成)
メールで
「Digium Order Confirmation」という確認と
「Digium Free Fax For Asterisk License for Order」というライセンスキーが届く。
ライセンスキーのメールに記載されているURLに、READMEがあるので、手順に沿ってAsteriskにインストール。
簡単にまとめると
registerをダウンロードして実行し、インストールキーを登録。
benchfaxを実行し、適切なモジュールを示してもらう。
res_fax.soかres_fax_digium.soのどちらかをダウンロードし、/usr/lib/asterisk/modulesに配置。
5) FAXを受信したらPDFに変換するスクリプト
こちらのブログ([http://01.selfip.net/server/linux/1083)で公開されている、fax2mail.plを/var/lib/asteriskに設置。
事前にNet:SMTPとかMIME::Entityとかtiff2pdfは仕込んでおく。
/var/spool/asteriskにfaxディレクトリを掘っておく。
6) Asteriskの設定
今回のネタに絡むものだけ抜粋。
extension.conf
[globals]
MYNUMBER1=XXXXXXXX(※FUSIONから発行されたSIPアカウント)[default]
;From fusion
exten => ${MYNUMBER1},1,Goto(faxrec,receive,1)exten => _0.,1,Dial(SIP/fusion-smart/${EXTEN:1})
[faxrec]
exten => receive,1,NoOp(**** SETTING FAXOPT ****)
exten => receive,n,Set(FAXOPT(ecm)=yes)
exten => receive,n,Set(FAXOPT(headerinfo)=NAME) ※自社名など
exten => receive,n,Set(FAXOPT(localstationid)=8150xxxxxxxx) ※自社050番号
exten => receive,n,Set(FAXOPT(maxrate)=14400)
exten => receive,n,Set(FAXOPT(minrate)=2400)
exten => receive,n,Set(FAXFILE=${EPOCH}.tif)
exten => receive,n,NoOp(**** RECEIVING FAX : ${FAXFILE} ****)
exten => receive,n,ReceiveFAX(/var/spool/asterisk/fax/${FAXFILE})exten => h,1,System(/var/lib/asterisk/fax2mail.pl ${FAXFILE})
exten => h,n,Hangup
sip.conf
[general]
register => 発行されたSIPアカウント:発行されたパスワード@FUSIONから指定されたドメイン
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=en
faxdetect=yes[fusion-smart]
type=friend
username=FUSIONから発行されたSIPアカウント
fromuser=FUSIONから発行されたSIPアカウント
secret=発行されたパスワード
host=FUSIONから指定されたドメイン
fromdomain=FUSIONから指定されたドメイン
context=default
insecure=port,invite
canreinvite=no
disallow=all
allow=ulaw
allow=alaw
dtmfmode=inband
nat=never
8) 外部から自社050番号にFAXしてみる。
ローソンのFAXからは050番号へ発信できない。FAXを持っている知人などに頼む。
以上で、FAXが無料で受信できる環境が整う。
発信についてはおいおい追記。