The Next Gen Translator

I was researching for a translator software of Lync, at that time I came into Skype blogs and found something really interesting about the translator, thought of sharing you all.

Skype brings people together to make progress on what matters to them. Skype Translator will open up endless possibilities for people around the world to connect, communicate and collaborate; people will no longer be hindered by geography and language.

How Skype Translator Works

Lync 2013 Reports keeps loading and output will be delayed


when you try to run the User activity report for 24 Hrs. time frame, the reports keeps loading and output will be delayed.

I have been working with a Lync Enterprise Edition deployment where we have been getting the error below. I have been able to work around it manually by running the SQL query mentioned in the error. Eventually the error would return when you click on the Dashboard

Report processing stopped because too many rows in summary tables are missing in the call detail recording (CDR) database. To resolve this issue, run dbo.RtcGenerateSummaryTables on the LcsCDR database.

Report processing stopped because too many rows in summary tables are missing in the Quality of Experience (QoE) database. To resolve this issue, run dbo.RtcGenerateSummaryTables on the QoEMetrics database


This is caused by the SQL Server Agent Service (Instance Name) is not running by default and is set to manual. If you look in SQL Server Management Studio you will see that the Stored Procedure for this automatic process is there it is just not running.


Execute those Store procedure manually or Change the configuration of the service so that it is set to automatic and start the service. Remember if you have a SQL Mirror configured you will need to do the same thing to the other server in the mirror. This goes for SQL clustering as well.

You will no longer get the error on the dashboard since the SQL Server Agent service will run the stored procedure as designed. There is no specific documentation stating that we need to ensure this service is started so make sure you add this to your installation documentation

How to Enable Push Notifications for Lync Mobile – (iPhone & Windows Phone 7)

Push notifications, in the form of badges, icons, or alerts, can be sent to a mobile device even when the mobile application is inactive. Push notifications notify a user of events such as a new or missed IM invitation, missed calls, and voice mail. The Microsoft Lync Server 2010 Mobility Service sends the notifications to the cloud-based Microsoft Lync Server 2010 Push Notification Service, which then sends the notifications to the Apple Push Notification Service (APNS) or the Microsoft Push Notification Service (MPNS).

Push Notification requires a Lync or OCS EDGE Server and Federation with Lync Online because Push Notification works via Lync Online Federation.

1. First step is to create new hosting provider federation with Lync Online.

New-CsHostingProvider –Identity “LyncOnline” –Enabled $True –ProxyFqdn “” –VerificationLevel UseSourceVerification

2. Add to the allowed domains list

New-CsAllowedDomain –Identity “”

3. Enable Push Notifications (iPhone & WP7)

Set-CsPushNotificationConfiguration –EnableApplePushNotificationService $True –EnableMicrosoftPushNotificationService $True

4. Enable Federation if you haven’t already done that in your environment

Set-CsAccessEdgeConfiguration -AllowFederatedUsers $True

5. Test Lync Online Federation

Test-CsFederatedPartner –TargetFqdn –Domain –ProxyFqdn

6. Test Push Notifications

Test-CsMcxPushNotification –AccessEdgeFqdn

How to Publish Reverse Proxy URLs for Lync Mobility Discover Service with TMG

Create a new rule for the Lync auto discover service. The full functionality uses just the regular External Webservices URLs.

For more info on the previous steps go to this article:

Create a new Web Publishing Rule

This is obviously an allow rule

Depending how you load balance or whether you have standard/enterprise edition this might be different on your end.
ISA/TMG supports cookie based load balancing (requirement for external web services URLs) if required in your deployment

You have to select SSL to the server/loadbalancer

Enter the name of the webservices loadbalancer or pool

You have to select to forward the original host header

The public name is lyncdiscover.<>

Select the correct listener (preferably both port 80 & 443)

Select authentication settings

Remove All Authenticated Users and replace this with All Users (No Authentication)


Now you have to change the following tab on the rule

You have to include both HTTP and HTTPS and forward to the correct ports

HTTP => 8080

HTTPS => 4443

Change the authentication option for HTTP on the Listener.
(you might need a new listener for security reasons so that the listener never sends authentication)

Publish your rules

How to install Lync 2010 Mobility – Installation overview

1. Important CU4!
Update your Lync Server to Cumulative Update 4 First (Prerequisite)

2. Update DNS Entries

  • / per domain (external DNS pointing to Reverse Proxy)
  • / per domain (internal DNS)

3. Update Certificate SANs required for Reverse Proxy

Automatic Configuration without HTTPS

  • No certificate change required (only use if you cannot update your certificates on the reverse proxy)

Automatic Configuration with HTTPS (Preferred)

  • / per domain

4. Update Certificate SANs required on Directors & Front-Ends

  • / per domain
  • / per domain

5. Enable Mobility Ports on Pool

You first have to enable the Mobility Ports on your pool in order to get the Mobility bits deployed.

Set-CsWebServer -Identity “” -McxSipPrimaryListeningPort 5086 -McxSipExternalListeningPort 5087

6. Preparation for Installing Mobility Service
First you need to Install Dynamic IIS Content Compression before updating your Lync Deployment

For Windows Server 2008 R2, at the command line, type:

Import-Module ServerManager
Add-WindowsFeature Web-Server, Web-Dyn-Compression

Download the Mobility Bits:

DO NOT RUN the McxStandalone.msi FILE

Instead you have to copy McxStandalone.msi to the Deployment Cache for Lync:
C:ProgramDataMicrosoftLync ServerDeploymentcache4.0.7577.0setup

7. Installing the Lync Mobility Bits

Rerun Lync Deployment Wizard
Start -> Microsoft Lync Server 2010 -> Lync Server Deployment Wizard

Then Click “Install or Update Lync Server System”

Then Rerun Step 2 : “Setup or Remove Lync Server Components”

8. Publish Lync Mobility via Reverse Proxy

Then Publish the on your Reverse Proxy server in order for your client to get the XML file with the Web Services URLs and then the Lync Mobile Client will use the Lync External Web Services URL to connect to the Lync Mobility Service.
More info on publishing via Microsoft TMG in this post:

9. Enable Lync Mobility Push Notifications

For Lync Mobile on Windows Phone 7 and iPhone push notifications are required when the Lync Mobile application is in the background in order to have full functionality.
How to Enable Lync Mobile Push Notifications:

Enhance Lync 2010 with new Mobility Services and Autodiscover Service

When you deploy the Microsoft Lync Server 2010 Mobility Service, users can use supported iPhone, iPad, Android, Windows Phone, or Nokia mobile devices to perform such activities as sending and receiving instant messages, viewing contacts, and viewing presence. In addition, mobile devices support some Enterprise Voice features, such as click to join a conference, Call via Work, single number reach, voice mail, and missed calls. By using Call via Work, users can maintain their work identity during a call, which means that the call recipient does not see the caller’s mobile number, and the caller avoids incurring outbound calling charges. With single number reach, a user receives calls on a mobile phone that were dialed to their work number.

When you use the Microsoft Lync Server 2010 Autodiscover Service along with the Mobility Service, mobile devices can automatically locate the URLs for Lync Server Web Services and the new Mobility Service regardless of network location. It supports client connections using either HTTP or HTTPS.

The Mobility Service Bits are available for download here

Lync server 2010 Cumulative updates 4 November 2011 CU4 is a requirement prior deploying the Mobility Service.

Lync 2010 Mobile Client are available Click here.

How to integrate OCS 2007 R2 CWA with Lync Server 2010 without Merging Lync Topology

I would like to share a few scenarios where you may need to deploy the R2 version of Communicator Web Access with Lync Server 2010. The core reason here is that the Lync Server 2010 contains a feature on the front end called Lync Web App. Eventually, Lync Web App will become a full featured web client, and however, today it is only used for users to join online meetings from the web. There is no ability to access Lync Web App from a URL and sign-in, or use it as an instant messaging too. This is planned to be released SP1 of the product, that timeframe is unknown right now.

To fill this gap, customers will have to deploy the OCS 2007 R2 CWA role, which can register against a Lync Server 2010 Pool. This post will show you how to configure OCS 2007 R2 CWA to work in your Lync Server 2010 environment without backardcompatiblesite (that is without merging 2007 with Lync topology).

Preparing the Environment

The most important thing of information in this blog, is that the Schema Prep for OCS 2007 R2 must be run in the environment before the Lync Server 2010 Schema Prep, or you will not be able to install the R2 version of CWA. If this is a deployment where there have not been prior installs of OCS 2007 R2, you will need to obtain this media, and run that Schema Prep before your Lync deployment starts, so it is very important to plan for this in your design/planning phase of your project.

Also, to get straight to the point for this blog, I assume you have prepared the schema in the correct order, have your Lync Server 2010 environment online, and have already installed the CWA Role on a server. I will walk through creating the virtual directory, as well as integrating it with your Lync environment.

Use this Deployment Guide to install and configure the CWA role

Creating the OCS 2007 R2 Virtual Web Server

One you have the CWA role installed, and a valid certificate installed on the server, you must configure the virtual web server that clients will access.

I will walk you through the process for creating an Internal web server, however the same process applies for the External web server. The difference being the types of authentication allowed, external allows forms, whereas internal also allows NTLM authentication.

Login to your R2 CWA server, and open the Communicator Web Access Admin Console

Once in the admin console, right click on your server and choose Create Virtual Web Server

Navigate through the setup wizard; choose only your Web Server Type, in my case I am choosing Internal. Make sure to select a valid HTTPS certificate when prompted. You must install the Certificate based on your server name (CWA Server name) and have the SAN created (, and update it on the Communicator Web Application Server

When you get to this section, Specify IP Address and Port it is important to note that this is the IP and listening port for your web server, not the communication between Lync and your CWA server, we will get to that next.

After entering a description for your virtual web server, the most important part of this wizard is the Specify a Listening Port section. This port defines what this application will listen on, and communicate with your Lync front end on. Because of the change in ports between OCS R2 and Lync, previously used values like 5070, or 5071 as you will see in older blog posts of mine do not work. You must pick a port that is not being used by an application currently. For my example I am using 4790.This can be any port, as long as your Lync front end and this server can communicate on that port.

Next, define your next hop pool, choose the appropriate Lync pool as your next hop and leave the port to default 5061.

Complete the wizard and start the virtual server.

Your settings should look similar to this

Now that you have completed this, you will need to make Lync aware of this server.

As you will find in the OCS 2007 R2 to Lync Server 2010 Migration Guide, you must merge your Legacy (OCS 2007 R2 components in to your Lync Topology). Our Main agenda is not to merge the OCS 2007 R2 component in to Lync Topology

Configuring Lync Server 2010

Now that we have our CWA server configured, we must make the Lync topology aware of this server. To do so, we will create a Trusted Application Server in our Lync Topology. This is possible through PowerShell using the New-CSTrustedApplicationComputer cmdlet, however I will be using the GUI.

First, navigate to your Lync front end and open the Topology Builder.

In this case we have retired the OCS 2007 R2 environment (Redeploying Communicator Web Access). Topology looks like below.

Right click on the Trusted Application server and choose New Trusted application pool

Select Single Computer pool on the Wizard

Select the next hop pool on the Wizard, click Finish

On the Topology builder you will see the Trusted Application Pool which has been Created

Right click where it says Lync Server 2010 and choose Publish Topology

Once you have published your topology, Open the Lync Server Management Shell and run the following command: New-CSTrustedApplication –ApplicationID –Port 4790 –TrustedApplicationPoolFqdn

This will create a trusted application to communicate with the trusted Application pool

To check execute: Get-CSTrustedApplication

You should now be able to login to CWA as a Lync Server 2010 user

How to Integrate Lync 2010 with Blackberry 5.0 SP3

Lync 2010 BES 5.0 SP3 Integration Guide

Now that RIM has released Service Pack 3 for the Blackberry Enterprise Server (BES) 5 we can now have Lync connectivity on our Blackberries. Let me tell you it works well. It took awhile to get it functioning properly but it was worth it. So if you don’t already have the Service Pack, go hereand get it.Lync integration with the BES requires the the UCAPI 2.0 (package 1, package 2) SQL Native Client, and OCS Core components (Available in OCS 2007 R2 Setup package in i386, do not install Lync 2010 core component which will not work) to be installed. That’s right RIM uses the OCS 2007 R2 components to accomplish the connectivity. If you ask me, this is very smart since the Lync has backward compatibility for OCS 2007 R2 components. This is a two for one deal for RIM. They can support OCS 2007 R2 and Lync using same interfaces.

Once you have the prerequisite packages installed (the installer will tell you it needs them) you can then make a decision on which provisioning method you wish to use. There are two methods and they are described in detail here. I choose to use the automatic method which worked perfectly.

Now go ahead and install the BES or upgrade it. This is out of the scope of this blog; follow the RIM documentation on how to do this.

Next, you’ll have to generate a certificate for the BES. More information can be found in RIM’s knowledge base. Here is the article you’ll want to review. Now you’re probably thinking great. I know what I need in the certificate but how do I create the request? I have a standalone CA in my environment it was quite simple once you know the syntax to use in the certificate request inf file. Here is a sample certificate request inf file for the BES.

Signature=”$Windows NT$”

Subject = “” 
Exportable = TRUE
KeyLength = 1024  
KeySpec = 1
KeyUsage = 0xA0
MachineKeySet = True
ProviderName = “Microsoft RSA SChannel Cryptographic Provider”
ProviderType = 12
RequestType = CMC



A few notes on the above inf file:

  1. Subject must be set to the FQDN of the Lync pool that you will be connecting to in the same format as above.
  2. Setting Exportable to TRUE allows you to export and transport the certificate with the private key to another server later if required or to export it and back it up. Set it to FALSE to disallow this.
  3. SAN must contain the FQDNs of the servers hosting the Lync pool and of the BES server that is providing the Collaboration service. The format must be the same as above.
  4. The sample file is for a standalone or external Certificate Authority. If you are using an Enterprise CA or need more information in general, take a look at this Microsoft knowledge base article. 
Once you have your inf file ready and are ready to submit the request to your CA run the following command the server hosting your BES:
certreq -new “path to your inf file” “path to the request file to generate” If you are running this on a 2008 or 2008 R2 server you will need to run this as an administrator. This should now generate the request file. You can then send that to your CA to have a certificate issued. 
Once you get the certificate back from your CA. You can install it. The easiest way to do this is to open up the MMC and add in the Certificates snap-in, select “Computer account”  and point it the “Local Computer” or another computer so long as it is the server hosting the BES. Now, open Personal, right click and select “All Tasks” and then “Import…” and follow the wizard through and be sure to select the file your CA gave you when prompted. Once the certificate has been imported, click on Certificates under Personal and then right click on the certificate you just imported and hit properties. Now, enter in OCSConnector as the “Friendly Name”. Click OK and you’re done with the certificate set up. The friendly name is essential, the BES seems to look for this so it knows which certificate to use.

Now here is where things went awry for me. I could log into Lync with the Enterprise IM client on my Blackberry and I could send messages but could I receive them or updated presence information? The answer was a resounding no. People that tried to send me messages got a 504 error reported to them in their Lync clients. To begin troubleshooting this, after covering all the basics, I fired up the Lync Logger and logged everything for SIP Stack. The SIP Stack log quickly showed there was a problem communicating with the BES Collaboration Service. The error I was seeing in the Log Analyzer was SIPPROXY_E_CONNECTION_FAILED.

Then I remembered, OCS 2007 R2 has problems running on Server 2008 R2! Our brand new BES was running on Server 2008 R2 no less. I quickly searched my bookmarks for all those KB articles I had saved knowing I would need them again one day. The first one that everyone should review is the OCS 2007 R2 on Server 2008 R2 Supportability document. In there it makes reference to requiring a hot fix for Windows. This is not required if you’re running Server 2008 R2 with Service Pack 1 on your BES server. Next, you need to update the OCS 2007 R2 components on the server. I suggest using the ServerUpdateInstaller package which can be found here. It will automatically detect which updates you need, download them and install them.

After all this, Lync/Enterprise IM on the Blackberry connectivity worked flawlessly. One last thing, if you need the Enterprise IM client for your Blackberry, grab it from RIM here. Enjoy your brand new Lync connectivity!