FreeSwitch 添加配置录音功能

搭建 FreeSwitch 呼叫系统,通常都需要录音功能,将所有的通话都进行录音,FreeSwitch 可以进行配置进行录音,默认不开启录音功能。

配置录音功能,需修改 /etc/freeswitch/dialplan/default.xml,在拨号路由中添加如下代码,红色部分为录音保存路径,可以自由设置,可以进行拨号录音配置,哪些路由进行录音,哪些不进行录音。

<!–录音–>
<action application=”set” data=”RECORD_TITLE=Recording ${destination_number} ${caller_id_number} ${strftime(%Y-%m-%d %H:%M)}”/>
<action application=”set” data=”RECORD_COPYRIGHT=(c) 2011″/>
<action application=”set” data=”RECORD_SOFTWARE=FreeSWITCH”/>
<action application=”set” data=”RECORD_ARTIST=FreeSWITCH”/>
<action application=”set” data=”RECORD_COMMENT=FreeSWITCH”/>
<action application=”set” data=”RECORD_DATE=${strftime(%Y-%m-%d %H:%M)}”/>
<action application=”set” data=”RECORD_STEREO=true”/>
<action application=”record_session” data=”/record/cdr/${strftime(%Y)}/${strftime(%m)}/${strftime(%d)}/${caller_id_number}/${uuid}.wav“/>
<action application=”set” data=”call_out”/>
<action application=”set” data=”destination=$1″/>
<action application=”set” data=”caller_id_number=${caller_id_number}”/>
<!–录音–>

如果呼出电话不没有记录到录音文件,则需要在呼出路由文件中添加同样的代码。录音文件默认保存的是wav 格式,没有进行转码,这种格式较占磁盘空间,可以在服务器闲时,进行音频转码,转为 MP3格式,可以减少80%左右的文件大小。

wav 文件转mp3格式要使用 lame,可在系统中直接安装,然后使用下面代码进行批量转换,可以添加在计划任务中,下面的代码是,自动转换昨天 RECORD_PATH 目录中的wav 格式为 mp3。可自行设置输出目录

RECORD_PATH="/record/cdr"/$(date -d yesterday +'%Y')/$(date -d yesterday +'%m')/$(date -d yesterday +'%d')

cd $RECORD_PATH

echo $RECORD_PATH

for WAV in $(find  -name '*.wav' 2> /dev/null)

do
    echo "Encoding MP3 file from $WAV ..." `date "+%G-%m-%d %H:%M:%S"`  >/record/cdr/log/encoding_mp3.log

    OUT=${WAV%.*}

    lame  --preset standard  $OUT.wav $OUT.mp3
	myFile=$OUT.mp3
	curtime=`date "+%G-%m-%d %H:%M:%S"`
	filename=`date "+%G%m%d"`
	if [ -f "$myFile" ]; then
        size=`du -k $myFile |awk '{print $1}'`
        if [ $size -gt 4 ]; then
            echo $size $myFile $curtime >/record/cdr/log/$filename.log
			rm -f $OUT.wav
            chmod -R +755 myFile
        else
            echo "0" $myFile $curtime >/record/cdr/log/0.log
        fi
	else
        echo "$myFile  does not exist" $curtime > /record/cdr/log/notfound.log
	fi 

done
find /record/cdr/ -mtime +1 -name "*.log" -exec rm -rf {} \;
#EOF

原创文章,作者:admin,如若转载,请注明出处:https://ntib.cn/58.html

(0)
adminadmin
上一篇 2018年11月18日 下午9:50
下一篇 2018年11月18日 下午10:01

相关推荐

发表回复

登录后才能评论
WeChat