I reported this issue in an [url=https://forums.pulsesecure.net/topic/pulse-connect-secure/276654-junos-pulse-windows-phone-81-vpn-stops-passing-traffic-after-5-minutes-idle] earlier post [/url] that I cannot respond to now.
Basically, Junos Pulse just stops working after 5 minutes idle time on a Windows Phone. It is now clearer that this is because Windows Phone is brutal about culling background apps, to save power (far more brutal that Android or iOS). There is really no concept of allowing an app to run in the background or a background service. In order to provide any sort of background service, an app can have one (and only one) background agent.
You can see from Battery Saver that Junos Pulse does not have a background agent (as it doesn't have the 'allowed' tag in Battery Saver). Therefore it cannot run in the background. So as Junos Pulse goes into the background and idles, Windows Phone kills it in a brutal fashion.
This is why the phone shows the connection is still up and the server still has a connection - but no traffic flows. The app has been killed in a brutal way and cannot 'tidy up'. It is why having power to the phone means this is less likely to happen. It is why it happens on the phone but not on full Windows (or Android or iOS, as they are less brutal with background tasks). It is why stopping and starting the connection restores it.
And it is why sometimes the phone locks up and reboots after the connection fails - because of the brutality of Windows Phone killing the app. It sometimes kills it in a way that it is left in an unstable state.
Pulse works fine for short connections - but it is not fit for our purpose which is always on VPN on Windows Phone.
IKEv2 is an embedded part of the Windows (phone) operating system, so I'm pretty sure it won't suffer from the same problem. It comes with MS support and updates. So until Junos Pulse comes with a background agent, we will use MS IKEv2.