从 Asterisk 发送传真(电子邮件到传真)---可以有任何反馈吗?

从 Asterisk 发送传真(电子邮件到传真)---可以有任何反馈吗?

我即将制作一些电子邮件到传真网关 --- 一些 python 程序将制作星号 调用文件并将它们放入某个队列(基于文件或数据库)。

然后另一个程序应该从队列中获取“调用任务”并将它们“喂”给星号(遵守某些配置的限制,因为res_fax_digium会丢弃超出限制的任务)。

接下来,假设一切正常,Asterisk 成功发送了一些传真文档。有什么方法可以获取此操作的状态?

如果日志文件解析是最好的,我可能会分配一些特殊的accountcode(我可以使用这个字段,可能)将 CDR 放入单独的文件中。

请问我还应该用哪些其他方式来评估?

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

相关内容