Inbound call network help

Hi, I have a strange issue with DDWRT with in this 2 weeks.

As a note every thing was worked perfectly before.

My Lan Network:
ISP - TPLink Router - Untangle Box - linksys(A) wrt54G v1.1 DDWRT Firmware (Use as switch) - linksys(B) wrt54G v1.1 (Router) - FreePBX VOIP Server (2 Trunk. Skype for ourbound calls and DID for inbound calls)

Case:
All outbound calls with skype work perfectly.

  1. Call from mobile phone to DID number
  2. Cisco IP Phone ring
  3. After 5 seconds, Cisco IP Phone can not hear any thing, but Mobile Phone can hear perfectly.
  4. So I have put disconnect the call and recall DID number.
  5. The second, third and … call work perfectly.

This happen again every time there is no incoming call more then 10 minutes.

Troubleshoot 1:
I use PC and Zoiper as a tool to search the problem.
I put them behind linksys(A) wrt54G v1.1 DDWRT Firmware (Use as switch) = Result work perfect.

Troubleshoot 2:
I use PC and Zoiper as a tool to search the problem.
I put them behind linksys(B) wrt54G v1.1 (Router) = Result problem.

So I decide to change with a new linksys(B) wrt54G v1.1 (Router) and upgrade DDWRT from mini to voip. But this does not fix the problem.

Here is my DDWRT port forward setting:

Forward port 5060
Forward port 10000-20000

The strange is first call always no incoming sound after 5 seconds. But after that all work great.

When no call come in with in 10 minutes the problem happen again.

So there is nothing wrong with first gateway, untangle and freePBX settings

Any one please help me, I have been look all the net and can not find any answer.

Thank you.