I've been waiting for this feature for quite some time as a lot of our customers see the lack of caller ID being a deployment blocker. Early on in the projects we heard different stories from end users who were frustrated with not having this feature. Some of them wanted inbound to work while others wanted outbound and to have the ability to mask their name.
With the latest OCS 2007 R2 updates on July 28, 2009 we now have caller ID inbound, and outbound can be enabled via the following MS KB article: http://support.microsoft.com/?kbid=972721.
So why "not quite yet"?
First, what you'll notice on a missed call or a voicemail is that the email you recieve doesn't have the name; just the number. I suspect this is due to Microsoft Exchange Server not knowing what to do with the name. Furthermore, I would assume the Exchange team is preparing a hotfix to accomodate the missed call/voicemail with name.....I hope.
Second, I've just finished updating my Tanjay phone to the 3.5.6907.35 firmware and unfortunately it doesn't pass caller ID. Grrrr! Also, if you're not getting caller ID on your MOC client and you have a Tanjay paired with your PC, unplug it and it should work again. It seems as though the Tanjay prevents the MOC client from displaying the name.
If you've ever wondered how it all works, I had a great escalation engineer in India provide me with an explanation.
- A PSTN call comes in and goes "ring no answer"; the call hangs up without leaving a message.
- OCS communicates with the Exchange UM server using a new "INVITE" command and relays the original information from the "INVITE" that came from the 'gateway' side of the Mediation server. As a side note, many people today are creating special Location Profiles for the Mediation Server so that inbound calls are normalized. This works well for calls that end up reaching users....but again, a missed call will only have the original number, not the normalized one.
- The UM worker process performs a lookup in the user's personal contacts to see if it can resolve the number to a name. If successful, a message is generated by the UM server and submitted to the Hub Transport server for delivery to the user's mailbox.
From what I recall at Exchange Ignite earlier this year, there are improved methods for looking up and determining caller ID (name) on onbound calls. As I learn more about this I'll post an update here.