I have an 2G (MC Model) 8GB iPod Touch on iOS 4.0 that has a strange issue. Push notifications used to work just fine, but for the past month or two, I don't get any notifications while I'm on my home wifi network. If I connect my iPod to any other wifi network (open private, public hotspot, etc), I get flooded with all the past notifications. I have tried restoring my iPod numerous times, tried downgrading to 3.1.2, tried different combinations of DNS servers (as mentioned on the net), but nothing works. Any ideas on how to go about getting push to work when I'm at home?
Your push-port (5223) could've been closed. Try to open it in the router-interface.
What has changed since the push notifications stopped working?
Sounds like the connection state is being dropped by your home router, either because of a timeout or the connection table is overflowing; most of these embedded routers don't have much memory in them for state info.
What is your access point/router/firewall? Is it running a custom firmware, and/or have you modified any settings, like connection timeouts? Some open-source firewalls and router firmwares have options for tweaking the connection timeouts.
Are you using BitTorrent or any other high-connection-count protocols? If so, what happens if you stop using them for a day or so?