First I would like to say that I am not a fan of just about any Microsoft product and I loath the iPhone. That being said it will be a little easier for you to understand my frustration with the way the day plays out.
Here is the basic gist of the call I received. "Mr. Important at the Big Company got a new iPhone and he knows from the bills he pays that he also has an Exchange server and he read somewhere that they can sync, so he wants us to make them sync his calendar and contacts without him plugging in his phone." Never mind the fact that they have a Cisco PIX between their Exchange server and the Internet.
Never mind the fact that their Exchange server is five years old and the only reason they use it is to share calendars. We will just schedule it as a four hour job and send me over to "make it happen". All kinds of red flags were going off in my head, but I googled it before I left to make sure it was possible and sure enough there was more than one tutorial on how to set it up.
So here I arrive at the client and I sit down and explain to the only computer savvy person what I plan to do and make sure I have a firm grip on what the main goal is. Pretty simple. Make the bosses iPhone sync his calendar and contacts without him having to come in and plug it in. First I look into Apple's MobileMe solution. It looks like it would do what I want. They don't tell you until after you install it and try to use it that it doesn't work with Exchange. I guess they figure if you can afford an Exchange server that you must have an IT person and they will know how to set it up. That IT person being me. Scratch that Idea. Next I look at using push mail like what we use with my work phone. About all I know is that it works when it wants to work and my boss had a bitch of a time setting it up and not having certificate security warning on either the phones or the 07' Outlook clients.
So I ssh into the PIX and open up https and http to the exchange server and try hitting the outlook web access from the outside and it works!! Hell Jeah! About this time I'm thinking that this might not take all day and I might be about to whup a four hour job in two! It worked fine with just http and I read online that your could tell the iPhone not to use SSL so I thought I might be in luck. So I went and got The Big Man's iPhone and said let me try something for a minute. I got his phone hooked it up Via USB and did one last sync in case I screw things up. Then I went through the steps to get calendar and contact with an exchange account and it went through. Then there was that part where it asks if I'm sure because It will over write all contacts and calendar entries. I thought, "well shit that's the whole point right?" I accepted and it looked like it was starting to sync....
Then his phone rang. It was a random number he didn't recognize. He want ahead and answered. It WAS somebody he knew! He said where are you calling from? His buddy was like "my cell?!?!" Aha! All his contacts were gone. He handed his iPhone back to me with wide eyes and said "um what happened to all my contacts?" I said "uh oh don't worry they are all on the server, I was syncing. Ah hem, I'll fix it."
I blew it off mentally and told myself that surely it must be syncing over the air.... slowly. But No. After waiting 20 mins and nothing showing up I began to do some research. And then some more research. Finally I read a post that says your Exchange server must be at least service pack 2. I goto the server and look and sure enough it is only service pack 1. Great!! This I can fix! I go and download service pack 2 and while I'm waiting I turn that crap off on the guys iPhone and re-sync with his USB and get his contact and calendar back to at least the way it was before I started. The service pack is done downloading so I goto the server and try to install it. It Fails. Nice. Love you Microsoft!
I did some research and checked some random box in some obscure tab of some settings menu and try again. This time it works! I restart all the exchange services and just as I am about to start feeling happy somebody sticks their head in the door and says "hey I just got kicked out of my email, are you messing with the server?" I said "Yeah I'm doing some maintenance it should be back up in a bit". I restart all the services again and head over to make sure they can get in. They can't. I try a bunch of stuff with no luck. Then Another person comes in and says they can't get into their email. Hmmm I begin to wonder weather this isn't a server problem related to the Service Pack install. Sure enough it is and now nobody can get into their email in the entire building!
Crap! At this point I have broken more stuff than I have fixed and its already 2:30pm. I got here at 9am. I feel special. After an hour of research and trying different things I finally give up and tell everybody that I have to reboot the server and they need to get out of all their special software and things will be down for a few minutes. I shut the server down for a reboot and cross my fingers. The reboot takes no less that 15 minutes. This is an old server. People are getting impatient. People are standing over my shoulder. Joking even when they are pissed because surely I am a smart guy who has come to fix problems and not create them right?
Finally the server comes back up. People can miraculously get back in their email. People are happy. Life is good for a time. Then I talk to the guy in charge of IT money and we realize that even after hours of hard work and plenty of ups and downs that I still didn't accomplish what I came to accomplish. Luckily he has had computer problems in the past and understands that even though we didn't accomplish our goal that we did get service pack 2 installed and get a firmer grip on what needs to be done. I need an FQDN and a SSL cert. Then I can come back and give it another try.
Spent 7 hours on a 4 hour job and couldn't bill a damn thing. Not only that but try to explain it to anybody who isn't IT and they wouldn't even begin to understand. I love my job!