Stefan Viljoen
2015-Jul-06 14:17 UTC
[asterisk-users] Asterisk 13.4.0 - mixmonitor only records one side's perspective
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
Maybe Matching Threads
- Switched from Asterisk 1.8 to 13 - CDR ringtime now always zero (Joshua C. Colp)
- Record ANSWERED call
- FLAC script to convert from wav to FLAC and also with other 3 to 4 formats
- Macro's and Var Scope's
- Variable substitution - How can I do Dial(${DIALSTRING}) where ${DIALSTRING} is 'SIP/201, 15, tT'?