Asterisk 13 FAX送信

Asterisk のFAX送信機能を使ってみます。

参考:http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/Fax_id290275.html

FAXを送受信するためにはspandspライブラリが必要になります。インストール手順はこちらの投稿を参考にしてください。

FAX送信はTIFF画像を送信します。ここでは送信したいTIFF画像があることを前提にAsteriskでFAX送信する方法をご紹介します。

FAX送信処理

FAX送信をするためには extensions.conf で以下の関数を呼ぶだけで行えます。

exten => send,1,SendFAX(/tmp/foo.tif,d)

これだけでは、送信する画像が固定なのでいろいろな画像を送信できるように処理を考えてみます。

[send-fax]
exten => send,1,NoOp(**** SENDING FAX ****)
 same => n,SendFAX(${FAXFILE},d)
 same => n,Hangup()
; Hangup.
exten => h,1,NoOp(Hangup send-fax)
 same => n,NoOp(${FAXSTATUS})
 same => n,NoOp(${FAXERROR})

送信するファイルを動的にセットするため、SendFAX関数のパラメータに FAXFILE という変数を指定しています。
では、次にこのファイル名を与えてFAX送信を実行させます。

コール ファイルでFAX送信実行

Asterisk にはコールファイルと呼ばれる構造化されたファイルを使うことで、自動でダイアル発信させる仕組みがあります。FAX送信を行うためこのコールファイルを利用します。

コールファイルの構文はこちらをご覧ください。

TIFF画像をFAX送信するためのコールファイルは以下の通りです。
/tmp/bar.tif 画像を 0311112222 へ送信する例です。

Channel: SIP/0311112222@account
Extension: send
Context: send-fax
Set: FAXFILE=/tmp/bar.tif

上記内容のコールファイルを /var/spool/asterisk/outgoing ディレクトリに配置すると、上記 extensions.conf の send-fax コンテキストの FAXFILE 変数に /tmp/bar.tif がセットされて send エクステンションの 実行されます。 つまり、/tmp/bar.tif 画像が 0311112222 へFAX送信されます。

※ 注意点は、/var/spool/asterisk/outgoing ディレクトリに直接コールファイルを作成せず、一時ディレクトリに作成した後、移動する必要があります。

複数の画像ファイルを順次FAXで送信するには、画像、送信先ごとににコールファイルを作成してスプールさせれば送信できます。電話回線のチャネル数制限がありますので、コールファイル数をうまく調整しないと送信エラーになる場合があります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です