Recording Stereo

May be your team vitalpbx can implement stereo recording

This is my trial

INSTALL SOX

yum install gcc-c++ libmad libmad-devel libid3tag libid3tag-devel lame lame-devel flac-devel libvorbis-devel lame lame-devel

Download sox-14.4.2.tar.gz
./configure
make -s
make install
sox --version
soxi -v
which sox
/usr/local/bin/sox
ldconfig

sox --version
sox:      SoX v14.4.2

vim /etc/asterisk/vitalpbx/stereo.sh


#!/bin/bash
SOX="/usr/local/bin/sox "
RM="/usr/bin/rm -rf"

REC_FILE_DIR=$1
REC_FILENAME=$2

logger "REC_FILE_DIR : ${REC_FILE_DIR}"
logger "REC_FILENAME : ${REC_FILENAME}"

REC_FILENAME_OUT=${REC_FILE_DIR}/${REC_FILENAME}_out.wav
REC_FILENAME_IN=${REC_FILE_DIR}/${REC_FILENAME}_in.wav
STEREO_WAV=${REC_FILE_DIR}/${REC_FILENAME}_stereo.wav
STEREO_MP3=${REC_FILE_DIR}/${REC_FILENAME}.mp3

ORIGINAL_FILE=${REC_FILE_DIR}/${REC_FILENAME}.wav

logger "REC_FILENAME_OUT :${REC_FILENAME_OUT}"
logger "REC_FILENAME_IN : ${REC_FILENAME_IN}"
logger "STEREO_WAV : ${STEREO_WAV}"
logger "STEREO_MP3 : ${STEREO_MP3}"

${SOX} -M -c 1 ${REC_FILENAME_IN} -c 1 ${REC_FILENAME_OUT} ${STEREO_WAV}  && ${SOX} -c2 ${STEREO_WAV} ${STEREO_MP3} && ${RM} ${REC_FILENAME_IN} ${REC_FILENAME_OUT} ${STEREO_WAV} ${ORIGINAL_FILE}


extensions__20-baseplan.conf

[sub-perform-recording-old]
exten => s,1,NoOp(Perform Call Recording)
 same => n,Set(RECORDING_ID=${IF($["${QUEUE_UID}"=""]?${UNIQUEID}:${QUEUE_UID})})
 same => n,Set(APP_TYPE=${IF($["X${SRC_APP}X"="XX"]?NONE:${SRC_APP})})
 same => n,Set(AUDIO_FILE=${STRFTIME(${EPOCH},,%H%M%S)}-${CALL_TYPE_LABEL}-${APP_TYPE}-${CALL_SOURCE}-${CALL_DESTINATION}-${RECORDING_ID})
 same => n,Set(RECORDING_FORMAT=${IF($["${RECORDING_FORMAT}"="wav49"]?WAV:${RECORDING_FORMAT})})
 same => n,Set(__REC_FILENAME=${ASTSPOOLDIR}/monitor/${STRFTIME(${EPOCH},,%Y/%m/%d)}/${AUDIO_FILE}.${RECORDING_FORMAT})
 same => n,GotoIf($["${DB(${TENANT}/main)}"="no"]?:set_rec_file)
 same => n,NoOp(Append tenant to recording path)
 same => n,Set(__REC_FILENAME=${ASTSPOOLDIR}/monitor/${TENANT}/${STRFTIME(${EPOCH},,%Y/%m/%d)}/${AUDIO_FILE}.${RECORDING_FORMAT})
 same => n(set_rec_file),Set(CDR(recfile)=${REC_FILENAME})
 same => n,MixMonitor(${REC_FILENAME},b,${RECORDING_SCRIPT})
 same => n,Return()

[sub-perform-recording]
exten => s,1,NoOp(Perform Call Recording)
 same => n,Set(RECORDING_ID=${IF($["${QUEUE_UID}"=""]?${UNIQUEID}:${QUEUE_UID})})
 same => n,Set(APP_TYPE=${IF($["X${SRC_APP}X"="XX"]?NONE:${SRC_APP})})
 same => n,Set(__REC_FILE_NAME=${STRFTIME(${EPOCH},,%H%M%S)}-${CALL_TYPE_LABEL}-${APP_TYPE}-${CALL_SOURCE}-${CALL_DESTINATION}-${RECORDING_ID})
 same => n,Set(__REC_FILE_DIR=${ASTSPOOLDIR}/monitor/${STRFTIME(${EPOCH},,%Y/%m/%d)})
 same => n,Set(RECORDING_FORMAT=${IF($["${RECORDING_FORMAT}"="wav49"]?WAV:${RECORDING_FORMAT})})
 same => n,Set(__REC_FILENAME=${REC_FILE_DIR}/${REC_FILE_NAME}.mp3)
 same => n,GotoIf($["${DB(${TENANT}/main)}"="no"]?:set_rec_file)
 same => n,NoOp(Append tenant to recording path)
 same => n,Set(__REC_FILENAME=${REC_FILE_DIR}/${REC_FILE_NAME}.mp3)
 same => n(set_rec_file),Set(CDR(recfile)=${REC_FILENAME})
 same => n,MixMonitor(${REC_FILE_DIR}/${REC_FILE_NAME}.wav,bt(${REC_FILE_DIR}/${REC_FILE_NAME}_out.wav) r(${REC_FILE_DIR}/${REC_FILE_NAME}_in.wav),/etc/asterisk/vitalpbx/stereo.sh ${REC_FILE_DIR} ${REC_FILE_NAME})
 same => n,Return()

2 Likes

Will be nice if this stereo recording can be impleemented

1 Like

Hi,
telephone support only mono.
is there any product to support stereo recodings ?

Think about it again for a minute…

Hint: you have audio coming and going.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.