The iMessage Beta worked fine on Lion (except for the delays, sometimes, but hey, it's a beta). After upgrading to Mountain Lion, however, I'm unable to authenticate, send and receive messages.
I've found that running a PRAM reset (pressing a combination of keys when booting) does fix the problem, but it only works temporarily (until the next boot).
I already tried removing all plist-files, doesn't work. Every fix I found (that is: PRAM reset and booting in Safe-mode) only works one "session" (until I reboot).
When trying to sign in, it hangs for about a minute, and then says it "Could not sign in. Please check your network connection and try again.". I already tried turning off my WiFi, and it still hangs and gives this timeout error (so regardless of wether it's actually supposed to try to sign in).
My console shows the following errors:
When delivery fails (that is always, unless I booted in Safe-mode or performed a PRAM reset) and I get this red exclamation mark:
imagent: [Warning] FTMessageDelivery failed! Error (APSErrorDomain:1): Unable to send outgoing message to apsd: (ipc/send) invalid destination port (null)
This always shows up, about 20 times per actual iMessage I tried to send.
When signing in fails (that is always, unless I booted in Safe-mode or performed a PRAM reset)
imagent: [Warning] *** Listener ID: com.apple.dock.extra does not have capability: (Chats), not allowing request
Followed by a backtrace of the internal calls in imagent. However, this (both the backtrace and the warning above) do not always show up in my logs.
Based on the fact that it's working fine on my iPhone and iPad, and it's working fine too on the other Macs in the same WiFi network, I don't think it's a router firewall issue.
Based on the fact that I do not have any firewall (nor the built-in one) running, I don't think it's that it's a local firewall issue either. I already checked my hosts-file, nothing there (except for the default localhost routes).
Apple is working on better unified support in iOS 6, don't know if that solves my problem, but personally, I don't think that would really make sense (since it's definitely a local system issue).
I hope I provided you with enough information, but if you need more, don't hesitate to ask me .
I really hope you can point me to a permanent fix! Thanks in advance guys!