使用 mixmonitor 录制后,运行 AGI 脚本和 POST 通过 CURL 将 wav 发送到另一台服务器

After recording with mixmonitor, run the AGI script and POST the wav to another server via CURL

我想在使用 Asterisk 传输 phone 调用并使用 mixmonitor 录制后启动 AGI 脚本,并且 POST 通过 CURL 将 wav 传输到另一台服务器,但是 extensions.conf我创建的不起作用。

exten => 0123456,1,MixMonitor(${UNIQUEID}.wav49)
exten => 0123456,n,Dial(SIP/xxxxxxxx@0123456,60)
exten => h,1,AGI(curl_post.php)

我可以用AGI启动curl_post.php,但是wav文件还没有准备好,我不能做CURLPOST。如何等待创建 wav 文件以便我可以 CURLPOST 到另一台服务器?谢谢你的帮助。

MixMonitor 有内部选项

MixMonitor(filename.extension,[options,[command]])
...
command - Will be executed when the recording is over.
Any strings matching ^{X} will be unescaped to X.
All variables will be evaluated at the time MixMonitor is called. 

https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Application_MixMonitor

例如在FreePBX中是这样的:

exten => 0123456,1,MixMonitor(${UNIQUEID}.wav49,,/bin/emailrecording.sh ^{CALLFILENAME})

https://community.freepbx.org/t/solved-how-to-email-call-recordings-post-call-recording-script/26747/18