I was setting up a test environment and I was having problems trying to activate a device. I know that I've responded to others having device activation problems but this was a situation that I had never seen before. I know that my device has BES service (normally the most common issue) and I looked in the BES Agent logs and the user was started properly. So as far as BES was concerned the user was ready to go. I made sure that I set an activation password that had not expired yet.....there shouldn't be a problem activating right? Wrong.
When I tried to activate the device, it seemed like activation had started properly but I got stuck at the "waiting for services" line. I couldn't figure out what was going on. Per the Agent logs, it turns out that BES was waiting for the policy server to send new service books to my device. I checked and the policy server service was running. What is going on? But when looking at the policy server service logs, I could see that there was a BIPP connection failure. This normally means that the dispatcher service is not running. So of course, I checked for the dispatcher service to be running...and it is.
I was trying to debug this issue for a while... I tried to restart the dispatcher service, looked at more logs...then I restarted the machine. When the machine came back up, I noticed that not all the BES services were running. Then I remembered that this happened the last time that I started the server. This is actually a known BES issue. There is a timing issue on startup. If your database that is hosting the BES configuration has not started when the BES services try to start up, the BES services can fail to start. So I ended up starting all the services from top down in the services control panel applet. Then I tried to activate the device and had the same problem.
Suddenly it hit me...I think that I need to start the BES services in a particular order. So I went out and searched on the web and found the following link:
The correct order to stop and start BES services « the back room tech
I stopped all of my BES services and went with the last order specified in the post. Then I activated my device and....VOILA, it worked.
So to make a long story short, if you have a problem with BES services not starting, then you need to make sure that you start them in the right order. I don't think that the problems that it could cause is limited to device activation but if there are problems talking to the dispatcher...there could be issues simply pushing data to the cloud which then sends the data to the BlackBerry devices.
I got bit by this issue and wasted a couple of hours debugging...hopefully this post can help others save that time and spend it with their kids or something...