SIP/IAX calls cause sporadic WaitforSilence to fail, Zap ok

Well, I’ve been playing around this for a while with .call files.

I have intermittent errors with my WaitforSilence command when using sip or iax trunks. I’ve tried combinations of 3 different voip providers, different codecs (g729, gsm), different servers (home, office), different wans. I have Asterisk v 1.2.5 on AAH 2.7.

I will get the error in my log file:
14:30:34 Executing Waitforsilence
14:30:34 Waiting 1 time(s) for 2000 ms silence
14:30:37 Waitstatus was set to TIMEOUT
Then the dialplan breaks through to the next line - too early. Notice timeout only after 3 seconds?

The key is: Zap channels are ok with a TDM400 card. And when I hear the sip/iax call coming in, I can hear an occassional tiny break/stutter in the playback. I think what is happening is I get a break in the connection very briefly at just the right time which causes the WaitforSilence to exit with an error.
(I’m not a telemarketer)

I would ask all gurus for advice on how to get the voip calls more reliable when using WaitforSilence please.

Thank you.