Asterisk
從 Asterisk 發送傳真(電子郵件到傳真)— 是否有任何回饋?
我即將向傳真網關發送一些電子郵件 — 一些 python 程序將製作Asterisk 呼叫文件並將它們放入一些隊列(基於文件或數據庫)。
然後另一個程序應該從隊列中獲取“呼叫任務”並將它們“提供”給星號(遵守一些配置的限制,因為
res_fax_digium
會丟棄超出限制的任務)。接下來,讓我們假設,一切都很好,asterisk 成功發送了一些傳真文件。有什麼方法可以獲取此操作的狀態?
如果日誌文件解析是最好的,我可能會分配一些特殊
accountcode
的(我可能會使用這個欄位)將 CDR 也放入單獨的文件中。請問,我應該評估哪些其他方式?
所以,我放棄了這種方法,將採用另一種方法——AMI,Asterisk Management Interface API。
就幾句話。
創建了這樣的撥號方案:
[01-sendfax] exten => _X.,1,NoOp() same => n,SendFax(${faxfile},f)
我可以使用(使用pyst)發起呼叫:
res = mgr.originate( 'SIP/m2000/1234567', '1234567', context='01-sendfax', priority='1', caller_id='7654321', async=True, variables={ 'TRUNK': 'SIP/m2000', 'faxfile': '/tmp/file.tiff', } )
並且設置好
debug = on
後manager.conf
,我可以收聽所需的事件:# will catch a status of `originate` call # (this does not require `debug = on` in `manager.conf`): mgr.register_event('OriginateResponse', handle_response) # will catch `SendFax` application's result: mgr.register_event('FaxStatus', handle_response)
因此,完成後
res_fax_digium
觸發FaxStatus
事件SendFax
。