Raspberry PiでPBXとFAXの構築 - FAXのセットアップ

投稿 2024/06/21 (金) 午後 04:02 | パソコン | hotall




RaspberryPiにインストールするソフトウェアの、最後のピースはFAXサーバーです。
IAXmodemとの連携があるので、少々面倒です。

この文書は個人的なものであり、内容について一切の責任を負いかねます。



HylaFaxのインストール

sudo apt-get install hylafax-server hylafax-client

HylaFaxのコンフィギュレーション

セットアッププログラムの実行

モデムの自動コンフィギュレーションは、IAXmodemが応答せず処理がハングアップするため、これを行わず、それ以外はデフォルト値とします。

sudo faxsetup
[1] Init script starts faxq: yes
[2] Init script starts hfaxd yes
[3] Start paging protocol: no
Are these ok [yes]? ⏎
Should I restart the HylaFAX server processes [yes]? ⏎
Do you want to run faxaddmodem to configure a modem [yes] no⏎

モデムの定義

モデムの自動コンフィギュレーションを行なわなかったため、手動で定義します。

ファイルパス:/etc/hylafax/config.ttyIAX

設定内容:

サンプルファイル(SourceForgeサイトのiaxmodemプロジェクト)を参考に作成します。

CountryCode:		81
AreaCode: <自局の市外局番:前ゼロなし>
FAXNumber: +81.<自局の電話番号:前ゼロなし、区切り記号は".">
LongDistancePrefix: 0
InternationalPrefix: 010
DialStringRules: etc/dialrules
ServerTracing: 0xFFF
SessionTracing: 0xFFF
RecvFileMode: 0666
LogFileMode: 0666
DeviceMode: 0600
RingsBeforeAnswer: 1
SpeakerVolume: off
GettyArgs: "-h %l dx_%s"
LocalIdentifier: "IAXmodem"
TagLineFont: etc/lutRS18.pcf
TagLineFormat: "From %%l|%c|Page %%P of %%T"
MaxRecvPages: 200

ModemType: Class1 # use this to supply a hint

Class1AdaptRecvCmd: AT+FAR=1
Class1TMConnectDelay: 400 # counteract quick CONNECT response

Class1RMQueryCmd: "!24,48,72,96" # enable this to disable V.17 receiving
Class1TMQueryCmd: "!24,48,72,96" # enable this to disable V.17 sending

ModemResetCmds: AT+VCID=1 # enables CallID display

PagerTTYParity: none

CallIDPattern: "NMBR="
CallIDPattern: "NAME="
CallIDPattern: "ANID="
CallIDPattern: "NDID="

FAX送信の定義

ファイルパス:/etc/hylafax/sendfax.conf

設定内容:
MaxTries: 2
MaxDials: 2

FAXデーモンの定義

ファイルパス:/etc/hylafax/hfaxd.conf

設定内容:
LogFacility:            daemon          # syslog facility (want this 1st))
ServerTracing: 0x003 # just server operation
JobFmt: "%-5j %1a %-12.12e %5P %5D %Y %.27s"
TimeZone: local

ユーザーの登録

HylaFaxにアクセスするユーザーを登録します。

admin
faxadduser -a <パスワード> root

user
faxadduser -p <パスワード> <任意のユーザーID>

ユーザーの確認

ファイルパス: /etc/hylafax/hosts.hfaxd
  • 最終行に追加されていることを確認
  • 不要な登録があれば、その行を削除

ログファイルのアクセス権を変更

ディレクトリパス:/var/spool/hylafax/log

sudo chmod 644 seqf
sudo chmod 644 xferfaxlog
これを変更しないと、ログにエラーが出ます。

ファックス受信通知メールの送信定義

ファイルパス:/etc/hylafax/FaxDispatch

定義内容:
ファイルを新規に作成します。
FILETYPE=pdf;
SENDTO=<送信先メールアドレス>;
TEMPLATE=custom;

ファックス送信通知メールの送信定義

ファイルパス: /etc/hylafax/FaxNotify

定義内容:
ファイルを新規に作成します。
FILETYPE=pdf;
SENDTO=<送信先メールアドレス>;
TEMPLATE=custom;

通知メールのフォーマット(TEMPLATE)定義

ディレクトリパス:/etc/hylafax/templates

このディレクトリ上に言語ごとのサブフォルダがあり、インストール時に指定した言語のサブディレクトリのテンプレートが使用されます。
ところが、日本語のサブディレクトリはありません。
そこで、雛形としてenフォルダをコピーし、新しくサブディレクトリ(custom)を作成します。

cd /etc/hylafax/templates
sudo cp -r en custom

customディレクトリ上の各テンプレートファイルを編集します。文字コードはUTF-8です。

削除通知メールの定義

ファイル名:notify-killed.txt

定義内容:
To: $SENDTO
Subject: Faxの送信要求が削除されました - $DESTINATION
From: HylaFAX Agent <$FROMADDR>
Content-type: text/plain; charset=UTF-8
Content-Transfer-Encoding: Quoted-Printable

自宅のFAX電話(Hylafax)からのお知らせです。:

Faxの送信要求が削除されました。
送信宛先:$DESTINATION
試行回数:$totdials
ページ数:$npages
ページ幅:$pagewidth(mm)
ページ長:$pagelength(mm)
画像品質:$resolution(dpi) / $dataformat
処理時間:$JTIME ($signalrate)
要求元 :$client / $CALLID1
処理番号:$jobid / $groupid - $commid
処理情報:$JOBINFO

Faxは送信されませんでした。

送信失敗通知メールの定義

ファイル名:notify-killed.txt

定義内容:
To: $SENDTO
Subject: Faxの送信が失敗しました - $DESTINATION
From: HylaFAX Agent <$FROMADDR>
Content-type: text/plain; charset=UTF-8
Content-Transfer-Encoding: Quoted-Printable

自宅のFAX電話(Hylafax)からのお知らせです。:

Faxの送信が失敗しました。
失敗理由:$faxstatus

送信宛先:$DESTINATION
試行回数:$totdials
ページ数:$npages
ページ幅:$pagewidth(mm)
ページ長:$pagelength(mm)
画像品質:$resolution(dpi) / $dataformat
処理時間:$JTIME ($signalrate)
要求元 :$client / $CALLID1
処理番号:$jobid / $groupid - $commid
処理情報:$JOBINFO

原因を解決し、再度、送信してください。

送信完了通知メールの定義

ファイル名:notify-done.txt

定義内容:
From: HylaFAX Agent <$FROMADDR>
To: $SENDTO
Subject: Faxの送信が完了しました - $DESTINATION
From: HylaFAX Agent <$FROMADDR>
Content-type: text/plain; charset=UTF-8
Content-Transfer-Encoding: Quoted-Printable

自宅のFAX電話(Hylafax)からのお知らせです。:

Faxの送信が完了しました。
送信宛先:$DESTINATION
試行回数:$totdials
ページ数:$npages
ページ幅:$pagewidth(mm)
ページ長:$pagelength(mm)
画像品質:$resolution(dpi) / $dataformat
処理時間:$JTIME ($signalrate)
要求元 :$client / $CALLID1
処理番号:$jobid / $groupid - $commid
処理情報:$JOBINFO


受信完了通知メールの定義

ファイル名:faxrcvd-success.txt

定義内容:
From: HylaFAX Agent <$FROMADDR>
To: $SENDTO
Subject: Faxに新着メッセージが入りました - "$SENDER"
Content-type: text/plain; charset=UTF-8
Content-Transfer-Encoding: Quoted-Printable

自宅のFAX電話(Hylafax)からのお知らせです。:

新しいメッセージが入りました。
着信日時:$RECEIVED
ページ数:$PAGES
処理正常:$ERRCORRECT
画像品質:$QUALITY / $DATAFORMAT
受信時間:$TIMETORECV ($SIGNALRATE)
発信元 :$SENDER / $CALLID1


--- $FILE (ftp://$HOSTNAME:$PORT/$FILE) ---

モデムハンドラサービスの定義の変更

HylaFaxを構成する3つのサービス(デーモン)の1つであるfaxgettyは、モデムデバイスの後に起動するように定義されています。

ところが、モデムの自動コンフィギュレーションの問題で分かる通り、iaxmodemは完全にアナログモデムデバイスをエミュレートできていません。
起動についても、iaxmodemの起動がデバイスの起動として認識されない問題があります。

したがって、faxgettyのサービス定義を変更する必要があります。

ファイルパス:/lib/systemd/system/faxgetty@.service

設定内容:

◦前提条件をモデムデバイスからiaxmodemサービスに変更します。

BindTo=iaxmodem.service
After=iaxmodem.service

各サービスの自動起動登録

代表する仮想サービスhylafaxと構成する3つのサービスの自動起動登録をします。

sudo systemctl daemon-reload
sudo systemctl enable faxq
sudo systemctl enable hfaxd
sudo systemctl enable hylafax
sudo systemctl enable faxgetty@ttyIAX

Faxクライアントのインストール

FAXの受信や送信するには、別途クライアントソフトをインストールすると便利です。

YajHFCはJAVAで作られたマルチプラットフォームのHylaFaxクライアントソフトウェアです。
普段使っているPCで、受信したFAXを確認したり、FAXを簡単に送信できます。

私のPCはWindowsなので、Windows用のパッケージをインストールしました。

YajHFCのインストール

取得先:YajHFC Current version ダウンロードサイト
ダウンロードファイル:Windows installer exe(32+64bit)

ダウンロードしたインストーラーを実行します。

YajHFCのコンフィギュレーション

メニューバーから、[Extras]-[Options]

[General]の設定




[Servers]-[Default]の設定

Hylafaxサーバーの設定をします。
Defaultの設定を変更するか、新規に追加登録します。




項目設定値
Name for this server任意の名前
Character serUTF-8
Host nameRaspberry PiのIPアドレス
Username上記「ユーザーの登録」で登録したuserのユーザーID
Password上記「ユーザーの登録」で登録したuserのパスワード
User passive mode to fetch faxesチェックしてFTPをパッシブモードにする



■ RaspberryPiでPBXとFAXの構築 - 目次 -
  1. 構成
  2. ひかり電話RV-230SEの設定
  3. OSのセットアップ
  4. LANアダプタの接続
  5. ユーティリティのセットアップ
  6. PBXのセットアップ
  7. ソフトウェアモデムのセットアップ
  8. ▶FAXのセットアップ
  9. 自動再起動
  10. ステータスLEDの接続
  11. ケースに収納・設置
  12. トラブルと対応
  13. 迷惑電話対策
« PrevNext »

コメント

コメントはありません。

コメントする