從 Asterisk 發送傳真(電子郵件到傳真)---可以提供回饋嗎?

從 Asterisk 發送傳真(電子郵件到傳真)---可以提供回饋嗎?

我正要向傳真網關發送一些電子郵件 --- 一些 python 程式會星號 呼叫檔案並將它們放入某個隊列(基於文件或資料庫)。

然後另一個程式應該從佇列中取得「呼叫任務」並將它們「饋送到」星號(遵守某些配置的限制,因為res_fax_digium會丟棄超出限制的任務)。

接下來,假設一切順利,asterisk 成功地發送了一些傳真文件。有什麼方法可以獲得此操作的狀態?

如果日誌檔案解析是最好的,我可能會分配一些特殊的accountcode(我可能可以使用這個欄位)來將 CDR 放入單獨的檔案中。

請問,我還應該評估哪些其他方式?

答案1

所以,我放棄了這個方法,改採另一種方法──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

相關內容