hylafa(またclient)からFAX送信(SenFAXコマンド)における、extensions.confの記述について

280 views
Skip to first unread message

流離い者

unread,
May 6, 2022, 9:25:28 AM5/6/22
to aster...@googlegroups.com
寺澤と申します。
お忙しい中、下記の内容について判らない事がありましたのでご質問いたします。
もしご存じの方がおられましたら、ご返事をしていただければ幸いです。

環境
OS                   :CentOS 8
Asterisk            :18.11.1
NTTひかり電話   :PJSIP
050plus            :SIP
FAX                  :HylaFAX Ver 6.0.?
FAX Client        :Winprint HylaFAX Reloaded Ver 0.4.11
Modem            :iaxmodem Ver 1.3.3



●質問
WindowsのHylaFAX
ClientやコンソールからのsendfaxコマンドからFAX印刷(送信)した際、Asteriskサーバーのコンソールで
"faxstat -s"コマンドをすると、FAX印刷したことの確認ができました。
しかしextensions.confのFAX送信を記述しているSendFAXコマンドで、送信するファイル(tif)が見つからなく、
エラーにより送信が失敗している事がわかりました。
正しい記述をご存じの方はおられませんでしょうか?

私の認識では、SendFAXコマンドに受け渡しをする際のファイル名が判らないため、どの様な記述をすればいいか判りません。
hylafaxクライアントから、送信用のファイルをHykafaxサーバーへ渡していると思われるため、extensions.confに
何らかの変数が必要と思われるが、調べた限りでは判らない。

ちなみに、現在はoutgoingによる自動発信を行うことで、固定(tif)ファイルを設定し送信する事ができます。

参考URL
https://wiki.asterisk.org/wiki/display/AST/Asterisk+18+Application_SendFAX_res_fax

◇FAX関連の/etc/asterisk/extensions.conf
;===========================================================

[fax-out]
exten => _X.,1,NoOp(**** SENDING FAX (fax-out) ****)
exten => _X.,n,Set(FAXFILE=dw-faxout.tif)
<=何を設定すれば良いか分からない・・・

; Set FAXOPTs
exten => _X.,n,NoOp(**** SETTING FAXOPT ****)
exten => _X.,n,Set(FAXOPT(ecm)=yes)
exten => _X.,n,Set(FAXOPT(localstationid)=${FAXNUMBER})
exten => _X.,n,Set(FAXOPT(maxrate)=14400)
exten => _X.,n,Set(FAXOPT(minrate)=2400)

; Send the fax
exten => _X.,n,NoOp(**** SENDING FAX : ${FAXFILE} ****)
exten => _X.,n,SendFAX(/tmp/${FAXFILE},df)
<=、場所が分からず/tmp/にしてます、fオプションはT38を使っているため。
exten => _X.,n,Wait(5)
exten => _X.,n,Hangup

; Hangup! Print FAXOPTs
exten => h,1,NoOp(**** FAX Hangup! Print FAXOPTs ****)
exten => h,n,NoOp(FAXOPT(ecm) : ${FAXOPT(ecm)})
exten => h,n,NoOp(FAXOPT(filename) : ${FAXOPT(filename)})
exten => h,n,NoOp(FAXOPT(headerinfo) : ${FAXOPT(headerinfo)})
exten => h,n,NoOp(FAXOPT(localstationid) : ${FAXOPT(localstationid)})
exten => h,n,NoOp(FAXOPT(maxrate) : ${FAXOPT(maxrate)})
exten => h,n,NoOp(FAXOPT(minrate) : ${FAXOPT(minrate)})
exten => h,n,NoOp(FAXOPT(pages) : ${FAXOPT(pages)})
exten => h,n,NoOp(FAXOPT(rate) : ${FAXOPT(rate)})
exten => h,n,NoOp(FAXOPT(remotestationid) : ${FAXOPT(remotestationid)})
exten => h,n,NoOp(FAXOPT(resolution) : ${FAXOPT(resolution)})
exten => h,n,NoOp(FAXOPT(status) : ${FAXOPT(status)})
exten => h,n,NoOp(FAXOPT(statusstr) : ${FAXOPT(statusstr)})
exten => h,n,NoOp(FAXOPT(error) : ${FAXOPT(error)})


;===========================================================

[outgoing-fax-out]
exten => sendfax,1,NoOp(**** SENDING FAX (outgoing-fax-out) ****)
exten => sendfax,n,NoOp(**** SENDING FAX : ${FAXFILE} ****)
<=ファイルはoutgoingのFAXFILEを参照
exten => sendfax,n,SendFAX(${FAXFILE},df)
<=fオプションは、T38を使っているため
exten => sendfax,n,Wait(5)
exten => sendfax,n,Hangup

; Hangup! Print FAXOPTs
exten => h,1,NoOp(FAXOPT(ecm) : ${FAXOPT(ecm)})
exten => h,n,NoOp(FAXOPT(filename) : ${FAXOPT(filename)})
exten => h,n,NoOp(FAXOPT(headerinfo) : ${FAXOPT(headerinfo)})
exten => h,n,NoOp(FAXOPT(localstationid) : ${FAXOPT(localstationid)})
exten => h,n,NoOp(FAXOPT(maxrate) : ${FAXOPT(maxrate)})
exten => h,n,NoOp(FAXOPT(minrate) : ${FAXOPT(minrate)})
exten => h,n,NoOp(FAXOPT(pages) : ${FAXOPT(pages)})
exten => h,n,NoOp(FAXOPT(rate) : ${FAXOPT(rate)})
exten => h,n,NoOp(FAXOPT(remotestationid) : ${FAXOPT(remotestationid)})
exten => h,n,NoOp(FAXOPT(resolution) : ${FAXOPT(resolution)})
exten => h,n,NoOp(FAXOPT(status) : ${FAXOPT(status)})
exten => h,n,NoOp(FAXOPT(statusstr) : ${FAXOPT(statusstr)})
exten => h,n,NoOp(FAXOPT(error) : ${FAXOPT(error)})

;===========================================================


◇outgoingの呼出しファイル
;===========================================================
Channel: PJSIP/1860425858501@hikari-endpoint
<=ひかり電話からEPSONのファックステスト送信宛
CallerID: "IP-PBX Asterisk"
WaitTime: 30
MaxRetries: 3
RetryTime: 60
Account: ##########

Context: outgoing-fax-out
Extension: sendfax
Priority: 2

SetVar: FAXFILE=/var/spool/asterisk/fax/outgoing/test.tfl
<=FAX発信用ファイル
SetVar: FAXOPT(ecm)=yes
SetVar: FAXOPT(localstationid)=1860425858501
SetVar: FAXOPT(maxrate)=14400
SetVar: FAXOPT(minrate)=2400

Archive: yes

;===========================================================


◇エラーによるAsteriskコンソールログ
;===========================================================
    -- Time to scan old dialplan and merge leftovers back into the new:
0.000081 sec
    -- Time to restore hints and swap in new dialplan: 0.000009 sec
    -- Time to delete the old dialplan: 0.000122 sec
    -- Total time merge_contexts_delete: 0.000212 sec
    -- pbx_config successfully loaded 12 contexts (enable debug for
details).
    -- Accepting AUTHENTICATED call from 127.0.0.1:4570:
    --        > requested format = slin,
    --        > requested prefs = (),
    --        > actual format = ulaw,
    --        > host prefs = (ulaw|alaw|gsm),
    --        > priority = mine
    -- Executing [1860425858501@fax-out:1] NoOp("IAX2/iaxmodem-7110",
"**** SENDING FAX (fax-out) ****") in new stack
    -- Executing [1860425858501@fax-out:2] Set("IAX2/iaxmodem-7110",
"FAXFILE=dw-faxout.tif") in new stack
    -- Executing [1860425858501@fax-out:3] NoOp("IAX2/iaxmodem-7110",
"**** SETTING FAXOPT ****") in new stack
    -- Executing [1860425858501@fax-out:4] Set("IAX2/iaxmodem-7110",
"FAXOPT(ecm)=yes") in new stack
    -- Executing [1860425858501@fax-out:5] Set("IAX2/iaxmodem-7110",
"FAXOPT(localstationid)=**********") in new stack
    -- Executing [1860425858501@fax-out:6] Set("IAX2/iaxmodem-7110",
"FAXOPT(maxrate)=14400") in new stack
    -- Executing [1860425858501@fax-out:7] Set("IAX2/iaxmodem-7110",
"FAXOPT(minrate)=2400") in new stack
    -- Executing [1860425858501@fax-out:8] NoOp("IAX2/iaxmodem-7110",
"**** SENDING FAX : dw-faxout.tif ****") in new stack
    -- Executing [1860425858501@fax-out:9]
SendFAX("IAX2/iaxmodem-7110", "/tmp/dw-faxout.tif,df") in new stack
[May  3 00:12:27] ERROR[104315][C-0000002a]: res_fax.c:2704
sendfax_exec: access failure.  Verify '/tmp/dw-faxout.tif' exists and
check permissions.
  == Spawn extension (fax-out, 1860425858501, 9) exited non-zero on
'IAX2/iaxmodem-7110'
    -- Executing [h@fax-out:1] NoOp("IAX2/iaxmodem-7110", "**** FAX
Hangup! Print FAXOPTs ****") in new stack
    -- Executing [h@fax-out:2] NoOp("IAX2/iaxmodem-7110", "FAXOPT(ecm)
: yes") in new stack
[May  3 00:12:27] ERROR[104315][C-0000002a]: res_fax.c:4547
acf_faxopt_read: channel 'IAX2/iaxmodem-7110' can't read
FAXOPT(filename) because it has never been written.
    -- Executing [h@fax-out:3] NoOp("IAX2/iaxmodem-7110",
"FAXOPT(filename) : ") in new stack
    -- Executing [h@fax-out:4] NoOp("IAX2/iaxmodem-7110",
"FAXOPT(headerinfo) : ") in new stack
    -- Executing [h@fax-out:5] NoOp("IAX2/iaxmodem-7110",
"FAXOPT(localstationid) : **********") in new stack
    -- Executing [h@fax-out:6] NoOp("IAX2/iaxmodem-7110",
"FAXOPT(maxrate) : 14400") in new stack
    -- Executing [h@fax-out:7] NoOp("IAX2/iaxmodem-7110",
"FAXOPT(minrate) : 2400") in new stack
    -- Executing [h@fax-out:8] NoOp("IAX2/iaxmodem-7110",
"FAXOPT(pages) : 0") in new stack
    -- Executing [h@fax-out:9] NoOp("IAX2/iaxmodem-7110", "FAXOPT(rate)
: ") in new stack
    -- Executing [h@fax-out:10] NoOp("IAX2/iaxmodem-7110",
"FAXOPT(remotestationid) : ") in new stack
    -- Executing [h@fax-out:11] NoOp("IAX2/iaxmodem-7110",
"FAXOPT(resolution) : ") in new stack
    -- Executing [h@fax-out:12] NoOp("IAX2/iaxmodem-7110",
"FAXOPT(status) : FAILED") in new stack
    -- Executing [h@fax-out:13] NoOp("IAX2/iaxmodem-7110",
"FAXOPT(statusstr) : error reading file") in new stack
    -- Executing [h@fax-out:14] NoOp("IAX2/iaxmodem-7110",
"FAXOPT(error) : FILE_ERROR") in new stack
    -- Hungup 'IAX2/iaxmodem-7110'


Reply all
Reply to author
Forward
Message has been deleted
0 new messages