а вот как сделал я:
extensions.conf
[dialmon]
exten => _X.,500(dialmon),NoOp(Start dialmon)
exten => _X.,n,Set(CALLFILENAME=/var/spool/asterisk/monitor/tmp/${STRFTIME(${EPOCH},,%Y-%m-%d)}/${STRFTIME(${EPOCH},Europe/Moscow,%H-%M-%S)}_on-${ARG1}_from-${CALLERID(num)})
exten => _X.,n,Set(MONITOR_EXEC=/usr/bin/wav2mp3)
exten => _X.,n,Monitor(wav,${CALLFILENAME},mb)
exten => _X.,n,Dial(${ARG2},,tT)
exten => _X.,n,StopMonitor
exten => _X.,n,Hangup
[wwhm]
exten => _X.,1,Gosub(dialmon(${EXTEN},SIP/${CALLERID(name)}/${EXTEN},120))
include => dialmon
и еще нужно поместить скрипт wav2mp3 в /usr/bin/
wav2mp3
#!/bin/bash
SOX=/usr/bin/sox
LAME=/usr/bin/lame
LEFT="$1"
RIGHT="$2"
FULLNAME=`echo $3|sed -e 's/.wav//g'`
FILEDATE=`dirname $FULLNAME`
DATE=`basename $FILEDATE`
FILENAME=`basename $FULLNAME`
DIR="/var/spool/asterisk/monitor/$DATE"
BADDIR="/var/spool/asterisk/bad/$DATE"
### program ###
/usr/bin/nice -n 19 $SOX -M -c 1 $LEFT -c 1 $RIGHT $FULLNAME.wav && mkdir -p $DIR
/usr/bin/nice -n 19 $LAME -V2 $FULLNAME.wav $DIR/$FILENAME.mp3
#remove input files if successfull
test -r $FULLNAME.wav && rm -f $LEFT $RIGHT
test -r $DIR/$FILENAME.mp3 && rm -f $FULLNAME.wav
fsize=`stat -c %s $DIR/$FILENAME.mp3`
if [ $(stat -c %s $DIR/$FILENAME.mp3) -lt 25000 ]
then
mkdir -p $BADDIR
mv -f $DIR/$FILENAME.mp3 $BADDIR/$FILENAME.mp3
fi
необходимо так же установить sox и lame.
P.S. все выше написанное можно упростить, я лишь хотел передать суть, что объединять два файла *-in.wav и *-out.wav можно внешней программой, как это сделано у меня.
P.S. опция m у вас в диалплане может не работать из-за отсутствия программы sox
P.S. при использовании скрипта wav2mp3 получаются стерео mp3 файлы, причем левый и правый канал - это вызывающий и вызываемый отдельно