Daniel Olivera (Unlicensed)
VoiceBroadCast
exten=> _X.,1,Set(CHANNEL(Language)=es)
exten=> _X.,2,Answer(5)
exten=> _X.,3,Set(CALLERID(num)=${EXTEN})
exten=> _X.,4,Set(CALLERID(name)=${CDR(campaign)})
exten=> _X.,5,Set(__dialed=${EXTEN})
exten=> _X.,6,Set(__REALDIALED=${EXTEN})
exten=> _X.,7,GUID(__guid)
exten=> _X.,8,Set(CDR(guid)=${guid})
exten=> _X.,9,Playback(${sound},)
exten=> _X.,10,Read(__confirma,IVRDemoDesicion,1,,1,5)
exten=> _X.,11,GotoIf($["${confirma}" = "1"]?14:12)
exten=> _X.,12,GotoIf($["${confirma}" = "2"]?9:13)
exten=> _X.,13,Hangup()
exten=> _X.,14,Set(CDR(campaign)=${CDR(campaign)})
exten=> _X.,15,Set(MONITOR_FILENAME=${guid})
exten=> _X.,16,Set(__Ani=${EXTEN})
exten=> _X.,17,Set(CDR(type)=record)
exten=> _X.,18,SipAddHeader(CTI: {"Guid": "${guid}" , "Screen": "FALSE" , "Form": "${FORM}" , "Campaign" : "${CDR(campaign)}" , "Callerid" : "${CALLERID(num)}" , "ParAndValues" : "${PARAVAL}" , "Beep" : "TRUE" , "Answer" : "TRUE" , "Dialer" : "${DIALERRECORD}"})
exten=> _X.,19,GotoIf($["${am}" = "1"]?22:20)
exten=> _X.,20,Queue(${VBQUEUE},TtKk,,,600,,,,,)
exten=> _X.,21,Goto(VoiceBroadCast,${EXTEN},13)
exten=> _X.,22,Background(silence/1,,,)
exten=> _X.,23,AMD(4000,9000,2250,15000,100,50,5,256)
exten=> _X.,24,GotoIf($["${AMDSTATUS}" = "MACHINE"]?27:25)
exten=> _X.,25,Set(__userfield=${AMDSTATUS} - ${AMDCAUSE})
exten=> _X.,26,Goto(VoiceBroadCast,${EXTEN},20)
exten=> _X.,27,Set(__userfield=${AMDSTATUS} - ${AMDCAUSE})
exten=> _X.,28,WaitForSilence(,,)
exten=> _X.,29,Playback(${amsound},)
exten=> _X.,30,Goto(VoiceBroadCast,${EXTEN},13)
exten=> h,1,Set(HASH(rates)=${ODBC_Data(select rates.gateway\, rates.rate\, rates.cost\, rates.note FROM rates LEFT JOIN provider ON provider.name=rates.gateway WHERE provider.status = 'true' AND substring( '${EXTEN}'\, 1\, length( prefix_regexp ) ) REGEXP prefix_regexp ORDER BY length(prefix_regexp) DESC\,rates.rate ASC)})
exten=> h,2,Set(talkedminutes=${MATH(${CDR(billsec)} / 60,f)})
exten=> h,3,Set(talkedminutes=$[CEIL(${talkedminutes})])
exten=> h,4,Set(chargedbalance=${MATH(${talkedminutes} * ${HASH(rates,rate)},f)})
exten=> h,5,Set(realbalance=${MATH(${talkedminutes} * ${HASH(rates,cost)},f)})
exten=> h,6,Set(CDR(charged_balance)=${chargedbalance})
exten=> h,7,Set(CDR(real_balance)=${realbalance})
exten=> h,8,Set(CDR(note)=${HASH(rates,note)})
exten=> h,9,Set(CDR(carrier)=${HASH(rates,gateway)})
exten=> h,10,Set(CDR(userfield)=${userfield})
exten=> h,11,Set(CDR(direction)=outgoing)
exten=> h,12,Set(CDR(causecode)=${HANGUPCAUSE})
exten=> h,13,Hangup()
Progressive, Preview
exten=> _XXXXX.,1,Set(VOLUME(TX)=2)
exten=> _XXXXX.,2,Set(VOLUME(RX)=2)
exten=> _XXXXX.,3,Set(__OUTQUEUE=${CDR(campaign)})
exten=> _XXXXX.,4,Set(__DIALED=${EXTEN})
exten=> _XXXXX.,5,Set(__AGENT=${OUTAGENT})
exten=> _XXXXX.,6,Set(__guid=${OUTGUID})
exten=> _XXXXX.,7,Set(did1=${CUT(OUTDID,-,1)})
exten=> _XXXXX.,8,Set(did2=${CUT(OUTDID,-,2)})
exten=> _XXXXX.,9,GotoIf($["${did2}"==""]?26:10)
exten=> _XXXXX.,10,Set(digit1len=${LEN(${did1})})
exten=> _XXXXX.,11,Set(digit1len=${MATH(${digit1len} - 2,i)})
exten=> _XXXXX.,12,Set(randDID=${RAND(${did1:-2},${did2})})
exten=> _XXXXX.,13,Set(CALLERID(num)=${did1:0:${digit1len}}${randDID})
exten=> _XXXXX.,14,Set(CALLERID(name-pres)=${CALLERPRESS})
exten=> _XXXXX.,15,Set(dummy=${ODBC_Data(UPDATE calls_spool set status =0\, retries = retries + 1 WHERE contact = ${CDR(contact)} AND destination = '${EXTEN}')})
exten=> _XXXXX.,16,Set(CDR(guid)=${guid})
exten=> _XXXXX.,17,Set(CDR(type)=record)
exten=> _XXXXX.,18,MixMonitor(${guid}.gsm,b,)
exten=> _XXXXX.,19,Set(CDR(accountcode)=${AGENT})
exten=> _XXXXX.,20,Set(__idLlamada=${guid})
exten=> _XXXXX.,21,Set(__REALDIALED=${EXTEN})
exten=> _XXXXX.,22,Dial(${DIALSTRING:0:-1}/${EXTEN},30,ctTM(RECORD),)
exten=> _XXXXX.,23,Set(CDR(causecode)=${HANGUPCAUSE})
exten=> _XXXXX.,24,NoOp(${DIALSTATUS} - ${HASH(SIP_CAUSE,${CDR(dstchannel)})} - ${HANGUPCAUSE})
exten=> _XXXXX.,25,Hangup()
exten=> _XXXXX.,26,Set(CALLERID(num)=${OUTDID})
exten=> _XXXXX.,27,Goto(Progressive,${EXTEN},14)
exten=> h,1,Set(HASH(rates)=${ODBC_Data(select rates.gateway\, rates.rate\, rates.cost\, rates.note FROM rates LEFT JOIN provider ON provider.name=rates.gateway WHERE provider.status = 'true' AND substring( '${EXTEN}'\, 1\, length( prefix_regexp ) ) REGEXP prefix_regexp ORDER BY length(prefix_regexp) DESC\,rates.rate ASC)})
exten=> h,2,Set(talkedminutes=${MATH(${CDR(billsec)} / 60,f)})
exten=> h,3,Set(talkedminutes=$[CEIL(${talkedminutes})])
exten=> h,4,Set(chargedbalance=${MATH(${talkedminutes} * ${HASH(rates,rate)},f)})
exten=> h,5,Set(realbalance=${MATH(${talkedminutes} * ${HASH(rates,cost)},f)})
exten=> h,6,Set(CDR(charged_balance)=${chargedbalance})
exten=> h,7,Set(CDR(real_balance)=${realbalance})
exten=> h,8,Set(CDR(note)=${HASH(rates,note)})
exten=> h,9,Set(CDR(carrier)=${HASH(rates,gateway)})
exten=> h,10,Set(CDR(userfield)=${userfield})
exten=> h,11,Set(CDR(direction)=outgoing)
exten=> h,12,Set(CDR(causecode)=${HANGUPCAUSE})
exten=> h,13,NoCDR()
exten=> h,14,QueueUpdate(${OUTQUEUE},${UNIQUEID},${AGENT},${DIALSTATUS},${ANSWEREDTIME},${DIALEDTIME}|${DIALED}|${IdLlamada}|)
exten=> h,15,Hangup()
PowerDialer, Predictive
exten=> _X.,1,Set(CHANNEL(Language)=es)
exten=> _X.,2,Answer(0)
exten=> _X.,3,Set(CALLERID(num)=${EXTEN})
exten=> _X.,4,Set(__dialed=${EXTEN})
exten=> _X.,5,Set(__REALDIALED=${EXTEN})
exten=> _X.,6,Set(__Ani=${EXTEN})
exten=> _X.,7,GUID(__guid)
exten=> _X.,8,Set(CDR(guid)=${guid})
exten=> _X.,9,Set(CDR(campaign)=${CDR(campaign)})
exten=> _X.,10,Set(MONITOR_FILENAME=${guid})
exten=> _X.,11,Set(CDR(type)=record)
exten=> _X.,12,SipAddHeader(CTI: {"Guid": "${guid}" , "Screen": "FALSE" , "Form": "${FORM}" , "Campaign" : "${CDR(campaign)}" , "Callerid" : "${CALLERID(num)}" , "ParAndValues" : "${PARAVAL}" , "Beep" : "TRUE" , "Answer" : "TRUE" , "Dialer" : "${DIALERRECORD}"})
exten=> _X.,13,GotoIf($["${am}" = "1"]?16:14)
exten=> _X.,14,Queue(${CDR(campaign)},TtKk,,,600,,,,,)
exten=> _X.,15,Hangup()
exten=> _X.,16,Background(silence/1,,,)
exten=> _X.,17,AMD(6000,1500,800,2500,100,50,3,256)
exten=> _X.,18,GotoIf($["${AMDSTATUS}" = "MACHINE"]?19:14)
exten=> _X.,19,Set(__userfield=${AMDSTATUS} - ${AMDCAUSE})
exten=> _X.,20,GotoIf($[${RETRY} <= ${MAXRETRIES}]?22:21)
exten=> _X.,21,Hangup()
exten=> _X.,22,Set(dummy=${ODBC_Data(DELETE FROM calls_spool WHERE contact = ${CDR(contact)} )})
exten=> _X.,23,Set(dummy=${ODBC_Data(INSERT INTO calls_spool VALUES(${DIALERRECORD}))})
exten=> _X.,24,Goto(PowerDialer,${EXTEN},21)
exten=> h,1,Set(HASH(rates)=${ODBC_Data(select rates.gateway\, rates.rate\, rates.cost\, rates.note FROM rates LEFT JOIN provider ON provider.name=rates.gateway WHERE provider.status = 'true' AND substring( '${EXTEN}'\, 1\, length( prefix_regexp ) ) REGEXP prefix_regexp ORDER BY length(prefix_regexp) DESC\,rates.rate ASC)})
exten=> h,2,Set(talkedminutes=${MATH(${CDR(billsec)} / 60,f)})
exten=> h,3,Set(talkedminutes=$[CEIL(${talkedminutes})])
exten=> h,4,Set(chargedbalance=${MATH(${talkedminutes} * ${HASH(rates,rate)},f)})
exten=> h,5,Set(realbalance=${MATH(${talkedminutes} * ${HASH(rates,cost)},f)})
exten=> h,6,Set(CDR(charged_balance)=${chargedbalance})
exten=> h,7,Set(CDR(real_balance)=${realbalance})
exten=> h,8,Set(CDR(note)=${HASH(rates,note)})
exten=> h,9,Set(CDR(carrier)=${HASH(rates,gateway)})
exten=> h,10,Set(CDR(userfield)=${userfield})
exten=> h,11,Set(CDR(direction)=outgoing)
exten=> h,12,Set(CDR(causecode)=${HANGUPCAUSE})
exten=> h,13,GotoIf($["${ABANDONED}" == "TRUE"]?15:14)
exten=> h,14,Hangup()
exten=> h,15,Set(dummy=${ODBC_Data(DELETE FROM calls_spool WHERE contact = ${CDR(contact)})})
exten=> h,16,Set(dummy=${ODBC_Data(INSERT INTO calls_spool VALUES(${DIALERRECORD}))})
exten=> h,17,Goto(PowerDialer,${EXTEN},14)
{"serverDuration": 14, "requestCorrelationId": "91a43b71603f45d988b77c7679251ba3"}