-
Type:
Bug
-
Status: Closed
-
Resolution: Fixed
-
Affects Version/s: 2.10
-
Fix Version/s: 2.11
-
Component/s: Call Recording
-
Labels:
-
Asterisk Version:1.8.22
-
Distro Version:2.10
-
Distro:FreePBX Distro
freepbx 2.10
asterisk 1.8.22
Issue:
Member answers call in queue. Member transfer call to 2nd queue. Both recordings has same name therefore the initial recording is overwritten and does not exist.
I did some debug and the problem is that ${ARG2} does not change when the call is transfered to the second queue. ARG2 initial value is kept. I can provide logs but dont think it is necessary??
I fixed it as follows:
(basically just set ARG2 again with new value)
[sub-record-check]
exten => s,1,GotoIf($[= ""|"$\{BLINDTRANSFER}"]?check)
exten => s,n,ResetCDR()
exten => s,n,GotoIf($[\!= "RECORDING"|"$\{REC_STATUS}"]?check)
exten => s,n,Set(AUDIOHOOK_INHERIT(MixMonitor)=yes)
;---------fix here-----------------------
exten => s,n,Set(NOW=${EPOCH})
exten => s,n,Set(+DAY=${STRFTIME(${NOW}~%d)})
exten => s,n,Set(+MONTH=${STRFTIME(${NOW}~%m)})
exten => s,n,Set(+YEAR=${STRFTIME(${NOW}~%Y)})
exten => s,n,Set(+TIMESTR=${YEAR}${MONTH}${DAY}-${STRFTIME(${NOW}~%H%M%S)})
exten => s,n,Set(+FROMEXTEN=${IF($[$\{LEN($\{AMPUSER})}]?${AMPUSER}:${IF($[$\{LEN($\{REALCALLERIDNUM})}]?${REALCALLERIDNUM}:unknown)})})
exten => s,n,Set(+CALLFILENAME=${ARG1}${ARG2}${FROMEXTEN}${TIMESTR}${UNIQUEID})
;---------fix ends--------------------------
exten => s,n,MixMonitor(${MIXMON_DIR}${YEAR}/${MONTH}/${DAY}/${CALLFILENAME}.${MIXMON_FORMAT},a,${MIXMON_POST})
exten => s,n(check),Set(+MON_FMT=${IF($["$\{MIXMON_FORMAT}"="wav49"]?WAV:${MIXMON_FORMAT})})
exten => s,n,GotoIf($["$\{REC_STATUS}"\!="RECORDING"]?next)
exten => s,n,Set(CDR(recordingfile)=${CALLFILENAME}.${MON_FMT})
exten => s,n,Return()
exten => s,n(next),ExecIf($[\!$\{LEN($\{ARG1})}]?Return())
exten => s,n,GotoIf($["$\{REC_STATUS}"\!=""]?${ARG1},1)
exten => s,n,Set(+REC_STATUS=INITIALIZED)
exten => s,n,ExecIf($[& "$\{ARG3}"\!=""|"$\{REC_POLICY_MODE}"=""]?Set(+REC_POLICY_MODE=${ARG3}))
exten => s,n,Set(NOW=${EPOCH})
exten => s,n,Set(+DAY=${STRFTIME(${NOW}~%d)})
exten => s,n,Set(+MONTH=${STRFTIME(${NOW}~%m)})
exten => s,n,Set(+YEAR=${STRFTIME(${NOW}~%Y)})
exten => s,n,Set(+TIMESTR=${YEAR}${MONTH}${DAY}-${STRFTIME(${NOW}~%H%M%S)})
exten => s,n,Set(+FROMEXTEN=${IF($[$\{LEN($\{AMPUSER})}]?${AMPUSER}:${IF($[$\{LEN($\{REALCALLERIDNUM})}]?${REALCALLERIDNUM}:unknown)})})
exten => s,n,Set(__CALLFILENAME=${ARG1}${ARG2}${FROMEXTEN}${TIMESTR}${UNIQUEID})
exten => s,n,Goto(${ARG1},1)
I am sure there is a better fix but I dont have time to spend on this issue.