Determine what's ends a call

I took a look at the log for today and isolated the call that dropped. Found a “Timeout on non-critical invite” which i am assuming is the cause of the call drop. Also found this post with the same issue:

Our SIP trunk connection goes from our PBX network card into the WAN port of the ISP supplied router which is controlled and configured but the ISP (SIP Provider). The phones are run into a PoE switch which in turn is connected to another network connection on our PBX. eth0 for the phones is 192.168.1.x and the SIP is on eth1 at 10.185.85.x. There is no firewall, no other additional router etc for these invites to get lost in as far as i can see. I have NAT enabled with the external address being the address of eth1 (10.185.85.x) and the 192.168.1.x network under the local networks.

What else can i do to fix this?