This is a follow-up post in a series called Todays Lesson Learned started by fellow Lync MVP Tommy Clarke with this post: Todays lesson learned–Exchange 2010 upgrade with Active Sync and MobileIron and my follow up post on: Todays Lesson Learned – Lync Server 2010 and ST node for OpsMgr 2007 R2 It is a blog series noting down “learn from my mistakes” and “gotchas that can stop an entire project” type of problems with learning by doing and learning the hard way.
I was doing an Exchange UM integration with Lync. Everything worked fine and I was following fellow MVP blog article by Jeff Schertz: http://blog.schertz.name/2010/11/lync-and-exchange-um-integration/
- When I got to the point where I was going to run the Exchange script exchucutil.ps1 on the Exchange UM server I got the following error
Using Global Catalog: GC://”Different subdomain”
The UM server wasn’t able to read the Communications Server pool objects. Verify that Communications Server is deployed in this Active Directory forest and you’re a member of the RTCUniversalServerReadOnlyGroup group or have sufficient rights to read this Active Directory container object.Additional information:Group RTCUniversalServerAdmins couldn’t be found.
- The cause of this was that Exchange Schema extension was done in another subdomain.
- When the Get-Ucpools.ps1 script triggered it could not find the Lync security groups to access the Lync pool configuration.
- As the blog depicts the solution was to edit the Get-Ucpools.ps1 script that is used by the ExchUcUtil.ps1 script
- Make a copy of the original script before editing
- Remember to open NotePad “as administrator”, else you can not save the script
- Comment out the original global catalog discovery line
- #$entry.psbase.Path = “GC://” + $globalCatalog
- $entry.psbase.Path = “GC://MYGCin.Domain.com”
- Add a local domain controller that is also a global catalog
- Save the script
- Rerun ExchUcUtil.ps1
I am proud to announce that we have solved a problem we had with Exchange UM integration with OCS 2007 R2 when the users mobile phone is the primary number.
In Norway and Scandinavia it is normal for end users to have a mobile phone as work and private phone. A lot of companies in Norway have adopted mobile phone number as their primary phone numbers and can only be reached using this types of numbers. Traditionally the operators have offered their customers net centric logic for their call handling and switchboards and using only mobile phones as terminals. Since the users use the same phone at work and privately they only have their mobile number and the numbers follow the users and not the company. When we started deploying OCS 2007 R2 for these companies they wanted the solution to be built with using mobile phone numbers as primary number when calling from Communicator. Operators in Norway such as Telenor and Netcom are therefore offering IP Trunks that can integrate with OCS 2007 R2. With these IP Trunks they can rewrite the callers number from a PSTN number to mobile phone number before the call reaches the PSTN network and by that realizing single number reach. And when the called party calls back to the mobile phone number the OCS PSTN number is called at the same time using Dual Forking provided by the operator. This is how single number reach is realized when mobile phone is the main number and it works great. The end user do not have a clue what their real number in OCS is.
If you throw Exchange UM into this mix with single number reach and mobile phone as primary number you get an issue. The integration itself works fine and as expected. The problem occurs when the users log off their computers and go to meetings, drive home or are generally not logged in. What happens is that when you are not logged in to Communicator and someone calls you. OCS will answer the call after under a second, ignoring the users call forwarding settings in Communicator, and forward it to Exchange UM resulting in users loosing the call on the mobile phone. Exchange UM therefore breaks the solution. This is by design and we have not been able to implement Exchange UM in the UC mix in these scenarios until now.
Why Exchange Unified Messaging in conjunction with OCS
So why are we so eager to implement Exchange UM in these scenarios? When using the operators own net centric voice mail features we loose some technology and integration. By default the users get an SMS telling them they have a new message, and they can call in and hear the message. A lot of users set up their voice mail settings so that it sends an email with a wav file of the message to their inbox. After listening to the wav file and archive it or delete it, they still get the sms with the unheard message and there is no integration with their inbox and that they have already possessed it. Resulting that the SMS can tell them they have several unheard messages and that not being true. That is why we want to have Exchange UM deployed to have a complete UC solution.
Exchange UM has a couple of advantages to name a few:
- Integration with Exchange inbox, messages that are heard/read from Outlook, Outlook Web App or mobile phone through ActiveSync, are also read when calling the Exchange UM service
- Call back functionality directly for outlook Web App, you can have Exchange UM call you and play the message on the phone of your choosing
- Note field integrated in Outlook and Outlook Web App, gives you the ability take notes in outlook while listening to the message, save them and have them indexed
- You can call Exchange UM and rearrange you calendar, a good thing when you are late for a meeting and in a car travelling
- Read more about the Exchange UM server role here: http://technet.microsoft.com/en-us/library/bb125141.aspx
I have spent the most part of a year to find someone to help med with this. After some research I found out that it was possible to work around this using Front End Scripts and a program to put the call on hold for a given period of time. This summer I came in touch with a Scandinavian developer company called Competella. They develop application based on the UCMA (Unified Communications Managed API) and are currently developing an switchboard attendants that integrate call control with an advanced directory search tool, access to presence, calendar, e-mail and IM. The system adds attendant call control functionality to the Microsoft OCS beyond the level found in legacy PBXs. They developed a script and a program that checks the status of the user. If the user is offline it will put the call on hold for 20 seconds before forwarding it to the Exchange UM and by that solving the problem we have with single number reach using mobile phones and Exchange UM. This also works if the user has the status “in a mobile call” set by third party programs that get free/busy status from the operators on the users mobile phones.
By using the script and program from Competella we are now able to complete our UC deployments with Exchange UM when mobile phone is the primary number in a single number reach scenario. With this we can realise enterprise voice mail for mobile phones as well as OCS/Lync.