2017-11-27

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

  1123 13:54:59 raspberrypi systemd[1]: Started LSB: Start and stop the hy…er.
  1123 13:54:59 raspberrypi HylaFAX[572]: Listening to [::]:4559
  1123 13:54:59 raspberrypi HylaFAX[572]: HylaFAX INET Protocol Server: re…ed.
  1123 13:54:59 raspberrypi FaxQueuer[569]: HylaFAX (tm) Version 6.0.6
  1123 13:54:59 raspberrypi FaxQueuer[569]: Copyright (c) 1990-1996 Sam Le…ler
  1123 13:54:59 raspberrypi FaxQueuer[569]: Copyright (c) 1991-1996 Silico…nc.
  1123 13:54:59 raspberrypi FaxGetty[581]: OPEN /dev/ttyIAX HylaFAX (tm) …0.6
  1123 13:55:08 raspberrypi FaxGetty[581]: MODEM WWW.SOFT-SWITCH.ORG
  spandsp/
  1123 13:59:27 raspberrypi HylaFAX[1125]: `-> Got a: ::1[7]
  1123 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 のアドレスグループを指定する
 ^ユーザー名@:::pppppppp2行目と同じものをコピペ
 ^root@:::qqqqqqqq3行目と同じものをコピペ

 

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

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



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



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


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






今回はここまでです。



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














0 件のコメント: