VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Выполнение скрипта

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Ответить
corpse
Сообщения: 78
Зарегистрирован: 21 июл 2016, 11:17

Выполнение скрипта

Сообщение corpse »

Добрый день уважаемые форумчане.
Помогите понять причину, почему не выполняется скрипт/отследить его выполнение конвертирования записи разговоров из wav в mp3.
Все сделал по инструкции с этого сайта http://uzlec.ru/zapis-telefonnyx-razgov ... eepbx.html
Консоль Asterisk-а показывает, что по окончанию разговора скрипт выполнился, но результата нет.
Если скрипт запустить вручную, то конвертирует.
Понимаю что вероятнее всего проблемы с правами, но не понимаю, как отдебажить запуск скрипта астериском.
Скрипт:

Код: Выделить всё

#!/bin/sh

if [ -z "${MIXMONFILE}" ]; then
MIXMONFILE=${1}/${2}.${3}
fi

if [ -z "${1}" ]; then
TEMPDIR="/var/spool/asterisk/monitor/"
else
TEMPDIR=${1}
fi

TEMPFILE=`/bin/mktemp -u -p ${TEMPDIR} mixmon-mp3.XXXXXXXXXX`
TEMPFILEMP3=${TEMPFILE}".mp3"
TEMPFILEWAV=${TEMPFILE}".wav"
SUDO="/usr/bin/sudo"
LOWNICE="/bin/nice -n 19 /usr/bin/ionice -c3"

${SUDO} ${LOWNICE} /usr/bin/lame --quiet --preset phone -h -v ${MIXMONFILE} ${TEMPFILEMP3}
${SUDO} ${LOWNICE} /usr/bin/ffmpeg -v quiet -y -i ${TEMPFILEMP3} -f wav -acodec copy ${TEMPFILEWAV}

${SUDO} /bin/chmod --reference=${MIXMONFILE} ${TEMPFILEWAV}
${SUDO} /bin/chown --reference=${MIXMONFILE} ${TEMPFILEWAV}
${SUDO} /bin/touch --reference=${MIXMONFILE} ${TEMPFILEWAV}
${SUDO} /bin/mv -f ${TEMPFILEWAV} ${MIXMONFILE}
${SUDO} /bin/rm -f ${TEMPFILEMP3} ${TEMPFILE}
Аватара пользователя
trscod
Сообщения: 358
Зарегистрирован: 30 авг 2010, 17:34

Re: Выполнение скрипта

Сообщение trscod »

Вручную от какого пользователя пробовали?
corpse
Сообщения: 78
Зарегистрирован: 21 июл 2016, 11:17

Re: Выполнение скрипта

Сообщение corpse »

Root
ded
Сообщения: 15629
Зарегистрирован: 26 авг 2010, 19:00

Re: Выполнение скрипта

Сообщение ded »

su asterisk
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Выполнение скрипта

Сообщение virus_net »

просто запускайте по cron`у
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
corpse
Сообщения: 78
Зарегистрирован: 21 июл 2016, 11:17

Re: Выполнение скрипта

Сообщение corpse »

ded писал(а):su asterisk
Может кто подскажет. Установлен Elastix. Asterisk запускается под пользователем asterisk, о чем, как я понимаю, свидетельствует файл asterisk:

Код: Выделить всё

# User and group to run asterisk
AST_USER=asterisk
AST_GROUP=asterisk
Но при установке Elastix, говорят что такого пользователя не было, соответственно пароль под него не задавали и он ни кому не известен.
Можно ли каким либо образом его скинуть/узнать что это за юзер такой? Или придется заводить нового и перенастраивать, чтоб Asterisk запускался под ним.
Спасибо!
ded
Сообщения: 15629
Зарегистрирован: 26 авг 2010, 19:00

Re: Выполнение скрипта

Сообщение ded »

corpse, пробелы в системном администрировании Linux.
# ps auxwf|grep asterisk
покажет процессы asterisk и из под какого пользователя они выполняются
# cat /etc/passwd
покажет всех пользователей в системе.
Дальше найдите в интернет руководство системного администратора Linux (чтобы там узнать можно ли каким либо образом его скинуть/узнать что это за юзер такой?)
corpse
Сообщения: 78
Зарегистрирован: 21 июл 2016, 11:17

Re: Выполнение скрипта

Сообщение corpse »

ded, спасибо! Вчера реально тупил, зациклился что это именно пользователь asterisk и искал в гугле смену пароля именно для него. Там все ссылалось на amportal.conf
Соответственно возвращаясь к теме топика. Под пользователем asterisk скрипт успешно выполняется:

Код: Выделить всё

 ./mixmon-mp3.sh /var/spool/asterisk/monitor 20160731-183038-1469964638.13 wav
LAME 3.99.5 32bits (http://lame.sf.net)
CPU features: MMX (ASM used), SSE (ASM used), SSE2
polyphase lowpass filter disabled
Encoding /var/spool/asterisk/monitor/20160731-183038-1469964638.13.wav
      to /var/spool/asterisk/monitor/mixmon-mp3.tncMz30301.mp3
Encoding as 8 kHz single-ch MPEG-2.5 Layer III (8x) average 16 kbps qval=2
    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
  1405/1405  (100%)|    0:01/    0:01|    0:01/    0:01|   82.244x|    0:00
  8 [ 657] **********************************************************************************
 16 [ 572] ************************************************************************
 24 [ 103] *************
 32 [  73] **********
 40 [   0]
 48 [   0]
 56 [   0]
 64 [   0]
---------------------------------------------------------------------------------------------
   kbps       mono %     long switch short %
   13.7      100.0        29.9  40.0  30.1
Writing LAME Tag...done
ReplayGain: -2.6dB
FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers
  built on Jan 29 2012 23:56:18 with gcc 4.1.2 20080704 (Red Hat 4.1.2-51)
  Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop encoding
size=     169kB time=101.16 bitrate=  13.7kbits/s
video:0kB audio:169kB global headers:0kB muxing overhead 0.040476%
Файл конвертируется и перезаписывается.
А Elastix (Asterisk) выполняет вроде скрипт, но по факту ни чего не происходит

Код: Выделить всё

  == MixMonitor close filestream
  == Executing [/var/asterisk/scripts/mixmon-mp3.sh /var/spool/asterisk/monitor/ 20160801-125703-1470031014.0 wav]
  == End MixMonitor Recording DAHDI/1-1

Куда можно покопать?
ded
Сообщения: 15629
Зарегистрирован: 26 авг 2010, 19:00

Re: Выполнение скрипта

Сообщение ded »

У Вас конвертация
Executing [/var/asterisk/scripts/mixmon-mp3.sh /var/spool/asterisk/monitor/ 20160801-125703-1470031014.0 wav
начинается прежде, чем MixMonitor заканчивает работу -
End MixMonitor Recording DAHDI/1-1

Конвертацию надо делать на хэнгапе.
exten => h,1,
И скрипты свои не абы куда,
/var/asterisk/scripts/
а в
astagidir => /usr/share/asterisk/agi-bin хотя бы.
corpse
Сообщения: 78
Зарегистрирован: 21 июл 2016, 11:17

Re: Выполнение скрипта

Сообщение corpse »

ded писал(а):И скрипты свои не абы куда,
/var/asterisk/scripts/
а в
astagidir => /usr/share/asterisk/agi-bin хотя бы
Спасибо ded. Проблема действительно оказалась в каталоге запуска скрипта.
Удалось это выяснить, через запуск астериска в консоли командой:

Код: Выделить всё

asterisk -vvvgc
Просто читал несколько статей про mixmonitor и конвертацию. Ни где не было привязки к папке запуска скрипта.
Еще раз спасибо!
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH