答案1
因此,我放弃了这种方法,而选择了另一种方法--AMI,即Asterisk 管理接口 API。
简而言之。
创建如下拨号计划:
[01-sendfax]
exten => _X.,1,NoOp()
same => n,SendFax(${faxfile},f)
我可以使用以下方式拨打电话(使用皮斯特):
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