PCの最近のブログ記事

ここのところホームサーバーでFAXを送受信することを目標に夜な夜な実験していました。

結果実用に耐えるFAX環境を構築することができましたのでまとめて報告したいと思います。

 

実は以前RedHatLinux9サーバーからCentOS4.4サーバーに引っ越しした際、

このまま一挙にFAXサーバーも構築してしまおう!と思ったこともあったんです。

その時思いついたのはPCI接続のFAXモデムカードを通じて

サーバ-----モデム-----Voipアダプタ-----IP電話-----アナログ電話網

という力技の発想でした。

結果的には手元にあるPCIのモデムカードがどれもこれもWinモデムで諦めちゃったんですが

仮に使えるモデムがあったとしても実用に耐えたかはビミョーだったかも知れませんね。

 

あれから一年とちょっと・・・久しぶりに気分が盛り上がったので挑戦してみたら

自動アップデートでいつの間にかCentOS4.6になっていたサーバーに

Asterisk1.4.9+iaxmodem1.1.0+hylafax4.4.4という組み合わせでうまくいきました。

届いたFAXはすぐにPDFになってメールで届くので便利。

FAXなんてそんなに使う?なんて言っちゃあいけません。

ホームサーバーでFAXを送受信できること自体に喜びを感じなきゃ!(笑)

 

我が家の構成と構築したIP-FAXはこんな感じ。(灰色は従来からあるもの)

asterisk.gif

(図中のWindows hylafaxクライアントのFrog Fax@Mail は一見上手く働いてくれましたが

実際にはプリントできませんでした。Vista未対応なのでしょうか?現在検証中)

NTTからレンタルしている光電話ルータ[RT-200KI]からSo-netにPPPoEセッションを貼れば

二つ目のルーター[AtermWB7000H2]はいらない訳なんですが

そうするとなぜか@nifty光ユーザーからHTTPアクセスできなくなるのであえてこうしています。

そのときapacheのaccess_logにはトップページのhtmlをgetするログが残るんですけど

それ以降のアクセスが出来ないみたい・・・なぜこんなことが起こるのかわかる方いらっしゃいます?

 

話がそれてしまいました(^^;)

まずはAsteriskのインストール、現在の安定版は1.4.9だそうですので素直に従います。

Asteriskのインストールに先立ってZaptelというアナログ回線用のソフトをインストール。

IAXのタイミング制御にztdummyが必要なんだそうです。

 

インストール

Zaptel-1.4.9のインストール

############################################################

# cd /usr/src

# wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.4.9.tar.gz

# tar zxvf zaptel-1.4.9.tar.gz

#cd zaptel-1.4.9

# ./configure

# make menuselect

                              *******************************
                                  Zaptel Module Selection
                              *******************************

                                    Press 'h' for help.

                              ---> 1.  Kernel Modules
                                   2.  Utilities
                                   3.  Binary Firmware Packages

1.  Kernel Modulesで[Enter]を押す

                              *******************************
                                  Zaptel Module Selection
                              *******************************

                                    Press 'h' for help.

                                   [ ] 1.  pciradio
                                   [ ] 2.  tor2
                                   [ ] 3.  torisa
                                   [ ] 4.  wcfxo
                                   [ ] 5.  wct1xxp
                                   [ ] 6.  wct4xxp
                                   < > 7.  wctc4xxp
                                   [ ] 8.  wctdm
                                   [ ] 9.  wctdm24xxp
                                   [ ] 10. wcte11xp
                                   [ ] 11. wcte12xp
                                   [ ] 12. wcusb
                                   [ ] 13. xpp
                                   < > 14. ztd-eth
                                   < > 15. ztd-loc
                                   [*] 16. ztdummy
                                   [ ] 17. ztdynamic
                                   [ ] 18. zttranscode

ztdummyだけを選択[スペースキー]して[x]で終了

menuselect changes saved! ←と表示される。

続いて

# make
# make install
# make config
############################################################
 

Asterisk-1.4.9のインストール。

############################################################

# cd /usr/src

# wget http://ftp.digium.com/pub/asterisk/releases/asterisk-1.4.1.tar.gz

# tar zxvf asterisk-1.4.9.tar.gz 

#cd asterisk-1.4.9

# ./configure

# make

# make install

# make samples

############################################################

 

IAXmodem-1.1.0のインストール。

############################################################

# cd /usr/src

# wget http://jaist.dl.sourceforge.net/sourceforge/iaxmodem/iaxmodem-1.1.0.tar.gz

# tar zxvf iaxmodem-1.1.0.tar.gz

# cd iaxmodem-1.1.0/lib/libiax2

# ./configure

# make

# make install

# cd ../spandsp

# ./configure

# make

# make install

/usr/local/libにiaxとspandspのライブラリが作られるので

お好きなエディタで /etc/ld.so.conf に /usr/local/lib の一行を付け足す。

# vi /etc/ld.so.conf

または

# cat >> /etc/ld.so.conf

/usr/local/lib [Enter]

[Ctrl]+[D]

# cat /etc/ld.so.conf

include ld.so.conf.d/*.conf
/usr/ofed/lib
/usr/local/lib

↑のように追加されていれば良い。

# cd ../../  (=cd /usr/src/iaxmodem-1.1.0)

# ./build

# cp iaxmodem /usr/local/sbin/iaxmodem

# mkdir /etc/iaxmodem

# cp iaxmodem-cfg.ttyIAX /etc/iaxmodem/ttyIAX

# cp iaxmodem.init.fedora /etc/init.d/iaxmodem

# chmod 755 /etc/init.d/iaxmodem

# chkconfig --add iaxmodem

############################################################

 

hylafaxのインストール

############################################################

# cd /usr/src

# wget ftp://ftp.hylafax.org/source/hylafax-4.4.4.tar.gz

# tar zxvf hylafax-4.4.4.tar.gz

# cd hylafax-4.4.4

# ./configure

Are these ok [yes]?

と聞かれたら

13 [Enter]

Default page size [North American Letter]?

A4 [Enter]

としておきましょう。その他はデフォルトでいいと思います。

Are these ok [yes]?

y [Enter]

# make

# make install

# cp /usr/src/iaxmodem-1.1.0/config.ttyIAX /var/spool/hylafax/etc/config.ttyIAX

############################################################ 

 

以上でサーバー側で必要なソフトのインストールは完了です。

# chkconfig --list asterisk
asterisk        0:off   1:off   2:on    3:on    4:on    5:on    6:off

# chkconfig --list hylafax
hylafax         0:off   1:off   2:on    3:on    4:on    5:on    6:off

# chkconfig --list iaxmodem
iaxmodem        0:off   1:off   2:on    3:on    4:on    5:on    6:off

としてサービスに登録されていますね?

あとはfaxgettyが自動で起動するように

# vi /etc/inittab

一番最後に

mo:2345:respawn:/usr/local/sbin/faxgetty ttyIAX

という行を追加。

これでリブート後も自動的にFAXサーバーとして働いてくれます。

 

設定

Asteriskの設定

############################################################

/etc/asterisk/sip.conf

 [general]
maxexpirey=3600
defaultexpirey=3600
context=default
port=5060
bindaddr=0.0.0.0
srvlookup=yes
disallow=all
allow=ulaw
allow=alaw
allow=gsm
language=jp
localnet=192.168.1.0/255.255.255.0
;externip=*.*.*.*    ;←固定IPで運用する場合は指定する
externhost=aaa.bbb.ccc  ;←DynamicDNSで運用する場合はこちら
externrefresh=60
nat=never

;RT-200KI
;register => 3:ntttel:0003@192.168.*.*/0123456789

;So-net phone
;useragent=Fletsphone/2.3 (VOIP_AD 3.00\; NTTEAST/NTTWEST) ;VoIPアダプタを偽装する場合
register => 05012345678@so-net.ne.jp:password:username@voip00.so-net.ne.jp/05012345678

;[ntttel]
;type=friend
;username=0003
;secret=ntttel
;host=192.168.*.*
;canreinvite=no
;dtmfmode=inband
;disallow=all
;allow=ulaw
;allow=alaw
;context=fromntttel
;insecure=very

[so-net]
type=friend
username=username
secret=password
host=voip00.so-net.ne.jp
fromdomain=so-net.ne.jp
fromuser=05012345678
canreinvite=no
dtmfmode=inband
disallow=all
allow=ulaw
allow=alaw
progressinband=no
context=so-net
insecure=very

 RT-200KIにレジストできることは確認してありますが

ひかり電話は普通に使いたいのでここではコメントアウトしてあります。

 

/etc/asterisk/iax.conf

 [general]
bindport=4569
bindaddr=0.0.0.0
iaxcompat=yes
language=jp
bandwidth=medium
disallow=all
allow=ulaw
allow=gsm
jitterbuffer=no

[iaxmodem]
bindport=4570
type=friend
username=iaxmodem
secret=passeord
host=dynamic
disallow=all
allow=ulaw
allow=alaw
allow=slinear
context=faxout

iaxmodemではポート4570を使うようになっていますが

tcpdumpで4570をモニターしてもパケットが流れません。

設定とは関係なく4569を使うのかな?よくわかりません。

 

/etc/asterisk/extensions.conf

[general]
writeprotect=no
priorityjumping=no

[so-net]
exten => 05012345678,1,Ringing
exten => 05012345678,n,Wait(2)
exten => 05012345678,n,Playback(fax)
exten => 05012345678,n,Dial(IAX2/iaxmodem/${EXTEN})

[faxout]
exten => _0.,1,Set(CALLERID(num)=05012345678)
exten => _0.,n,Set(CALLERID(name)=05012345678)
exten => _0.,n,Dial(SIP/${EXTEN}@so-net,300,T)

 

[so-net]の050番号からFAXがかかってきたときの処理は

exten => 05012345678,1,Dial(IAX2/iaxmodem/${EXTEN})

だけでもかまいません。

しかしそれだけだとかけた瞬間いきなりモデムが反応するので

手動でFAXを送る一般の方はびっくりしちゃうかも知れません。

そこで

1.呼び出し音を鳴らし始め

2.一回分鳴らす頃合いまで待つ

3.fax.gsm(FAXを受信可能です。FAXのスタートボタンを押してください)を再生する。

4.iaxmodemにつなぐ

という人に優しい応対にしてみました。

fax.gsmは各自適当に用意して/var/lib/asterisk/soundsに入れておいてください。

面倒な方はその行を飛ばしてしまえばいいだけです。

 

/etc/asterisk/rtp.conf

[general]
rtpstart=10000
rtpend=11000

デフォルトは10000~20000までですが

そんなに必要ないかな・・・と。

たくさんポートを開けるのがなんとなく嫌なだけです。

UDPだからそんなに心配しなくてもいいと思いますけどね。

 

iaxmodemの設定

############################################################

/etc/iaxmodem/ttyIAX

device          /dev/ttyIAX
owner           uucp:uucp
mode            660
port            4570
refresh         60
server          192.168.*.*
peername        iaxmodem
secret          password
cidname         iaxmodem
cidnumber       05012345678
codec           slinear

特に悩むところはありませんね。

passwordはiax.confの[iaxmodem]で設定したものと合わせてください。

 

hylafaxの設定

############################################################

/usr/local/sbin/faxsetupを一度実行しておきましょう。

わかるところだけ設定すればよいと思います。

 

/var/spool/hylafax/etc/config.ttyIAX

CountryCode:            81
AreaCode:               50
FAXNumber:              +81.050.1234.5678
LongDistancePrefix:     0
InternationalPrefix:    001
DialStringRules:        etc/dialrules
ServerTracing:          0xFFF
SessionTracing:         0xFFF
RecvFileMode:           0600
LogFileMode:            0600
DeviceMode:             0600
RingsBeforeAnswer:      1
SpeakerVolume:          off
GettyArgs:              "-h %l dx_%s"
LocalIdentifier:        "faxserver" #(←相手のファックスの液晶に表示される名前)
TagLineFont:            etc/lutRS18.pcf
TagLineFormat:          "From %%l 050-1234-5678|%c|Page %%P of %%T"
MaxRecvPages:           200

(以下略)

電話番号の設定は間違っていても送受信には影響ないと思われます。

TagLineFormatは送ったFAXの先頭に印字されるものです。

上の設定だと "From fax server 050-1234-5678         2008年03月24日  12:34:56    1 of 1"

と期待したいところですが実際は日付の漢字の部分が文字化けします。

これはhylafax4がマルチバイト文字をサポートしないのでどうしようもありません。

気になる方は%cを消してしまえば日時が表示されなくなります。

 

届いたFAXをメールで転送して欲しいなら同じディレクトリで

# vi FaxDispatch

としてFaxDispatchファイルを新規作成し、内容を

SENDTO=your@mail.add.ress;
FILETYPE=pdf;

としておけばyour@mail.add.ressにpdf化されたFAXが添付されて届きます。

FAXとメール環境があればどこでも簡易スキャナになりますね。

 

最後にFAXを送信可能にするためファックスユーザーの登録をします。

# faxadduser -a password root ←管理者のパスワード

# faxadduser -p password user ←一般ユーザ&パスワード

 

############################################################

以上ですべての設定は完了です。

# reboot

ですべて自動で起動させるのもよし、

事情でサーバーを落とすわけにはいかないなら

# service asterisk start
# service hylafax start
# service iaxmodem start
# /usr/local/sbin/faxgetty /dev/ttyIAX &

とすべて起動すればFAXサーバーが稼働します。

外からFAXすると/var/spool/hylafax/recvqにtifファイルとして格納されます。

/var/spool/hylafax/etc/FaxDispatchの設定がしてあれば

同時にメールに添付されてお手元に届きます。

送信するにはfaxadduserに登録したユーザーで

$ sendfax -n -d 0123456789(送信先の電話番号) abcd.tif(送信したいファイル)

faxの状態を知るには

# faxstat -d

とかで。

 

参考.使用するポート

############################################################

外向きに開けなければならないのは

SIP     5060/UDP

RTP     10000:20000/UDP(rtp.confで指定した範囲)

家の場合so-net以外からのSIPは無視して良いので

#iptables -A INPUT -p udp -s [so-netのvoipサーバのアドレス] --dport 5060 -j ACCEPT

のようにしました。

ルーターでポートフォワードするのをお忘れなく。

 

LAN内で使用するのは同じく

SIP     5060/UDP

RTP     10000:20000/UDP(rtp.confで指定した範囲)

それと

IAX     4569:4570/UDP

Frog Fax@Mailを使うのであれば

hylafax     4559/TCP

30000:50000/TCP

ちゃんと調べたわけではありませんがかなり広い範囲で変動するようです。

通信できないとFrog Fax@Mailがハングします。

 今回VistaではFrog Fax@Mailが使えなかったので

変わりに使えるものがあったら加筆修正したいと思います。

それでは。

VistaになってIMEのバージョンが2007になり

今まで使っていた顔文字辞書が使えなくなりました。

ネットで調べると皆さん試行錯誤されているようですね。

昨日あれこれ試してみた結果

今のところ以下の方法が正解だと思います。

 

①顔文字辞書のテキストファイルをダウンロードする

     私が利用したのは『オレンジの顔文字辞書』

     http://www.facemark.jp/download.htm

②メモ帳などの文字入力が出来るソフトウェアを起動しIMEをアクティブにする

     IE7の検索欄などだとセキュリティのため低い権限でIMEが起動するので不可。

③IMEの言語バー→ツール→辞書ツールを開く

④辞書ツールのメニュー→ツール→テキストファイルからの登録→ダウンロードしたテキスト辞書ファイルを開く

     この時点で顔文字が打てるようになりますが

     なぜかIE7では出てこないのでさらに以下の手順を踏む。

⑤辞書ツールのメニュー→ツール→システム辞書の作成→適当な辞書ファイル名をつけて「開く」

 例:orange2007.dicなど

 するとIME2007用の辞書ファイルが作成されます。

 保存先はデフォルトのままがいいでしょう。

 無理にシステム辞書がある場所に保存しようとしても

 アクセス制御が邪魔をして上手くいきません。

⑥言語バー→プロパティ→辞書/学習タブ→システム辞書の「追加」ボタンで作成した辞書ファイルを開く

 

これでIE7でも問題なく顔文字が使えるようになると思います。

必須ではありませんが辞書ツールに読み込んだ顔文字辞書と作成した辞書の内容が重複するので

辞書ツールの方の顔文字辞書は削除しておいた方がいいでしょう。

よく検索すれば同じようなページはあると思いますが自分の備忘録のためにも書き残しておきます。

 

さてここからは数日遅れの日記( ̄∇ ̄;)ゞエヘヘ

一昨日の『Hi!Hey!Say!』

ちゃんと放送されましたね~♪

hiheysay.gif

結構尺も長く使ってくれて大満足でした(*^^*)

でも勝手に『日本一芸達者な犬』って・・・

誇大広告はやめてください(; ̄ー ̄A アセアセ・・・

 

喜びに浸っていたらいつの間にか外は大雪でした!(^▽^;)

家に帰る頃までは大丈夫だろうと』高を括っていたら

家まであと1~2分の坂道が登れずチェーンを履く羽目に・・・

軽トラはリアの加重が少ないから簡単にスリップしちゃうんですよね~。

素手だったので指が千切れるように痛かった(涙)

chain.jpg

↑これは次の日の朝の写真。

道路の雪はすっかり融けていたのでチェーンは取り外して仕事へ。

チェーンつけて走ったのはほんの7~800mかなぁ?・・・悔しいっ((o(>皿<)o)) キィィィ!!

 

雪にやられてばかりじゃなんなので

融けないうちにミミを連れ出してちょっと走らせました。

snow1.jpg

サクサクする感触が面白くてたまらないのかな~?

珍しく四肢が地面についていない写真も撮れました♪

snow2.jpg

これってミミにしては凄く珍しいことなんですよ~``r(^^;)ポリポリ

Vista移行中

| | コメント(4) | トラックバック(0)

ミミ家冬眠中?・・・

sleeping.jpg

インフルエンザから回復して早一週間と少し。
ブログもmixiも放置していたら
重症化説が囁かれるようになってきたので
ここらでひとつ経過を書いておきましょう。

先週土曜日に発症した私。
日曜日は楽しみにしているアジリティー競技会だから
絶対にもらうもんか!と頑張っていたのに無情の発熱でした(T_T)
しかしあきらめきれない私・・・
ここで寝込んだら絶対行かせてもらえないと思って
せっせと二人の看病に努めて元気をアピール!
翌朝は5時起きして朝食の支度を済ませてから競技会へ行ったのでした。

競技会はふわふわ踊っているような感覚で
かえって気持ちよかったくらい
成績には不調が如実に現れていたけれど
ちゃんと完走できて満足でした

帰ってきて熱を計ると9度4分
ママさんは遊んで来る余裕があるんだからと取り合ってくれないし
こちらも病人を置いていった後ろめたさが・・・
結局本格的に寝込ませてもらったのは月曜日一日だけ。
汗をびっしょりかいて完治したのでした。

火曜日から出勤。
ふと思い立ってお客様に処分を依頼されて眠っていた
富士通の液晶モニタを店のCRTモニタと取り替えようと決心。
それがネットお休みの始まりでした。 

このモニター、DFP20ピンというデジタル端子接続です。
ところが店のパソコンはアナログ出力しかない。
ということでDVI→DFP20の変換コネクタと
DVI出力端子のカードを一枚新調することとしました。

店のパソコンはAGPスロットしかないのですが
AGPのグラボはちょっと割高な上に性能が低い・・・
ということで自宅のパソコンに挿さっている
ATI All in Wonder Radeon7500を店のパソコンに付けることにして
購入するグラボはPCI-Express接続の
ATI HD2400 PRO を¥4,980で購入。
変換プラグは¥1,680だったかな?
これでめでたく店のパソコンは液晶モニタになったのでした♪

さてさて安価とはいえVistaのAeroにも十分に耐えられるグラボが付いて
我が家のパソコンもいよいよVista Ready.
いっちょ移行を開始してみますか~
と軽い気持ちで始めたもののそう簡単に事は進みませんでした。

Vistaインストール後再起動できない~
XPに戻してもなんか不安定。
試しにグラボをRadeonに戻してみるとOK
散々悩んだ挙句にマザーボードのBIOS更新ページを見てみると
ATI 2***シリーズに対応した新BIOSが!!!
くっそ~、BIOSだったのかよ~!((o(>皿<)o)) キィィィ!!
BIOSでつまずいたのはむか~し昔、
INTELのマザーに3.2GのHDくっつけたら認識しなかったとき以来だっけ。
もう十年以上前だな~、懐かしい・・・( -_-)フッ

他にも更新プログラムを当てるとインストール出来なくなる
プログラムがあったりして試行錯誤をしていました。
ようやくここに来てちゃんと使える手ごたえが出てきましたが
うっかりVista未対応のソフトを入れたりしたら
またあたふたしそうです・・・
Vistaも発売してからもうすぐ一年になりますが
まだ人柱が必要なのかな~?
本当はXPで十分なのですが商売のためにも
そろそろVistaに詳しくなっとかないと・・・ね~(¬д¬;)

2008年7月

    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 31    

このアーカイブについて

このページには、過去に書かれたブログ記事のうちPCカテゴリに属しているものが含まれています。

前のカテゴリはです。

次のカテゴリは季節です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

PC: 月別アーカイブ

DrecomRSS

Blog People

ミミがお手伝いした本





Powered by Movable Type 4.0