Android Push / WhatsApp Messages are getting delayed with connected to Wi-Fi Router. Messages get delivered when the phone screen is turned on.
I have managed to reproduce the problem and it turned out to be a Wi-Fi chip issue on the device(s) itself.
This is because the Phone in question (Nexus 4) stops responding to ARP request when the phone is on Sleep mode. This is due to Qualcomm Prima WLAN issue which affects all phones with this specific chip…
Only way to currently fix it is to add a Static ARP entry onto the Router. Given that it is supported on the router itself. Alternatively you can use Android Notification Fixer from the Play Store but for that to work, the phone needs to be rooted.
Please make sure you have Static IP / DHCP entry configured to the given IP(s), before adding the Static ARP entry
Cisco IOS
arp 192.168.1.30 20cf.303a.f1c9 arpa
Juniper Junos
set arp 192.168.1.30 mac 20cf.303a.f1c9 publish
DD-WRT / Linux
arp -i br0 -s 192.168.1.30 20cf.303a.f1c9