[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