2016-12-16 10 views
1

FreePBX: 10.13.66-12/ISO установкиFreePBX/Asterisk записи вызовов не движется в правильном месте

Asterisk: 13.12.2

звездочку-аддоны: Последние

Пользователи сообщили, что не в состоянии видеть/загружать записи по требованию из UCP. Однако вызовы записываются,/var/spool/asterisk/monitor заполнены файлами, файлы, которые должны были быть перенесены в соответствующие каталоги дат. , например. 2016/12/15. У меня установлен сценарий записи после вызова, который установлен в FreePBX, это также не запускается. Это просто посмотреть, будет ли он когда-либо вызван, добавляется в файл.

-rw-rw-r-- 1 asterisk asterisk 120364 Dec 15 17:20 1481858418.2722.wav

-rw-r--r-- 1 asterisk asterisk 147884 Dec 16 10:02 1481918523.4964.wav

Верхние права доступа к файлам были изменены после запуска fwconsole chown. Это заставляет меня думать, что звездочка не имеет правильных разрешений.

Это разбивка журнала отладки для MixMonitor

[2016-12-15 17:03:14] VERBOSE[20476] app_mixmonitor.c: Begin MixMonitor Recording SIP/200-00000125 

[2016-12-15 17:03:24] VERBOSE[20476] app_mixmonitor.c: MixMonitor close filestream (mixed)` 

[2016-12-15 17:03:24] VERBOSE[20476] app_mixmonitor.c: End MixMonitor Recording SIP/200-00000125 

[2016-12-15 17:03:24] VERBOSE[20476] app_mixmonitor.c: Copying recordings for Mixmonitor SIP/200-00000125 to voicemail recipients 

[2016-12-15 17:03:24] WARNING[20476] format_wav.c: Unable to set write file size 

Я попытался изменить разрешение, переустановка Звездочки-аддоны, и многие других. Есть идеи?

ответ

-1

Правильное решение - записать файл в месте, где он должен быть, то есть его 2016/12/15

невозможно угадать, что вы dooing неправильно (сценарии не предусмотрено, конфигурации и т.д.), но я могу предложить вам имеют проблемы selinux или разрешения.

+0

Это мой краш-курс в freepbx и звездочку. Насколько я знаю, система была настроена на ваниль, я могу предоставить любые конфиги, я просто не знаю, какие из них. –

+0

только что проверил selinux и его отключил.В конце дня я могу попытаться довести версию freepbx до текущего –

+0

Debug is OffTopic на SO. Вы прочитали книги/слушаете курсы и попробуйте сами. – arheops

0

Отвечая на мой собственный вопрос.

Это проблема с телефонами digium и freepbx. Digium использует свою технику для записи и сохранения вызовов. https://wiki.asterisk.org/wiki/display/DIGIUM/Phone+Features+by+Environment

Существует решение о том, что вызовы отображаются на CDR и пользовательском портале, но связаны с изменениями в системе. Используйте на свой страх и риск.

Создайте исполняемый скрипт, принадлежащий пользователю звездочки, я сохраняю свой файл в домашнем каталоге пользователя звездочки.

#!/bin/bash 

#this script is run from an incrontab 

MONITOR=/var/spool/asterisk/monitor/ 
if [ -d "$MONITOR$1" ]; then 
    exit 
fi 
if [ ! -f "$MONITOR$1" ]; then 
    echo "$(date): Failed to move a recording. \"$MONITOR$1\" does not exist." >> /var/log/asterisk/moved_recording_log 
    exit 
fi 

filename=$1 
uid=${filename%.*} 

if [ $(sed -e "s/^.wav//I" <<< "${filename##*.}") != "wav" ]; then 
    exit 
fi 

CONF=/etc/asterisk/res_odbc_additional.conf 
user=$(awk -F"=>" '/username=>/ {print $2}' ${CONF}) 
password=$(awk -F"=>" '/password=>/ {print $2}' ${CONF}) 

db=$(mysql asteriskcdrdb -u $user -p$password -se "SELECT cnum, calldate as date FROM cdr WHERE uniqueid = \"$uid\";" 2>/dev/null) 

ext=$(echo $db | awk '{print $1}') 
read -r -a dbd <<< "$db" 
IFS="-" read -r -a dbdate <<< "${dbd[1]}" 

if [ -z "${dbdate[0]}" ] || [ -z "${dbdate[1]}" ] || [ -z "${dbdate[2]}" ]; then 
    exit 
fi 

dir="/var/spool/asterisk/monitor/${dbdate[0]}/${dbdate[1]}/${dbdate[2]}/" 
mkdir -p $dir 

name="ondemand-${dbd[0]}-${dbd[0]}-${dbdate[0]}${dbdate[1]}${dbdate[2]}-${dbd[2]//:}-$filename" 
db=$(mysql asteriskcdrdb -u $user -p$password -se "UPDATE cdr SET recordingfile=\"$name\" WHERE uniqueid = \"$uid\";") 
mv $MONITOR$filename $dir$name 

exit 

Следующий шаг - это то, что отслеживает каталог записей для любых файлов, которые были написаны.

Как редактировать incrontab пользователя Звездочка

incrontab -e 

добавить следующее с указанием места и имени вышеприведенного сценария

/var/spool/asterisk/monitor/ IN_CLOSE_WRITE /bin/bash /home/asterisk/move_recordings.sh $# 

Это основано на довольно общей установке FreePBX. Может быть, есть лучший способ сделать это, но это работает для меня.

 Смежные вопросы

  • Нет связанных вопросов^_^