[AsteriskBrasil] Dica de URA (IVR) - Falando a data digitada
Nivaldo Junior
junior em remoto.com.br
Terça Janeiro 10 14:57:59 BRT 2006
Pessoal,
Apenas para repassar a informação para quem precisa.
Estou montando uma URA onde solicitamos para a pessoal digitar uma data com
dia, mes e ano com dois digitos. Depois temos que repetir o que foi digitado
para que a pessoa confirme a data.
Mandei email para a lista, tentaram me responder mas não consegui resolver o
problema usando as dicas da lista. Depois de muito lutar, consegui resolver.
Estou enviando como foi feito para compartilhar com todos da lista e para quem
interessar:
; Data - ainda falta testar se o ano é bisexto e se o mes tem 30 ou 31 dias
(estou trabalhando nisso ainda)
exten => 100,1,SetLanguage(pt) ; Seta o idioma para português
exten => 100,2,Read(data|tc-data|6|skip|2|5) ; Ler a data
exten => 100,3,Gotoif($[${LEN(${checkin})} = 6]?4:81,1) ; testa se a data foi
digitada dia, mes e ano cada um com dois digitos
exten => 100,4,Gotoif($[${checkin:0:2} > 0 & ${checkin:0:2} < 32]?5:81,1) ;
Teste se o dia é menor que 32
exten => 100,5,Gotoif($[${checkin:2:2} > 0 & ${checkin:2:2} < 13]?6:81,1) ;
testa se o ano é menos que 13
exten => 100,6,playback(tc-adatainformadafoi)
exten => 100,7,SayNumber(${tc-data:0:2}) ; fala o dia
exten => 100,8,playback(tc-de) ; fala "de"
exten => 100,9,playback(meses/mon-${tc-data:2:2}) ; fala o mes - criei um
arquivo de audio falando o mes com o nome mon-01.gsm para janeiro, mon-02.gsm
para fevereiro... etc...
exten => 100,10,playback(tc-de) ; fala "de"
exten => 100,11,SayNumber(20${tc-data:4:2}) ; fala o ano
; Data Invalida
exten => 81,1,playback(tc-datainvalida)
exten => 81,2,playback(tc-tentenovamente)
exten => 81,3,Goto(100,2)
É isso aí. Se alguém tiver alguma dúvida é só falar.
Abraço,
--
Nivaldo Júnior
Digivox - Soluções avançadas em voz
www.digivox.com.br
Mais detalhes sobre a lista de discussão AsteriskBrasil