После записи с помощью mixmonitor запустите сценарий AGI и ОТПРАВЬТЕ wav на другой сервер через CURL

#asterisk

Вопрос:

Я хочу запустить сценарий AGI после передачи телефонного звонка со Звездочкой и записи его с помощью mixmonitor, а также ОТПРАВИТЬ wav на другой сервер через CURL, но созданные мной расширения.conf не работают.

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

Я могу начать curl_post.php с помощью AGI, но файл wav еще не готов, и я не могу сделать CURLPOST. Как я могу дождаться создания wav-файла, чтобы я мог отправить его на другой сервер? Спасибо вам за вашу помощь.

Ответ №1:

У 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

Комментарии:

1. Большое спасибо. Я прочитал ссылку, но не понял ее. Мне просто поставить команду bash здесь?

2. да, вы указали команду в качестве ТРЕТЬЕГО параметра.