Asterisk says Sipgate is regsitered, Sipgate doesn't agree!

I have a 1.2.17 Asterisk installation on a WRT54G router. When I first turn everything on all is well. Then after, perhaps, half an hour I get a message in the log that Peer Sipgate is unreachable. Then 10 secs later that Peer Sipgate is reachable again. Somewhere along the line Sipgate stops reporting that Asterisk is registered yet Asterisk still says it is. Incoming calls no longer work from that point on. All the required UDP ports are forwarded to Asterisk.

I have tried every combination of externip, externhost to no avail. Anyone had this before or know what might be causing it. I have had several Asterisk installations before, none of which have exhibited this problem.

Also if I have several peers registered should they all be on port 5060? Same for extensions connected to Asterisk, all on 5060 or different ports?