Read timeout issue response

I am trying to use the read app and i find that if i
put in bad input
or no input at all --the read command will re-try the
number of times
specified on the command line but will not go to ext=>
t,XX or ext=>i,XX.

Can you tell me why this is happening ? i would like
to go to that part of
the scirpt that tells the person on the phone --sorry
you are having
trouble…try back later and then hang the caller.

exten => 1,4,playback(project/ucalling)
exten => 1,5,saydigits(${CALLERID(num)})
exten => 1,6,read(answer,project/checknumber,1,3,)
exten => 1,7,NoOp(${answer})
exten => 1,8,GotoIf($[${answer} = 1]?20:9)

; If user dont accept terms & con.
exten => 2,1,hangup()

exten => 3,1,playback(project/sorryfortrouble)
exten => 3,1,Hangup()

exten => t,1,goto(3,1)
exten => i,1,goto(3,1)

Is DTMF working properly in Asterisk?