13.4.0 -mixmonitor of attended xfer incomplete

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

This can work for most of our scenarios, but then we have others where a receptions phones as proxy for a manager - here you miss the entire conversation the manager has with the targeted outside person as the originator (reception) hangs up to attend-transfer and this part of the conversation is then completely missing.

Additionally, if the receptionist makes a mistake and has to re-transfer, you hear the transfer conversation -twice-, but never the initial caller-> reception conversation… e. g. it recorded twice into the file.

Here’s how an incoming call is handled:

[inc]

exten=>_[123]xxx,1,Macro(VCRECORD,${MACRO_CONTEXT}EXT${CALLERID(num)}ACC${CDR(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:checkdont)
exten=>_[123]xxx,n(checkdont),GotoIf($["${DIALSTATUS}"="DONTCALL"]?takevoicemail: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

Did you ever solve this? I have a very similar problem, ultimately I need the entire call (transfers included) recorded.

My guess would be to initiate a second MixMonitor prior to dialing the manager.