I HAVE THE SOLUTION - It's worth shouting about!
Upgraded 3 devices to IOS5. iphone 4, iPad 2 and iTouch (4th Gen). iMessage activates but during sending message it get stuck at 90%, Facetime stopped working on all 3 devices! All connected through a home network No luck with any of the suggestions on the internet as to the cause of the problems.
Took iphone and iTouch to work, connected on the open Wi-Fi there and hey presto both iMessage and Facetime started working! What the ****? Brought the devices home and they continued to work on my home network. Still no luck with the iPad 2 sending to either of the other devices or connecting on Facetime.
It struck me that there appeared to be an issue with the activation process ( even though it said activation successful at home). The most likely cause is the DNS server not passing the data through correctly.
I checked my DNS setting on my router and they were set to Open DNS (208.67.222.220), maybe using Google Public DNS would work? But I didn’t need to mess with the router settings, the DNS on the apple device overrides the router setting.
I set the Pad DNS (in Wi-Fi settings) to the Google DNS and straight away a mass of “stuck” test messages came through and I could also send iMessages. Facetime also started working! Yippee! Success! I reset the DNS back to its original value after I finished and it still works ok ( this is optional as Google DNS is good to use as default).
So here’s the fix.... it’s so simple!!
Settings > WiFi > find the active wifi network ( the one with the tick)
Click the blue arrow> find the DNS entry ( 4th item down), note it’s value.
In the DNS field – type in 8.8.8.8
Click the “home button” and then try iMessage and Facetime.
(it’s up to you if .want to set the DNS back to it’s old value)