من تابع record-enable را به شکل زیر تغییر دادم:
macro-record-enable]
include => macro-record-enable-custom
FILEPREFIX1 =
FILEPREFIX2 =
FILEPREFIX3 =
FILEPREFIX4 =
exten => s,1,GotoIf($["${BLINDTRANSFER}" = ""]?check)
exten => s,n,ResetCDR(w)
exten => s,n,StopMonitor()
exten => s,n(check),Set(FILEPREFIX1=${CDR(src)})
exten => s,n,Set(FILEPREFIX2=${CDR(dst)})
exten => s,n,Set(FILEPREFIX3=${EXTEN})
exten => s,n,Set(FILEPREFIX4=${CALLERID(all)})
exten => s,n,AGI(recordingcheck,${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)},${UNIQUEID})
exten => s,1+998(record), Monitor(${MIXMON_FORMAT},${MIXMON_DIR}SRC${FILEPRE FIX1}-DST${FILEPREFIX2}-${CALLFILENAME})
;
; end of [macro-record-enable]
در نام فایلها که در این حالت چیزی توشته نمی شود. نتایج فایل لاگ برای این اجرا به صورت زیر است:
[Jan 1 00:05:43] VERBOSE[2536] logger.c: -- Goto (macro-record-enable,s,4)
[Jan 1 00:05:43] VERBOSE[2536] logger.c: -- Executing [s@macro-record-enable:4] [1;36;40mSet[0;37;40m("[1;35;40mDAHDI/1-1[0;37;40m", "[1;35;40mFILEPREFIX1=[0;37;40m") in new stack
[Jan 1 00:05:43] VERBOSE[2536] logger.c: -- Executing [s@macro-record-enable:5] [1;36;40mSet[0;37;40m("[1;35;40mDAHDI/1-1[0;37;40m", "[1;35;40mFILEPREFIX2=1[0;37;40m") in new stack
[Jan 1 00:05:43] VERBOSE[2536] logger.c: -- Executing [s@macro-record-enable:6] [1;36;40mSet[0;37;40m("[1;35;40mDAHDI/1-1[0;37;40m", "[1;35;40mFILEPREFIX3=s[0;37;40m") in new stack
[Jan 1 00:05:43] VERBOSE[2536] logger.c: -- Executing [s@macro-record-enable:7] [1;36;40mSet[0;37;40m("[1;35;40mDAHDI/1-1[0;37;40m", "[1;35;40mFILEPREFIX4="" <>[0;37;40m") in new stack
[Jan 1 00:05:43] VERBOSE[2536] logger.c: -- Executing [s@macro-record-enable:8] [1;36;40mAGI[0;37;40m("[1;35;40mDAHDI/1-1[0;37;40m", "[1;35;40mrecordingcheck,20020101-000543,1009861529.2[0;37;40m") in new stack
[Jan 1 00:05:43] VERBOSE[2536] logger.c: -- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
[Jan 1 00:05:44] VERBOSE[2536] logger.c: recordingcheck,20020101-000543,1009861529.2: Inbound recording enabled.
[Jan 1 00:05:44] VERBOSE[2536] logger.c: recordingcheck,20020101-000543,1009861529.2: CALLFILENAME=20020101-000543-1009861529.2
[Jan 1 00:05:44] VERBOSE[2536] logger.c: -- <DAHDI/1-1>AGI Script recordingcheck completed, returning 0
[Jan 1 00:05:44] VERBOSE[2536] logger.c: -- Executing [s@macro-record-enable:999] [1;36;40mMonitor[0;37;40m("[1;35;40mDAHDI/1-1[0;37;40m", "[1;35;40mwav,SRC-DST1-20020101-000543-1009861529.2[0;37;40m") in new stack
[
در صورتی که در مکالمات از بیرون به داخل و منالمات داخلی متغیرهای فوق مقدار دارند و نام فایل به درستی ذخیره می شود