by stuartalt » Fri Jan 08, 2016 2:47 pm
Thank you for the information.
I'm not sure if I was cleared enough.
Ayway, I developed my own code for this 'feature'.
It is still in tests, but it seems to be working.
exten => 7000,1,Answer()
same => n,Set(CHANNEL(hangup_handler_push)=REMOVEPAUSA,s,1(args))
same => n,Set(CONTA=1)
same => n,Set(RAMALORIGEM=${CALLERID(num)})
same => n,Set(DESTINO=${CUT(BLINDTRANSFER,-,1)})
same => n,Set(DESTINO_PAUSA=${CUT(DESTINO,/,2)})
same => n,PauseQueueMember(,Local/${DESTINO_PAUSA}@from-queue/n,,Atendimento_URA_CC)
same => n(entre),NoOp(########## ENTRE COM OS DIGITOS DO CARTAO ##########)
same => n,Set(CONTA=$[${CONTA}+1])
same => n,GotoIf($[${CONTA} > 4]?ccinvalido)
same => n,Playback(CC/digite_cartao&beep)
same => n,Read(CARTAOCREDITO,,16,,2,30)
same => n,Playback(CC/numero_digitados)
same => n,SayDigits(${CARTAOCREDITO})
same => n,Playback(CC/confirme_cartao&beep)
same => n,Read(OPCONFIRMA,,1,2,1,10)
same => n,ExecIf($["${OPCONFIRMA}" = "2"]?GoTo(entre))
same => n,ExecIf($["${OPCONFIRMA}" = "1"]?GoTo(valido))
same => n(ccinvalido),NoOp(3 Tentativas sem sucesso. Cliente nao digitou um numero valido)
same => n,Playback(CC/3_tentativas)
same => n,UnPauseQueueMember(,${DESTINO},,Atendimento_URA_CC)
same => n,Dial(${DESTINO},,A(CC/cartao_invalido))
same => n(valido),UnPauseQueueMember(,Local/${DESTINO_PAUSA}@from-queue/n,,Atendimento_URA_CC)
same => n,Set(RAMALOPERADOR=${CUT(DESTINO,/,2)})
same => n,set(CALLTIME=${STRFTIME(${EPOCH},,%F %X)})
same => n,Dial(${DESTINO})
[REMOVEPAUSA]
exten => s,1,UnPauseQueueMember(,Local/${DESTINO_PAUSA}@from-queue/n,,Atendimento_URA_CC)
Regards.