SIP call not fail over immediately when Server Off Line

I am using asterisk 1.2.13 with multiple SIP service providers to handle my out going call. I have my dialplan list below.

It works fine with one exception -

when my primary SIP provider off air - not responding to the SIP INVITE- it took 60 seconds for sip.channel to return with DIALSTATUS=NOANSWER.

I would expect the SIP channel failed the call immediately after T2 timeout. I check the sip.conf and can not find any configuration that will affect this, any suggestion - that will make SIP channel return a failure status after the T2 timeout.

[out-trunk]

exten => s,1,Dial(SIP/a.a.a.a/${EXTEN},180)
exten => s,n,NoOp(Call complete DIALSTATUS=${DIALSTATUS})
exten => s,n,Goto(SecondaryRoute,s-${DIALSTATUS},1)

[SecondaryRoute]

exten => s-NOANSWER,1,NoOp(Primary Route - NOANSWER)
exten => s-NOANSWER,n,Dial(SIP/b.b.b.b/${EXTEN},180)
exten => s-BUSY,1,NoOp(Primary Route - BUSY)
exten => s-BUSY,n,Dial(SIP/b.b.b.b/${EXTEN},180)
exten => s-CHANUNAVAIL,1,NoOp(Primary Route - CHANUNAVAIL)
exten => s-CHANUNAVAIL,n,Dial(SIP/b.b.b.b/${EXTEN},180)
exten => s-CONGESTION,1,NoOp(Primary Route - CONGESTION)
exten => s-CONGESTION,n,Dial(SIP/b.b.b.b/${EXTEN},180)

exten => _s-.,1,Congestion
exten => s-,1,Congestion

I am looking to do the same thing, have you found a way to do it yet ?