[crm-hangup] exten => s,1,NoOp(CCHANGUP REPORTING) exten => s,n,GotoIf($["${CHANNEL(UNIQUEID)}" != "${MASTER_CHANNEL(UNIQUEID)}"]?return) ;exten => s,n,Set(__CRM_HANGUP=1) exten => s,n,Set(LeadId=${LeadId}) exten => s,n,Set(CampaignID=${CampaignID}) exten => s,n,Set(IsDialer=${IsDialer}) exten => s,n,Set(uniqueid=${GLOBAL(UNIQUEID)}) exten => s,n,Set(CustomerChoise=${GLOBAL(CUSTOMERCHOISE_${uniqueid})}) exten => s,n,Set(IsSurvey=${GLOBAL(ISSURVEY_${uniqueid})}) exten => s,n,NoOp(CustomerChoise: ${CustomerChoise}, IsSurvey: ${IsSurvey}) exten => s,n,Set(GLOBAL(CUSTOMERCHOISE_${uniqueid})=) exten => s,n,Set(GLOBAL(ISSURVEY_${uniqueid})=) exten => s,n,Set(GLOBAL(UNIQUEID)=) exten => s,n,Set(DialRetries=${DialRetries}) exten => s,n,Set(IsSurveyDial=${IsSurveyDial}) ; exten => s,n,Set(catxt=${MASTER_CHANNEL(ChannelStateDesc)}) exten => s,n,AGI(/var/www/ccsystem/artisan,"agihangupaction",${DialRetries},${LeadId},${CampaignID},${IsDialer},${IsSurvey},${IsSurveyDial},${CustomerChoise},${CDR(dstchannel)},${CHANNEL(LINKEDID)},${HANGUPCAUSE},${CALLERID(NUM)},${CONNECTEDLINE(Num)},${CHANNEL(state)},${CDR(start)},${CDR(src)},${CDR(dst)},${CDR(dcontext)},${CDR(lastapp)},${CDR(duration)},${CDR(billsec)},${CDR(disposition)},${CDR(cnum)},${CDR(cnam)}) exten => s,n(return),Return() [macro-hangupcall] exten => s,1,NoOp(CUSTOM macro-hangupcall OVERRIDE) same => n,Set(__MCVMSTATUS=${VMSTATUS}) same => n,Gosub(macro-hangupcall-custom,s,1()) same => n,Gosub(app-missedcall-hangup,${EXTEN},1()) same => n,GotoIf($["${USE_CONFIRMATION}"="" | "${RINGGROUP_INDEX}"="" | "${CHANNEL}"!="${UNIQCHAN}"]?theend) same => n,Noop(Deleting: RG/${RINGGROUP_INDEX}/${CHANNEL} ${DB_DELETE(RG/${RINGGROUP_INDEX}/${CHANNEL})}) same => n(theend),ExecIf($["${ONETOUCH_RECFILE}"!="" & "${CDR(recordingfile)}"=""]?Set(CDR(recordingfile)=${ONETOUCH_RECFILE})) same => n,Return(${GOSUB_RETVAL}) same => n,Hangup()