06
--
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--
>>
<<
--
LATEST ENTRY
CATEGORY
ARCHIVE
PROFILE
SEARCH
RECENT COMMENT
  • 【情報】Excel で スクレイピング 【ぶっこ抜き】
    縫部尚登 (06/17)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/05)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    まこ (05/05)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/04)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/04)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/04)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/03)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    まこ (05/03)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/03)
  • エクセルファイルのパスワードを忘れたら・・・
    里奈 (09/09)
MOBILE
qrcode
OTHERS
<< 【SIP】puppy で Asterisk 【サーバ】 | top | 【puppyで】Asterisk + IAXmodem + Hylafax + ひかり電話 + Puppy 4.3.1 jp 【FAX送受信】 >>
スポンサーサイト

一定期間更新がないため広告を表示しています

スポンサードリンク | - | | - | - |
【FAXも】アジルフォン + Asterisk + Hylafax でFAX+留守番電話【留守電も】

インターネットがあれば、ど〜〜こでも 03 電話が使えるサービス

アジルフォン (詳しくはコチラ: http://www.agile.ne.jp/phone/index.php

使ってみました。
 

神奈川にいても、北海道でも、インドでも、エジプトでも、ヨーロッパでも
インターネットにさえつながってれば、東京 03番号 で電話をかけられるし受けられる!!

良い時代になったモノです


さっそく遊んでみました。


普通に X-Lite で話すだけではつまらない、というか使えるのが当たり前

なので Asterisk でつないで、留守番電話に録音されたらその音声メッセージを即メールで受け取れるようにしちゃいます。

さらに1回線で、FAXも受けれると良いですよね。
なので、Asterisk 留守電のついでに FAX の受信も可能にします。

よくある 「FAXの方はお送り下さい」 のメッセージを出して、FAXの時はちゃんとFAX受信(Hylafax)へ
FAX送出音でなければ、電話を呼び出して、一定時間取らなかったら留守電に
留守電が入ったらメールでメッセージを受け取れる
っていう「音声+FAX同時受け&メール通知」な環境を作ります


2009年12月に Asterisk がバージョンアップして FAX送出音を認識できるようになったようなので、その機能が上手く使えるかの確認も兼ねてます。


環境は 前回 うまくいった CentOS 5.3 で


Asterisk は 2009/12 の最新版 1.6.2.0 をダウンロードしてコンパイル、インストールで

手順は前回と同じです

Asterisk の他、IAXmodem と Hylafax も コンパイル、インストールしといてください
バージョンも前回と同じで


ではインストールも終わったと仮定して設定ファイル群を・・

使ってるのはこのファイル類
 
spica*CLI> config list
core                 /etc/asterisk/asterisk.conf
pbx_config           /etc/asterisk/extensions.conf
chan_iax2            /etc/asterisk/iax.conf
chan_iax2            /etc/asterisk/iaxprov.conf
indications          /etc/asterisk/indications.conf
core                 /etc/asterisk/modules.conf
chan_sip             /etc/asterisk/sip.conf
res_phoneprov        /etc/asterisk/sip.conf
udptl                /etc/asterisk/udptl.conf
app_voicemail        /etc/asterisk/voicemail.conf
spica*CLI>
 



設定ファイル内容を
・・まだ試行錯誤中なのでゴミもついてますが、そのまま載せときます


sip.conf
 
[general]
context=default
port=5060
bindaddr=0.0.0.0
srvlookup=yes
videosupport=no
maxexpirey=3600
defaultexpirey=3600
allowguest=no
disallow=all
allow=ulaw
allow=alaw
;t38pt_udptl=yes, redundancy
t38pt_udptl=yes
language=ja

register => username:password@agile

[201]
type=friend
secret=pass
canreinvite=no
host=dynamic
mailbox=201

[agile]
type=friend
secret=password
username=username
fromuser=username
host=voip3002.agile.ne.jp
fromdomain=voip3002.agile.ne.jp
context=dialin
insecure=invite
;dtmfmode=inband
dtmfmode=rfc2833
canreinvite=no
;canreinvite=yes
disallow=all
allow=ulaw
allow=alaw
allow=g729
ignoresdpversion=yes
;t38pt_udptl=yes,redundancy
t38pt_udptl=yes
;t38pt_rtp=no
;t38pt_tcp=no
qualify=yes
nat=no
faxdetect=yes
 
 
アジルに接続する設定になってます
username、password はそれぞれ発行されたものに置き換えてください
hostも登録時に指定されたモノに

FAX送信する時「ひかり電話」だと前回ので大丈夫だったのが、アジルはT.38を話すみたいで・・とりあえず設定 t38pt_udptl を追加してあります
まだ、送信は上手く行ってないですけんど・・

あとはFAXの送出音を検知する faxdetect を追加してます(1.6.2.0新機能)
これを yes にしておくと、extensions.conf で、「fax」に飛ばしてくれるみたいです。
便利!!
 


iax.conf
 
[general]
iaxcompat=yes
language=jp
bandwidth=medium
disallow=all
allow=ulaw
allow=slinear
jitterbuffer=no
forcejitterbuffer=no

[iaxmodem]
type=friend
username=iaxmodem
secret=password
host=dynamic
disallow=all
allow=ulaw
allow=slinear
requirecalltoken=no
context=fax-out
ignoresdpversion=yes
 


iaxprov.conf
 
[default]
codec=ulaw
flags=register,heartbeat
 
デフォルトのままです・・


extensions.conf
 
[general]
writeprotect=no
priorityjumping=no

[globals]
LOGDIR=/var/spool/asterisk/monitor/

[dialin]
exten => s,1,Wait(5)
exten => s,n,Answer
exten => s,n,Playback(fax)
exten => s,n,WaitExten(5)
exten => s,n,Dial(SIP/201,30,tT)
exten => s,n,Voicemail(201)
exten => s,n,Hangup

exten => fax,1,Set(FF=fax)
exten => fax,n,Dial(IAX2/iaxmodem/0399999999)
exten => fax,n,Hangup

[default]
exten => _[01].,1,Set(DATE=${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)})
exten => _[01].,n,Set(TO=${CUT(SIP_HEADER(To),<,1)})
exten => _[01].,n,Set(TO=${TO:1:$[${LEN(${TO})} - 2]})
exten => _[01].,n,Set(FROM=${CUT(SIP_HEADER(From),<,1)})
exten => _[01].,n,Set(FROM=${FROM:1:$[${LEN(${FROM})} - 2]})
exten => _[01].,n,Set(MON=${DATE}-out-${TO}-${FROM}-${UNIQUEID})
exten => _[01].,n,Monitor(wav49,${MON},m)

exten => _[01].,n,Dial(SIP/${EXTEN}@agile)
exten => _[01].,n,Hangup

exten => h,1,Set(ANS=${CDR(duration)}-${URIENCODE(${CDR(disposition)})})
exten => h,n,Set(result=${SHELL(touch ${LOGDIR}${MON}.-${ANS}.log)})
exten => h,n,NoOp(result is ${result})


[fax-out]
exten => _X.,1,Set(CALLERID(num)=${MYNUMBER})
exten => _X.,n,Set(CALLERID(name)=${MYNUMBER})
exten => _X.,n,Set(TIMEOUT(absolute)=300)
exten => _X.,n,Set(DATE=${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)})
exten => _X.,n,Set(L=${LEN(${EXTEN})})
exten => _X.,n,Set(SID=${IF($[${L} > 15]?${EXTEN:0:12}:000000000000)})
exten => _X.,n,Set(AID=${IF($[${L} > 15]?${EXTEN:12:3}:000)})
exten => _X.,n,Set(NUM=${IF($[${L} > 15]?${EXTEN:15}:${EXTEN})})
exten => _X.,n,Set(MON=${SID}-${AID}-${NUM}-${DATE}-fax-${UNIQUEID})
exten => _X.,n,Monitor(wav49,"${MON}",m)
exten => _X.,n,Dial(SIP/${NUM}@agile,30)
exten => _X.,n,Hangup

exten => h,1,Set(ANS=${CDR(duration)}-${URIENCODE(${CDR(disposition)})})
exten => h,n,Set(result=${SHELL(touch ${LOGDIR}${MON}.-${ANS}.log)})
exten => h,n,NoOp(result is ${result})
 
 
dialin 電話を受ける設定(FAXも受けます)
FAXの送出音を確認するには、電話を受けないといかんので Answer しますが、とつぜん電話がつながるとかけた人がびっくりしちゃうと思うので5秒くらい鳴らせてます
・・実際は5秒も鳴らないんですけど・・・
で、「FAXの方は送って下さい」の案内を Playback で流して、FAX送出音を 5秒待ちます
待ち時間中にFAX送出音を確認すると、 exten => fax に自動で飛ばしてくれます。
ホント便利ですわ

待ち時間中にFAX送出音がなければ、内線201を呼び出します
内線も30秒間応答がなければ、留守番電話(Voicemail)に行きます
(この辺 GoToを使って別に分けた方がよさそう・・)

FAX を受ける場合はそのまま IAXmodem に Dial して Hylafax が受け付けて tiff ファイルにしてくれます

電話を受けたときの録音の設定はまだしてないです・・
 
 
default 電話をかける設定
通話録音と通話時間記録以外はなーんにもしてません
 
 
fax-out FAXを送る設定
ひかり電話でFAXを送っていた設定です、が、アジルではまだ送信に成功してません
ログ見ると Hylafax は T.30でお話ししようとしてるんですけど、アジルはT.38を話してるっぽい・・
もっと研究が必要なようです
 


voicemail.conf
 
[general]
format=wav49
serveremail=asterisk
attach=yes
maxsecs=300
skipms=3000
maxsilence=10
silencethreshold=128
maxlogins=3
emaildateformat=%Y/%m/%d %H:%M:%S
sendvoicemail=yes

[zonemessages]
eastern=America/New_York|'vm-received' Q 'digits/at' IMp
central=America/Chicago|'vm-received' Q 'digits/at' IMp
central24=America/Chicago|'vm-received' q 'digits/at' H N 'hours'
military=Zulu|'vm-received' q 'digits/at' H N 'hours' 'phonetic/z_p'
european=Europe/Copenhagen|'vm-received' a d b 'digits/at' HM
japan=Japan|Q PHM 'jp-ni' 'vm-received'

[default]
201 => 9999,201,メールアドレス
 
 
留守番電話の設定です
留守番電話が録音されたら、メールを送る設定にしてあります
ついでに録音された内容もメールに添付(attach)してくれます
保存形式は wav49 って、wavの軽い版です
メールは serveremail に設定したユーザで default に設定したアドレスに送ってくれます
 


asterisk.conf
 
[directories](!) ; remove the (!) to enable this
astetcdir => /etc/asterisk
astmoddir => /usr/lib/asterisk/modules
astvarlibdir => /var/lib/asterisk
astdbdir => /var/lib/asterisk
astkeydir => /var/lib/asterisk
astdatadir => /var/lib/asterisk
astagidir => /var/lib/asterisk/agi-bin
astspooldir => /var/spool/asterisk
astrundir => /var/run/asterisk
astlogdir => /var/log/asterisk

[options]
languageprefix = yes
documentation_language = en_US ; Set the Language you want Documentation displayed in. Value is in the same format as locale names

[compat]
pbx_realtime=1.6
res_agi=1.6
app_set=1.6
 
 
デフォルトから変わってるのは languageprefix だけです
 


indications.conf
modules.conf

 
長いので載せませんが、デフォルトのままです


udptl.conf
 
[general]
udptlstart=4000
udptlend=4099
udptlchecksums=yes
udptlfecentries = 3
udptlfecspan = 3
use_even_ports = no
T38FaxUdpEC = t38UDPFEC
T38FaxMaxDatagram = 400
 
 
どーやら T.38 の設定らしいですが、まだ調整中・・・
うまく行ってないのでまだまだ手を入れる、、かも
 


以上
/etc/asterisk 配下に置いてあるファイル全部です

 

受信したFAXもメールで受け取れます
設定は /var/spool/hylafax/etc/FaxDispatch で

FaxDispatch
 
SENDTO=メールアドレス
FILETYPE=pdf;
 
 
受信したFAXをPDFでメールに添付して、設定したメールアドレスまで送ってくれます
 
 

音声ファイルの準備

「FAXの方は送って下さい」の音声ファイルを準備しないとですが、IT屋らしく?合成音声で作ってみました


使ったのは AquesTalk ってやつ 
http://www.a-quest.com/products/aquestalk2.html

音声記述はこんな感じでやってみました
「ただ'いま、よび'だしています。ふぁ'っくすの/かた'わ、そうし'んしてく'ださ'い。」

記号の入れ方で音を上げたり下げたり区切ったり・・

かなり遊べる楽しいソフトです

純粋に「音」として考えると、自然な日本語に聞こえるイントネーション作るって難しいですね
まだ上記だとガイジンさんが話してるような感じなので、もうちょっと研究してみます


このソフト、Windows版であれば無償で使えるので、無償版で wavファイルを作ってから、Asterisk でも使えるように gsm 形式に変換しました

変換には sox を利用(Asterisk のインストール時に yum で入れてるはず)
コマンドはこんな感じ
 
# sox  fax.wav  -r  8000  -c1  fax.gsm  resample  -ql
 
-c1 は、イチ で、 -ql は エル です。 お間違えの無いよう・・

作った gsm ファイルを /var/lib/asterisk/sounds に置いておくと、使ってくれます
ファイル名は extensions.conf に Playbak(???)で書いたモノと合わせておいてください


あとは、留守番電話の案内音声も必要です
作るのも大変そうだったので、サクッと持ってきたのを使いました
http://voip-info.jp/index.php/Asterisk_%E6%97%A5%E6%9C%AC%E8%AA%9E%E9%9F%B3%E5%A3%B0#.E3.83.80.E3.82.A6.E3.83.B3.E3.83.AD.E3.83.BC.E3.83.89

ここの 1.6系をダウンロードしてきて、/var/lib/asterisk/sounds 配下に展開するだけでした

 


以上
アジルフォンを使って、音声+FAX同時受け & メール通知の環境構築でした

アジルフォンの回線1つ、電話番号1つで電話をかけるのも、受けるのも可能
FAXも受信できてます。

ときどきつながらなくなるのは、アジルフォン側がまだまだ不安定だからかな・・
がんばれ、アジル


ついでに言うと、アジルフォンのパスワードは複雑にしたり、頻繁に変更するってことをしておかないと、誰かに勝手に使われて、通話料金だけ請求されちゃう!!!
なんてコトにもなりかねません
ネットがあればどこでも使える便利さは、パスワードがばれると誰でも使えるってことになっちゃいますので・・気をつけましょう



書いてないですが、sendmai (Postfix) や ntp やらもちゃんと設定しておかないと、メールも受け取れないし、受信時間なんかも間違って記録されちゃいます。
メールが届かない・・って人は確認してみてくだされ

 

余談:
アジルで電話番号を取得したら、とたんに警察から電話がかかってきました。。
「この番号は振り込め詐欺に・・・・」とのコト

どこにいても手軽に東京03番号が使えるってコトは、犯罪者もどこにいても良いってことで・・
便利になりすぎるのも危険ってことでしょうか

これ、アジルに言ったらすぐに番号を無効にしてくれました。
なかなか好印象

サービスなくならないよう、アジルさんにはがんばって欲しいです。


 
まこ | アジルフォン | 20:27 | comments(1) | trackbacks(0) |
スポンサーサイト
スポンサードリンク | - | 20:27 | - | - |
Comment
この記事、大変参考になりました。ありがとうございます。おかげ様でasteriskで何とかFAXの送受信ができました。
一番悩んだのが、ファックス受信のときに、通常の電話とどう区別するかという点でしたが、
exten => Answer
exnte => Dial
という風にすると、即座にうまくいきました。
一つだけ未だ解決できないことがあります。一旦Answerすると、その後、ring tone(というのでしょうか)が、通常と違ったものになってしまいます。
AnswerなしでDialすると、普通に日本の電話をかけた時のルルル...というring tone が聞こえるのですが、Answerをした後では、ツゥ−ツゥ−という音になってしまいます。そのため、電話をくれた人が、話中と間違えて、電話を切ってしまいます。
indications.confのcountryはjpになっているのですが、きっとどこかの設定が違っているのではないかと思います。
asterisk 1.8.2.3を使っているのですが、このような現象は起こりませんでしょうか。
しかしこのことは別にして、asteriskでファックスができたこと、大変楽しい気分です。

posted by Jacques ,2011/02/22 6:45 PM










Trackback
URL: