Exchange 2010 UM cannot find Lync 2013 Edge pool

On my initial Lync 2013 project I encountered a problem with the Exchange 2010 UM server not finding a path to the Lync 2013 Edge pool. I was receiving the MSExchange Unified Messaging event 1438, as shown below.

I was able to resolve the issue by running the following PowerShell command on the Exchange UM server (replacing lync-edge.domain.local with your Lync Edge pool’s FQDN):
Get-UmServer | Set-UmServer -SIPAccessService lync-edge.domain.local:5062

 

MSExUM1438

Log Name:      Application
Source:        MSExchange Unified Messaging
Date:          11/14/2012 7:43:00 AM
Event ID:      1438
Task Category: UMCore
Level:         Warning
Keywords:      Classic
User:          N/A

Description:
The UM server has been configured to automatically use the Communications Server Audio/Video Edge resources associated with ‘lync.domain.local:5061’. Inbound and outbound calls involving remote users (located outside the enterprise) might be failing using the current Communications Server Audio/Video Edge resources. To correct the issue, set the SIPAccessService property using the Set-UMServer cmdlet. The Microsoft Exchange Unified Messaging  service will start using the Communications Server Audio/Video Edge resources corresponding to the new value.

 

Lync 2013 Front End Service cannot start

On my initial deployment of Lync 2013 at a customer site last year I ran into a problem with the database creation not completing when Publishing the initial topology with the Topology Builder. This was a net new environment for Lync and initially everything seemed ok. I was able to build the Front End servers and Lync roles installed, but I soon found that the Front End service wouldn’t start.

I was finding LS Server event 12308 and LS User Services events 32171, 32134 and 32212 occurring (documented below). When I went back to check the databases existed on the SQL Server, I found that only the CS databases had been created. I had to rerun the Install Databases in the Topology Builder to rectify the situation.

 

LSServer12308

Log Name:      Lync Server
Source:        LS Server
Date:          11/7/2012 1:14:13   PM
Event ID:      12308
Task Category: (1000)
Level:         Error
Keywords:      Classic
User:          N/A

Description:
A component could not be started.    The service has to stop.

Component: Live Communications User Services  Error code: C3EE7A08!_HRX!   (ES_E_FAILED_TO_CONNECT_TO_LOCAL_BACKEND!_HRM!)

 

LSUserServices30941

Log Name:      Lync Server
Source:        LS User Services
Date:          11/7/2012 1:14:13 PM
Event ID:      30941
Task Category: (1006)
Level:         Error
Keywords:      Classic
User:          N/A

Description:
Initialize failure.

Error code: C3EE7A08

 

LSUserServices32171

Log Name:      Lync Server
Source:        LS User Services
Date:          11/7/2012 1:14:13 PM
Event ID:      32171
Task Category: (1006)
Level:         Error
Keywords:      Classic
User:          N/A

Description:
Local backend store could not be acquired.

Sql Instance: (local)\rtclocal Database: rtc could not be acquired.

Cause: Connectivity issues with the database or issues with SQL Server.

Resolution:
Check the health of the (local)\rtclocal instance and ensure that it is fully functional.

 

LSUserServices32134

Log Name:      Lync Server
Source:        LS User Services
Date:          11/7/2012 1:14:12 PM
Event ID:      32134
Task Category: (1006)
Level:         Error
Keywords:      Classic
User:          N/A

Description:
Failed to connect to back-end database.  Lync Server will continuously attempt to reconnect to the back-end.  While this condition persists, incoming messages will receive error responses.

Back-end Database: rtcab  Connection string of: driver={SQL Server Native Client 11.0};Trusted_Connection=yes;AutoTranslate=no;server=sql.domain.local;database=rtcab;

Cause: Possible issues with back-end database.

Resolution:
Ensure the back-end is functioning correctly.

 

LSUserServices32212

Log Name:      Lync Server
Source:        LS User Services
Date:          11/7/2012 1:13:33 PM
Event ID:      32212
Task Category: (1006)
Level:         Error
Keywords:      Classic
User:          N/A

Description:
Lync Server Service Startup Pending as Backup Store BackEnd is not yet available.

Service Startup will be delayed until the Backup Store BackEnd becomes available.

Cause: Possible Issues with the Backup Store BackEnd.

 

Lync 2010 and Audio in RDP Sessions

For some unknown reason Microsoft saw fit to make audio in RDP Sessions unidirectional by default. This impacts remote Lync testing. However, there is a way to overcome this limitation, at least when the remote machine is sitting on a Hyper-V host.

First make sure that your RDP client has Local Resources / Remote Audio set to have both Remote audio playback and Remote audio recording as Play/Record from this computer.

RDPAudioSettings

On the remote Windows 7/8 computer, open Registry Editor and change the fDisableAudioCapture setting under \\HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp to 0 (zero).

fDisableAudioCapture

Now we can fully utilize audio in the remote Lync session,

Lync 2010 Conference Number Limit

If you generate an Online Meeting Request in Outlook, you will find that all numbers assigned for your Conference Region will be populated in the invite. However, if you generate the request via the Lync 2010 client’s Invite By Email, you are limited to the first three numbers. This has been confirmed by PSS.

Phonetic Names

For some people the spelling of their names doesn’t match the enunciation. It may bother these people when they hear their name enunciated incorrectly on conference entry/exit announcements, Outlook Voice Access prompts and outgoing message. The Text-to-Speech capabilities in Lync and Exchange UM are very good, but not perfect.

So, how can we help these people? We can force the text-to-speech engine to better match the actual name. Each user object in Active Directory (in Windows Server 2008 and later schemas) has attributes that can override the text-to-speech with phonetic spellings of the name. These are msDS-PhoneticDisplayName, ms-DS-PhoneticFirstName, msDS-PhoneticLastName, msDS-PhoneticDepartmentName and msDS-PhoneticCompanyName. By spelling the names as they sound and placing these spellings in one or more of these attributes will cause the text-to-speech engine to enunciate the names as the user wishes. This could also be used to override a full or foreign name with a shortened or localized name, such that Steven can become Steve.

ADSI-Phonetic

As an example, one of my co-worker’s first name is Sian. The name should sound like the colour cyan. So, I added cyan phonetic spelling to the msDS-PhoneticFirstName attribute in her Active Directory user object. Now, whenever she is using our company’s Lync and Exchange UM she hears her same as expected. The only fault with this is that we cannot control this in federated connections. When she joins a Lync conference hosted by a partner organization, it won’t have the phonetic entries and she hears she-an instead of cyan.

Happy New Year

Welcome to 2013 – the year for Lync to become the PBX replacement.

Welcome

Well, welcome to my new blog on unified communications. I hope to periodically post useful information here based on my experiences in the field in deploying Microsoft Lync and integrating it with various PBX products, including Cisco and Asterisk.