Flows Dialers

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)