使用 AMI 发送传真

Using AMI to send Fax

我想知道是否可以创建一个基于 AMI 的脚本来发送传真。我的 Asterisk 当前在 /var/spool/asterisk/outgoing 中创建了一个文件,其中包含以下内容

Channel: Local/2135552222@from-inside/n
MaxRetries: 12
RetryTime: 300
WaitTime: 60
Context: tl-faxsend
Extension: SendFax
Priority: 1
Set: FILENAME=/tmp/3444-2019-01-1-19-42-13.tiff
Set: STATIONID=1234567890ID
Set: CONFSUCCESS=1
Set: EMAILADDR=demo@acme.com
Set: REMOTENUMBER=2135552222
Set: MYEXTEN=3444

使用该文件传真发送正常,但如果我在 AMI 中使用 Action: Originate 并传递此信息,我会收到错误 Message: Extension不存在。

我在这里错过了什么?

在进一步阅读和调试之后,我找到了问题的根源。正如 Marcos 指出的那样,调用文件使用 Extension 而 AMI 期望 Exten。在那次更改之后,我能够调用脚本,但我缺少设置变量。所以为了让这一切正常工作,AMI 调用看起来像这样

Action: 'Originate',
         ActionID: '9CF82D29-C0CD-43A7-8622-18D5FD7F6A59',
         Channel: 'Local/213XXXXXXX@from-inside',
         MaxRetries: 12 ,
         RetryTime: 300 ,
         WaitTime: 60 ,
         Context: 'tl-faxsend',
         Exten: 'SendFax',
         Priority: 1,
         Async: 'true',
         Variable: 'FILENAME=/var/spool/asterisk/fax/localhost-1546479385.466.tif,EMAILADDR=tom@acme.com,STATIONID=213XXXXXXX,REMOTENUMBER=213XXXXXXX,MYEXTEN=3444',