答案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 = 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