Asterisk

從 Asterisk 發送傳真(電子郵件到傳真)— 是否有任何回饋?

  • May 22, 2015

我即將向傳真網關發送一些電子郵件 — 一些 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 = onmanager.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

引用自:https://serverfault.com/questions/508850