We use Local Push Connectivity (NEAppPushProvider, matchSSIDs set) to receive notifications from an on-premise MQTT broker over WebSocket (wss://host:port/mqtt).
- iPhone on Wi-Fi, VLAN A (SSID matches matchSSIDs)
- Server on wired VLAN B, routing and firewall rules allow VLAN A → VLAN B on that port
Result: the containing app, in the foreground, connects successfully to wss://<VLAN B IP>:<port>/mqtt. At the same moment, the app push provider (URLSessionWebSocketTask to the exact same URL) fails with "The request timed out". The provider starts normally (start() is called).
When the server has an address on the Wi-Fi subnet (VLAN A), the provider connects without any issue.
Is the app push provider restricted to servers on the local subnet of the matched Wi-Fi network? If so, is this documented anywhere? If not, what could prevent the provider from reaching a routed address that the app itself can reach?
iOS version: 27.0.1 device : iPhone 13