iOS push notification issues

Anatoli me at
Mon Mar 18 21:54:42 CET 2019

Hi Jason, all.

I have detected some issues with iOS push notifications with WG while 
the device is in sleep mode (screen turned off).

First of all, in spite of having KeepAlive set to 10-30 seconds, iOS 
devices don't send keepalive packets at all while the screen is turned 
off. The only thing that is more or less always received on the server 
is the handshake, every 170 seconds.

It appears that from time to time WG at iOS is not receiving communications 
from the server – the device doesn't respond to any incoming connections 
(over the tunnel).

Due to this, the incoming push notifications don't reach the device via 
the tunnel: I see on the server incoming connections from WhatsApp and 
Apple servers, the WG at server tries to forward them to the device, on the 
underlying iface I see outgoing WG UDP packets to the client, but no 
reply from it.

The device awakes some moment later (probably for the handshake), WG at iOS 
communicates with WG at server, iOS establishes a connection to the APNS 
and receives the notifications. The effect is that the notifications 
enter with a delay (up to 2-3 min) and some incoming calls are lost 
(i.e. not answered on time due to lack of notification).

Also, sometimes iOS devices are trying to connect to network 
(which belongs to Apple and is related to APNS) /outside/ the tunnel. 
After this connection fails (due to the firewall not allowing anything 
outside VPN), the devices start disconnecting from the WiFi.

Any idea why this happens? I know there are issues with iOS devices 
entering sleep, this is a huge problem for OpenVPN Connect app. WG on 
iOS somehow manages to work during sleep, but not always. Most (about 
80%) of the notifications are received correctly during sleep, but some 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the WireGuard mailing list