exten => _3XXXXX,1,Set(monopt=nice -n 20 /usr/local/bin/lame -b 16 --silent "${WAV}/${UNIQUEID}.wav" "${MP3}/${UNIQUEID}.mp3" && rm -f "${WAV}/${UNIQUEID}.wav")
exten => _3XXXXX,n,MixMonitor(${WAV}/${UNIQUEID}.wav,b,${monopt})
exten => _3XXXXX,n,Dial(sip/1002/${EXTEN},30,Tt)
exten => _3XXXXX,n,Hangup()
Есть вот такой кусок экстеншена, и вроде все выполняется, ток вот не работает
в консоле пишет
== MixMonitor close filestream
== Executing [nice -n 20 /usr/local/bin/lame -b 16 --silent "/var/log/asterisk/wav/1312534733.226.wav" "/var/www/html/mp3/1312534733.226.mp3" && rm -f "/var/log/asterisk/wav/1312534733.226.wav"]
== End MixMonitor Recording SIP/1001-000000e2
Звонок записывается в вав но не перекодируется в мп3, как я понимаю проблема в том, что пока не "End MixMonitor Recording SIP/1001-000000e2" файл перекодировать не получится.
если выполнить руками nice -n 20 /usr/local/bin/lame -b 16 --silent "/var/log/asterisk/wav/1312534733.226.wav" "/var/www/html/mp3/1312534733.226.mp3" && rm -f "/var/log/asterisk/wav/1312534733.226.wav"
то все работает
У кого есть мысли как решить проблему?
Написать переконвертацию в экстеншене h. И поставить задержку, допустим, в секунду.
рекомендую стопнуть ваш астерсик и запустить его с консоли
asterisk -vvvgc
тогда будет сообщение о реальной ошибке. также можно его посмотреть на консоли - по умолчанию alt-9.
наиболее вероятная ошибка - нельзя && в вызове систем использовать. напишите скрипт и все туда упакуйте, включая условия если надо.
Нужно полностью прописать путь до nice, и nice может быть выполнен только рутом, если астериск запущен не от рута - он не выполнится.
exten => h,1,StopMixMonitor() exten => h,n,System(${monopt})
все решено, всем спасибо! ОСОБЫЙ РЕСПЕКТ samael28
Мне эти строки почему то не помогли:
exten => 7831XXXXXXX,1,Set(CALLFILENAME=${STRFTIME(${EPOCH},,%d-%m-%Y%H:%M)}-${CALLERID(number)}-${EXTEN}) exten => _7831XXXXXXX,n,Set(monopt=nice —n 19 /usr/bin/lame —b 16 —noshort —silent "/home/share/monitor/${CALLFILENAME}.wav" "/home/share/monitor/${CALLFILENAME}.mp3") exten => _7831XXXXXXX,n,MixMonitor(/home/share/monitor/${CALLFILENAME}.wav,b,) exten => _7831XXXXXXX,n,DIAL(${OUTSIP}/${EXTEN},20) exten => _7831XXXXXXX,n,Hangup() exten => _7831XXXXXXX,n,StopMixMonitor() exten => _7831XXXXXXX,n,System(${monopt})
alexstat ( 2012-06-10 10:51:35 +0400 )редактироватьЗадан: 2011-08-05 13:14:03 +0400
Просмотрен: 1,952 раз
Обновлен: Aug 05 '11
Организовать хранение записей звонков
отправка записанного разговора на email
Запись разговоров при трансфере
Asterisk пишет не все разговоры
Имя файла записи MixMonitor при записи по запросу
Asterisk, запись только того, что слышит звонящий
Asterisk запись всех исходящих звонков
Запись разговора, MixMonitor, Transfer.
Включение сообщений от АТС в файл записи разговоров [решено]
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.