Push only works on WiFi - iOS 5.1.1 on 3GS 32GB

Hello,


I recently went back to my old iPhone after much frustration with another smartphone product that I wont mention here. I updated the phone to 5.1.1 as reccomended by iTunes and started setting up mail etc and everything worked as expected. But then I noticed that push was not working whenever I have 2G/3G data enabled.


If I have WiFi only enabled, push comes in fast and works great. If I have 2G/3G data only, or 2G/3G data + WiFi, I never receive push notifications, not even if I go into the individual apps first as some people suggest.


It just so happens that I work for a major Canadian Wireless carrier and I have access to some pretty cool tools that enable me to see packet data coming from the device going towards the internet. What I can see here is that the device does NOT initiate any connection to the nn-courier.push.apple.com servers on port 5223, ie. this is some kind of device issue. There isnt even a DNS request or anything to indicate the device is interested in making the connection at all.


On my WiFi network, a DNS request and the connection to the push server is made immediately when WiFi comes up.


Does anybody have any experience with this problem, is it something wrong with my settings (hard to imagine since it works fine on WiFi only). Anyone from Apple care to disclose any known bugs?


If I can't get anything from here I'll have no choice but to talk to Apple but given the age of the device I'm not sure how supportive they will be.


Thanks

Krisso

iPhone 3GS, iOS 5.1.1, Carrier settings: Rogers 12.0

Posted on Jun 29, 2012 1:28 PM

Reply
4 replies

Jun 29, 2012 1:35 PM in response to snowsnoot

Silly question but did you get the phone reprovisioned when you swapped it or did you just put the sim card in? I had data issues with my iphone when I just swapped cards out one time and found out the service provider needed to associate my IEMI number on my phone to my account. This could be what is causing it not to work on 2G/3G

Jun 29, 2012 2:41 PM in response to KC7GNM

Thanks for the suggestion, mostly because I overlooked it myself! The reprovisioning went through but issue is still there.


What I noticed now when looking closer at my packet trace is that the device does do a DNS query to "push.apple.com" but it is for a TXT record, which returns a string "count=50". Im not sure what the application is looking for with this request, but definately the device does not do any DNS lookups for A records on the push.apple.com domain or subdomains, like I've seen for other iPhones where it is working.


At this point I'm going to try and trace more thoroughly on the WiFi connection and see if I can figure out whats different about when it is using WiFi vs the Carrier network.

Jun 29, 2012 2:53 PM in response to snowsnoot

Some useful info I found over at http://imfreedom.org/wiki/IMessage which is related to Mac OSX version of iMessage however it looks like the code was reused for iPhone based on what I am seeing:


Push connection

The applepushserviced first does a DNS TXT query for "push.apple.com" [ nslookup -query=txt push.apple.com] . This will return "count=50" or some number XX. The daemon then creates a name using a number between 1..XX and creates DNS name X-courier.push.apple.com. This DNS name is then handle by Akamai DNS to return an ipaddress in the 17.X netblock that belongs to Apple.

Then, applepushserviced connects to a host on port 5223. These present a certificate for courier.push.apple.com, and only accept connections which present a client side certificate (retrieved in the previous step).


So the question now is, why I dont have DNS request for 50-courier.push.apple.com? Seems like an application issue if it will send the request when the iPhone is connected to WiFi only, but if 2G/3G is connected it doesnt send the request.


I'll try to follow up with Apple but if anyone has any opinions please share them.

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Push only works on WiFi - iOS 5.1.1 on 3GS 32GB

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.