2017年11月26日日曜日

Asterisk の再セットアップ -- FAX 送受信してみる



今回は FAX 機能を設定します。



iaxmodem パッケージで FAX 用のモデム機能を Asterisk に付加し、併せて Hylafax という FAX 送受信のパッケージをインストール・設定します。





また PC (windows/Mac)から Hylafax と連携して使える FAX 用のクライアント機能も実装します。



クライアント機能は、英語表記ながら、送信先・題名・概要説明・などのカバーページを付加したり、テキストファイルや、pdf、画像、などの本文ページ(もちろん複数ページが可能です)をカバーページに続いて送信してくれる機能を持っていて、Java で動きますからプラットホームフリーで使えます。




-------------------------------------------------------------------------------------------


❏ Raspbian STRETCH をクリーンインストールする

❏ Asterisk をインストールする

❏ googletts.agi を使ってみる

❏ Asterisk にボイスメールを設定する

❏ Asterisk で FAX 送受信してみる ⇐ いまココ

❏ Asterisk の各種設定ファイル


-------------------------------------------------------------------------------------------




まず iaxmodem、Hylafax と関連パッケージをインストールします。



 # apt-get update

 # apt-get install iaxmodem hylafax-server hylafax-client libtiff-tools sharutils





後ろの2つはそれぞれ tiff2pdfuuencode のパッケージです。



tff2pdf は単独でも tiff ファイルを pdf に変換できます。



 $ tiff2pdf -o ファイル名.pdf ファイル名.tiff







パッケージをインストールしましたら、/var/spool/hylafax/etc のファイル一覧を確認してください。



typerules、pagesizes、lut18RS.pcf があるはずです。





もしないようでしたら、



 https://packages.ubuntu.com/artful/i386/hylafax-client/download



から hylafax-client_6.0.6-8_i386.deb をダウンロード、解凍してこれら3つのファイルを取り出して /var/spool/hylafax/etc コピーします。







【各種設定ファイルの編集】



編集対象は以下のものです。



/etc/asterisk/asterisk.conf ➡ ボイスメールの設定時に変更済み

/etc/asterisk/extensions.conf ➡ 関連部分の例のみ次回に記載

/etc/asterisk/iax.conf ➡ 関連部分の例のみ次回に記載

/etc/asterisk/sip.conf ➡ 関連部分の例のみ次回に記載

/etc/iaxmodem/ttyIAX ➡ 次回に記載

/etc/init.d/iaxmodem 起動スクリプト ➡ 次回に記載(バグ修正済み)





これらのファイルの設定をしましたら、iaxmodem の起動をします。



 # /etc/init.d/iaxmodem start



起動を確認します。



 # ps -ef | grep iaxmodem

 uucp        2992  2249  0  13:31  pts/3  00:00:01 /usr/bin/iaxmodem ttyIAX



上のように確認できたら OK です。





/etc/hylafax の中の設定ファイル群をすべて /var/spool/hylafax/etc にコピーします



すでにコピーされていると思いますが、ls コマンドまたはファイルマネージャーで確認してください)。





次に faxsetup を実行します。



 # /usr/sbin/faxsetup



以下の箇所を設定しますが、そのほかの箇所は 'enter' し、最後の行だけ 'no' とします(ここ重要)。









  Country
code [ ]?
 81
                    ;
国番号


  Area
code [ ]?
50                         
;
エリア番号


  Long
distance dialing prefix [ ]?
 0  
;
外線発信時のプリフィックス


  International
dialing prefix [ ]?
001;
国際番号発信時のプリフィックス(実際は extensions.conf
で制限するといいでしょう)



  


  〜













  Do
you want to run faxaddmodem to configure a modem [yes]? no














/etc/hylafax の配下のファイル群を確認します。












 config
config.ttyIAX FaxDispatch hfaxd.conf
hosts.hfaxd pagersizes


 sendfax.conf (setup.conf) (setup.modem) typerules





これらのファイル群の権限は hosts.hfaxd 以外は '755 rwx r-x r-x' でいいのですが、hosts.hfaxd 600 rw- --- ---' としてください。



この権限を誤ると起動時に思わぬエラーに見舞われます。



また、pagesizes、typerules は以下の各1行を最終行に追記してください(’~~~’ の ~~~ の部分のみ)。



pagesizes:; 'default    A4     9920   14030
9240   13200   472   345
'
















typerules:; '0
byte x ps %F/textfmt -f Courier-Bold -u -p 11 -s %s >%o <%i
'





















FAX 送信ユーザー登録と sendfax hosts 許可】



 # /usr/sbin/faxadduser -a ルートパスワード  root

 # /usr/sbin/faxadduser -a ユーザーパスワード  ユーザー名(例:pi)



また、/etc/hosts.allow の最終行に下記の1行を追記します。

これをしないと localhost 参照時に DNS エラーになります。



 sendfax: all





iaxmodem faxgetty を起動します。



 # /usr/bin/iaxmodem ttyIAX &

 # /usr/sbin/faxgetty  /dev/ttyIAX &

 Registration completed successfully.



となれば OK です。

ならないようならば、hylafax の再起動をして、上の2つの起動順序を

入れ替えてみます。



FAX 機能の状態を確認します。



 # faxstat -s

 HylaFax scheduler on SERVER: Running

 Modem ttyIAX (+81.050.abcd.efgh): Running and idle



のように送信元電番 050.abcd.efgh が表示されるはずです。



また、タスクマネージャーで faxgetty faxq hfaxd iaxmodem が起動されているはずですので確認します(hfaxd は2つあるかも)。





ここまできましたら、FAX 送信テストができますので送信してみましょう。



 # sendfax  -n  -f  ”送信者名”  -d  相手番号  送信ファイル名



送信テストにはエプソンのテストサイト(0425858501)を使うといいでしょう。



このサイトは送信すると折り返し、送信元電番に FAX を送り返してくれますので、送受信テストができます。






  sendfaxの形式:







  sendfax
-C
カバーシートのテンプレートファイル
-f
"
送信者名"
-m -r "
件名"
-x "
相手の会社名"
-d "
送信先名前@相手のFAX番号"
送信するファイル








  ※ ”送信者名” は省略可


  ※
-mは高解像度(196dpi)の指定。





無事に送信して、折り返し受信できましたら FAX 機能は正常にインストールされたことになりますので、一旦リブートし改めて状態確認をします。



 # reboot



リブート後に、ターミナルから次のコマンドを入力します。



 # /etc/init.d/hylafax status -l


 
hylafax.service
- LSB: Start and stop the hylafax server


  Loaded:
loaded (/etc/init.d/hylafax; generated; vendor preset: enabled)


  Active:
active (running)
since Thu 2017-11-23 13:54:59 JST; 8min ago


  Docs:
man:systemd-sysv-generator(8)


  Process:
531 ExecStart=/etc/init.d/hylafax start (code=exited,
status=0/SUCCESS)


  CGroup:
/system.slice/hylafax.service


  
├─
569
/usr/sbin/faxq


  
├─
572
/usr/sbin/hfaxd -d -i 4559


  
└─
581
/usr/sbin/faxgetty -D ttyIAX





  11
23
13:54:59 raspberrypi systemd[1]: Started LSB: Start and stop the
hy…er.


  11
23
13:54:59 raspberrypi HylaFAX[572]: Listening to [::]:4559


  11
23
13:54:59 raspberrypi HylaFAX[572]: HylaFAX INET Protocol Server:
re…ed.


  11
23
13:54:59 raspberrypi FaxQueuer[569]: HylaFAX (tm) Version 6.0.6


  11
23
13:54:59 raspberrypi FaxQueuer[569]: Copyright (c) 1990-1996 Sam
Le…ler


  11
23
13:54:59 raspberrypi FaxQueuer[569]: Copyright (c) 1991-1996
Silico…nc.


  11
23
13:54:59 raspberrypi FaxGetty[581]: OPEN /dev/ttyIAX HylaFAX (tm)
…0.6


  11
23
13:55:08 raspberrypi FaxGetty[581]: MODEM WWW.SOFT-SWITCH.ORG


  spandsp/


  11
23
13:59:27 raspberrypi HylaFAX[1125]: `-> Got a: ::1[7]


  11
23
13:59:27 raspberrypi HylaFAX[1125]: `-> Got a: 50663[13]


  Hint:
Some lines were ellipsized, use -l to show in full.




































このように確認できれば結構です。



再度、エプソンのサイトでテストしてみましょう。



OK ならば、クライアント側のソフトウェアを落とし込みます。









yajhfc-0_6_1.jar を使う】




http://www.yajhfc.de/downloads/current-version
から


Java
JAR file (all platforms)
2.00MB yajhfc-0_6_1.jar







をダウンロードします。







開いて(クリックして起動)初期設定します。










Java
実行環境があれば簡単に起動できます(通常は Java 実行環境は入っているはずです)。













送信リストの画面









受信リストの画面













送信時の宛先やカバーページの有無・題名・説明などを設定する画面

設定後、右上の "send" をクリックで送信が始まる












エプソンのテストサイトに送信するとこのようなページが折り返し送られてくる

注)送信時の設定内容は、後から本ブログに掲載のために仮に設定して

  みたものです。

  上の受信ページとは関連はありません。この受信ページはカバーページのみをテスト

  で送ったときに折り返し送られてきたものです。
















このソフトウェアは英文での設定項目ですが、設定内容自体は日本語でかまいません。












もちろん FaxCover の設定も日本語で OK です。 













また色々なファイル形式を扱えます。














YajHFCreceivedタグに受信リストを扱えるようにするには、








/etc/hylafax/hosts.hfaxd
を次のように編集します。










 localhost
127.0.0.1


 ^ユーザー名@:::pppppppp


 ^root@:::qqqqqqqq


 192.168.xxx.*
ここに、クライアントとして接続許可する PC のアドレスグループを指定する


 ^ユーザー名@:::pppppppp
2行目と同じものをコピペ


 ^root@:::qqqqqqqq
3行目と同じものをコピペ







 





また、YaiHFC の方も、Extras メニューで Admin
mode 
を選択します





これをしないと Received タグに受信リストが表示されません














例での設定は送受信とも FUSION
IP-Phone Smart 
の番号ですが、例えば送信は通話料の安いブラステルにして、受信を FUSION IP-Phone Smart またはブラステルにする、ということも可能です。













送信の折り返し受信テストは、エプソンのテストサイト(0425858501)を利用します。








このサイトを使う場合は、当然ですが送受信ともに同じ電番で行います。



















今回はここまでです。







次回は各種設定ファイルの設定内容一覧を記載します。















































































0 件のコメント:

コメントを投稿