[asterisk-users] Asterisk 13.4.0 - mixmonitor only records one side's perspective

Stefan Viljoen viljoens at verishare.co.za
Mon Jul 6 09:17:55 CDT 2015


Hi All

I have a problem with mixmonitor in 13.4.0 doing the following:

1. Caller phones in

2. Reception picks up

3. Talks to caller

4. Does attended transfer, talks to manager to screen the caller wanting to
speak to him

5.  Complete the transfer by putting down her handset so the caller can
speak to the manager

6. Caller talks to the manager

The problem is that mixmonitor only records steps (3) and (6) - for step (4)
in the recording file, you hear the MOH the outside caller hears while the
receptionist is screeing the call.

We want to record the -entire- conversation, including the receptionist
screening with the manager.

E. g. you literally only hear the perspective of the originator of the call
- you never hear the receptionist -> manager leg of the call if a transfer
occurs during a call.

Here's how an incoming call is handled - on 1.8 the below code recorded the
entire conversation flawlessly, including the screening conversation of
reception -> manager

[inc]

exten=>_[123]xxx,1,Macro(VCRECORD,${MACRO_CONTEXT}EXT${CALLERID(num)}ACC${CD
R(accountcode)},${ARG2})
exten=>_[123]xxx,n,Set(__TRANSFER_CONTEXT=call-redirect)
exten=>_[123]xxx,n(checkacc),NoOp(MY Account code is ${CDR(accountcode)})
;exten=>_[123]xxx,n(checkacc),NoOp(OTHER Account code is
${CDR(accountcode)})
exten=>_[123]xxx,n(dodial),Dial(Sip/${EXTEN},120,tTg)
exten=>_[123]xxx,n,NoOp(Dialstatus: ${DIALSTATUS})
exten=>_[123]xxx,n,GotoIf($["${DIALSTATUS}"="NOANSWER"]?takevoicemail:checkd
ont)
exten=>_[123]xxx,n(checkdont),GotoIf($["${DIALSTATUS}"="DONTCALL"]?takevoice
mail:donecall)
exten=>_[123]xxx,n,NoOp(Taking a voicemail...)
exten=>_[123]xxx,n(takevoicemail),VoiceMail(${EXTEN}@default)
exten=>_[123]xxx,n(donecall),Hangup()

[call-redirect]

include => parkedcalls

exten=>_[123]xxx,1,NoOp(Transferring Call. This Channel ${CHANNEL}, Other
channel ${BLINDTRANSFER})
exten=>_[123]xxx,n(dodial),Dial(Sip/${EXTEN},120,tTg)

[macro-VCRECORD] ; MACRO To setup Recording
;${ARG1} Description To Save
;${ARG2} Dialed Number
exten=>s,1,NoOp(Start of MixMonitor recording)
exten=>s,n,Set(IAXVAR(accountcode)=${CDR(accountcode)})
exten=>s,n,GoToIf($["${MIXMONITOR_FILENAME}" = ""]?startrec:finrec)
exten=>s,n(startrec),Set(recDir=${STRFTIME(${EPOCH},,%y%m/%d)})
exten=>s,n,Set(recFile=${recDir}/${STRFTIME(${EPOCH},,%y%m%d%H%M%S)}D${ARG1}
N${ARG2}ID${UNIQUEID}.gsm)
exten=>s,n(setacc),set(recFile=${recDir}/${CDR(linkedid)}.gsm)
exten=>s,n(makedir),System(/bin/mkdir -p
/var/spool/asterisk/monitor/${recDir})
exten=>s,n,MixMonitor(${recFile},a)
exten=>s,n(finrec),Set(AUDIOHOOK_INHERIT(MixMonitor)=yes)
exten=>s,n,Set(CDR(userfield)=${MIXMONITOR_FILENAME})
exten=>s,n,Set(__chanrecording=/var/spool/asterisk/monitor/${recFile})
exten=>s,n,NoOp(Recording to ${MIXMONITOR_FILENAME})
exten=>s,n,UserEvent(RecordingToFile,Uniqueid: ${UNIQUEID},Channel:
${CHANNEL},FileName: ${MIXMONITOR_FILENAME})
exten=>s,n,MacroExit

Can somebody help or offer a suggestion how to get MixMonitor to record an
ENTIRE conversation in 13.4.0, not just record from the perspective of the
initiator of a call?

Thanks




More information about the asterisk-users mailing list