In this two part article, I will explain the steps required to install and configure the Lync 2010 Mobility Service.
The lab consists of a DC which is also a CA, an Exchange 2010 multi-role server, a Lync 2010 Std Edition Server, a Lync 2010 Edge Server & TMG 2010 (both in the DMZ).
Install Lync 2010 CU4 on front-end servers
The Lync Mobility Service is introduced in Cumulative update 4 for Lync 2010. Hence, first step will be to download the LyncServerUpdateInstaller.exe from here, which is part of CU4. Learn more about how to patch a Lync server here.
The CU4 needs to be run on all Front End servers. In my lab, there is only a single Lync server.
Before patching the server, stop all Lync services by running Stop-CsWindowsService from the Lync Shell. Stop all IIS services by running Net Stop w3svc.
Now that the services are stopped, run the LyncServerUpdateInstaller.exe (run as admin) on the front end server. If you have red cross mark, that means that the updates are not on the server and hence click Install Updates.
The Windows Installer will be run and at the end you should have green tick against all the updates. Click Close.
Start the Lync & IIS services by running Start-CsWindowsService and Net Start w3svc from the Lync Shell. Run the steps above on all front end servers in the pool.
Update SQL Databases
The next step is to update he backend SQL databases. This step should only be done once per pool and should be run from only one FE server per pool for each instance of the backend database.
In order to update the database, stop the Lync services first by running Stop-CsWindowsService from the Lync Shell.
Run the command Install-CsDatabase –Update –LocalDatabases (as we have a std edition server). Make sure you have exit code as success throughout the process.
If you have enterprise edition backend server database & the databases are not collocated with other databases (like archiving or monitoring databases), run Install-CsDatabase –Update –ConfiguredDatabases –SqlServerFqdn <sql fqdn>
If you have enterprise edition backend server database & the databases are collocated with other databases (like archiving or monitoring databases), run Install-CsDatabase –Update –ConfiguredDatabases –SqlServerFqdn <sql fqdn> –ExcludeCollocatedStores
Restart all Lync services by running Start-CsWindowsService cmdlet from Lync Shell or restart the server.
Configure Listening Ports
Before installing the mobility service on the front end servers, the Lync topology must have the web service internal and external listening ports defined. Run the following commands from Lync Shell on every front-end server.
Set-CsWebServer –identity “pool fqdn” –McxSipPrimaryListeningPort 5086
Set-CsWebServer –identity “pool fqdn” –McxSipExternalListeningPort 5087
Enable-CsTopology so that the topology is published and updated.
Install IIS Pre-reqs
The mobility service utilizes dynamic content compression component of IIS. Run the following from Powershell (run as admin). No server reboot is required.
Add-WindowsFeature Web-Server, Web-Dyn-Compression
Install Mobility & Autodiscover Service
The mobility and autodiscover services are not installed by running the msi package. Instead, the file needs to be saved to a particular location and the Lync Bootstrapper is executed, which in turn picks up the package and update the server. All front-end servers and directors (if you have one) have to be updated with this new services. The front-end servers will get the mobility & autodiscover service, while the directors get the autodiscover service alone.
Download the mobility and autodiscover service from here and save it to C:\ProgramData\Microsoft\Lync Server\Deployment\cache\4.0.7577.0\setup\ on the Lync server. Make sure to “show hidden files and folders”, as ProgramData folder is a hidden one.
Now that the msi is in the required location, run the Bootstrapper.exe from C:\Program Files\Microsoft Lync Server 2010\Deployment\Bootstrapper.exe in the Lync Shell.
The commands are cd “C:\Program Files\Microsoft Lync Server 2010\Deployment” and .\BootStrapper.exe
The bootstrapper checks the pre-reqs and installs the McxStandalone.msi
If the install went successfully, you will have Autodiscover and Mcx directories under the Lync Internal and External website in IIS manager.
You will also have two new application pools – CSExtMcxAppPool and CSIntMcxAppPool.
Modify the Lync Internal Certificate
In most cases, the internal Lync cert will be from the internal CA and hence updating is easy enough. The certificate should be modified to include the autodiscover fqdn – Lyncdiscoverinternal.<sipdomain> and Lyncdiscover.<sipdomain>. In my case, the cert will be modified to include Lyncdiscoverinternal.exchangemaster.me and Lyncdiscover.exchangemaster.me.
Run the Lync Deployment Wizard and click on Install or Update Lync Server System.
Click on the Run button against step 3.
Click on the Request button.
Click Next on the welcome screen.
Select the first option and click Next.
Select the internal CA and click Next.
Click Next on the certificate authority account wizard page.
Click Next on the Specify Alternate Certificate Template page.
Enter a friendly name and click Next.
Organization and geographical info are optional.
The subject alternate names for autodiscover will be filled in by the wizard.
Select your sip domain and click Next.
Click Next on the Configure additional SAN (unless you have an additional one).
Verify the cert summary and click Next.
Request-CsCertificate cmdlet will be run. Click Next when the process completes successfully.
Make sure that the assign this certificate to Lync server option is checked and click Finish.
Click Next on the Certificate Assignment page.
Click Next in the Cert Summary. The Set-CsCertificate cmdlet will be run and click Finish when the task completes successfully.
This completes the certificate update process.
Configure DNS records for Autodiscover
The internal DNS server needs to have A or CNAME records for lyncdiscoverinternal.<sipdomain> and lyncdiscover.<sipdomain>. CNAME records will be better if you have more than one FE server, as we can point it to the front end pool rather than a server. I only have a single server and hence my server fqdn is the same as the pool fqdn.
An A or CNAME record needs to be created in the public DNS for lyndiscover.<sipdomain> pointing to the reverse proxy, TMG 2010 in my case.
This concludes part one of the series. in part two, we will publish the autodiscover service using TMG 2010, configure push notification and mobility policies.
UC Architect, Blogger, Husband & Dad. I have been in IT for the last 14 years, with interests in Active Directory, Exchange, Office 365 & Windows Azure. I am active on Experts Exchange & TechNet forums and I am a technical author for SearchExchange.