@SteepNET

Asterisk конвертация sox в ogg ральна?

Добрый день!
План такой что нужно через AGI совершить конвертацию wav в ogg ,делаю так
[asr_menu]
exten => s,1,Answer()
exten => s,n,Wait(1)
exten => s,n,Record(/tmp/${UNIQUEID}.wav,3,20)
exten => s,n,AGI(asr.php,/tmp/${UNIQUEID})
exten => s,n,Set(varasr=${asr})


Вижу в консли при звонке
-- Executing [3@ivr-9:2] Goto("SIP/88005550555-00010a97", "asr_menu,s,1") in new stack
    -- Goto (asr_menu,s,1)
    -- Executing [s@asr_menu:1] Answer("SIP/88005550555-00010a97", "") in new stack
    -- Executing [s@asr_menu:2] Wait("SIP/88005550555-00010a97", "1") in new stack
    -- Executing [s@asr_menu:3] Record("SIP/88005550555-00010a97", "/tmp/1617377185.1436643.wav,3,20") in new stack
    -- <SIP/88007550775-00010a97> Playing 'beep.ulaw' (language 'ru')
    -- PJSIP/805-00046690 answered
Executing [s@asr_menu:4] AGI("SIP/88005550555-00010a97", "asr.php,/tmp/1617377185.1436643") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/asr.php
    -- <SIP/88005550555-00010a97>AGI Script asr.php completed, returning 0


Тоесть тут файл в /tmp/1617377185.1436643.wav создается нормально, и по задумке далее он должен в
/var/lib/asterisk/agi-bin/asr.php конвертироваться таким образом

#!/usr/bin/php -q 
<?php
require('phpagi.php'); 
$agi = new AGI(); 
$audio = $argv[1];
shell_exec('sox '.$audio.'.wav '.$audio.'-conv.ogg -G rate 8000');


Но не тут то было, файл
1617377185.1436643-conv.ogg не появляется! а значит не работает конвертация , все голову сорвал почему не работает???

Руками в консоли sox '.$audio.'.wav '.$audio.'-conv.ogg -G rate 8000 работает ,все конвертирует,
Отдельно сделал php скрипт ,тоже конвертирует нормально ,что не так я делаю?
  • Вопрос задан
  • 380 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
А зачем нужен AGI? Используйте System
same => n,System(sox /tmp/${UNIQUEID}.wav /tmp/${UNIQUEID}-conv.ogg -G rate 8000)

Я бы ещё и полный путь к sox прописал для гарантии.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы