2016-12-16 27 views
1

FreePBXを修正するために動いていない最新のFreePBX /アスタリスク録画コールは場所に

ユーザーができないことが報告しました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とアスタリスクへのクラッシュコースです。限り、私はシステムがセットアップバニラだったと知っている、私は任意のconfigsを供給することができます、私はちょうどそれらを知っていない。 –

+0

はselinuxとそのディセーブルをチェックしました。一日の終わりに、私はfreepbxバージョンを現在の –

+0

まで持ってきてみるかもしれない。あなたは本を読んだり聞いたり、自分で試してみたりします。 – arheops

0

自分の質問に答える。

これはdigium phonesと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 

次のステップは、recordingsディレクトリに書き込まれたファイルを監視する方法です。

incrontab -e 

incrontabアスタリスクユーザー編集として、これはかなり一般的なFreePBXセットアップに基づいて上記のスクリプトの場所と名前を

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

を以下を追加します。これを行うにはより良い方法があるかもしれませんが、これは私のために働いています。

関連する問題