We are working with IBM MobileFirst Platform 7.0 and are trying to send push notifications through the Apple APNS server. We are not using a SOCKS proxy.
As far as we know, we have opened the relevant ports through an F5 load balancer from the MFP server(s) to the internet:
gateway.sandbox.push.apple.com:2195
feedback.sandbox.push.apple.com:2196
gateway.push.apple.com:2195
feedback.push.apple.com:2196
However, we are still seeing tracing errors when sending push notifications of this form:
[10/22/15 9:43:01:362 CEST] 00000153 ApnsConnectio I com.ibm.pushworks.server.notification.apns.ApnsConnectionImpl sendMessage Failed to send message Message(Id=7; Token=XXX; Payload={"aps":{"alert":{"body":"Test body","action-loc-key":null}},"payload":"{\"id\":\"XXX\",\"title\":\"Test body\",\"tag\":\"Push.ALL\"}"})... trying again after delay
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:208)
at java.net.SocketInputStream.read(SocketInputStream.java:134)
at com.ibm.jsse2.a.a(a.java:260)
at com.ibm.jsse2.a.a(a.java:204)
at com.ibm.jsse2.aq.a(aq.java:684)
at com.ibm.jsse2.aq.h(aq.java:790)
at com.ibm.jsse2.aq.a(aq.java:371)
at com.ibm.jsse2.h.write(h.java:20)
at java.io.OutputStream.write(OutputStream.java:87)
at com.ibm.pushworks.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:302)
at com.ibm.pushworks.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:292)
(I have redacted the token and the Id).
I would theorise that the network connectivity is not set up quite correctly, but it is possible to telnet to each of the above addresses on the above ports from the MFP server, so on a superficial level, connectivity seems to be working.
Is there a way we can verify more deeply whether we have sufficient network connectivity to those servers to send push notifications, ideally independently of MobileFirst? I understand a persistent connection is required ("...The provider connects with APNs through a persistent and secure channel..."), and perhaps this is where things are not set up correctly.