There are 10 entries in this Category.

Ultimate Lync / Skype for Business Registry Repository!

After search for days and days for a good “core” source for customizing the Lync / Skype for Business client (since I’m working with a client using Office 365 and we cannot use Client Policies), all I’ve found is sources here and there, a listing of “some” keys smattered on Technet, and the very limited list in the Office 2013 Administrative Templates, I’ve decided to compile my own list as a reference.

Includes the likes of EnableAppearOffline, DisableSavingIM, HidePersonPhoto, DuplicatePrimaryMonitorPresentingSetting, AlertsDisplayName, PublishResolution to name a few popular ones. Plus it includes the settings tab they’re references as well as usage. Something you won’t find anywhere else.

If you happen to come across one that is incorrect, or even a new one, I’d love to hear about it! Just drop me a comment and I’ll gladly add it in plus give you a plug 🙂

Here is the Repository!

IIS alone as a TMG replacement for Reverse Proxy?

After an arduous few weeks building my Lync 2013 lab, I finished a typical deployment plan of getting the internal workings complete (load balancing using the Citrix Netscaler Standard free licenses, redoing certificates after signing up with StartSSL on their Class 2 validation level) then moving on to the external access. I built an Edge server and am using that for external access plus federation with Google Talk but now it was time for the dredded reverse proxy.

It’s been some time since I’ve updated my topology so I wanted to take this opportunity to share what my lab environment looks like:


Besides my onsite OWA & Sharepoint being web-facing, the web-facing components for Lync 2013 are hosting in a remote datacenter, simply due to the fact that I am limited on inbound SSL and IP addresses from my provider. A VPN tunnel provided connectivity to the internet-facing side of Lync. Even the SIP trunks provided by Asterisk are hosted here.

Onsite however, you can see that a Citrix Netscaler (Hyper-V VM) is providing load balancing for my front end pool. The Persistent Chat pool, along with the Edge Server pool, are both single member nodes and DNS is setup in such a way to resolve to these machines VS a load balancer. Im sure those will come in time! Continue reading “IIS alone as a TMG replacement for Reverse Proxy?” »

Connecting Lync 2013 through XMPP Federation to Google Talk

One of the best improvements in my mind for Lync 2013 is the integration of the XMPP gateway into the product. If your organization does a lot of business with smaller organizations that use Google Talk, Jabber, etc, this is one of the biggest reasons why you’ll want an on-premise deployment, as Office 365 does not support XMPP federation.

Lync 2010 had you deploy the OCS 2007 XMPP gateway, and unfortunately with it’s limitation you only only federate one SIP domain per connector. So if you were a large organization with 10 SIP domains who all needed to talk to, say, Google Talk, you needed 10 different installations of this gateway.

To federate you need external access, so you need an Edge server. To PIC (public internet connectivity) federate, you also need a publically-trusted certificate on your Edge External connection. But there is a silver lining: if you only desire to federate with Google Talk, you can use a certificate from an internal CA. If you deploy your Edge using a single IP, you can use a single URL and a single SSL certificate (in environments with a single SIP domain).

To deploy the XMPP services, first we need to modify the topology.

Continue reading “Connecting Lync 2013 through XMPP Federation to Google Talk” »

Integrating Exchange 2013 + Lync 2013 for UCS & OWA integration

Update 7/13/2015 – Two and half years after the original post and finally some updates! I have had a chance to fully patch my environment to the latest updates for Exchange and Lync 2013. With some troubleshooting I have it working, and you’ll find updates scattered throughout this article.

I had previously written an article on how to integrate Exchange/Lync 2010 for IM capability via OWA, and now that Exchange/Lync 2013 have been released, Microsoft has maintained the compatibility but thankfully with an easier-to-achieve process.

Because of the Unified Communications Managed API (UCMA) 4.0 requirement on Exchange 2013 for the integrated UM role, both platforms have a similar set of prerequisite requirement. That was half the battle in 2010, because if you didn’t have the correct version of the patches, or didn’t install them in the right order, things would fail.

Along with OWA integration, Lync now supports a Unified Contact Store (UCS), which was somewhat hinted to in 2010 but didn’t come to fruition until 2013. This means that you don’t have to maintain a separate set of contact from Exchange, which was somewhat frustrating and cumbersome. This will be any admin’s friend in pushing out set groups of contacts 🙂
Continue reading “Integrating Exchange 2013 + Lync 2013 for UCS & OWA integration” »

Using Lync with an Asterisk Server & SIP Trunking

3/8/2013 UPDATE: I’ve since used these instructions to integrate with Lync 2013 and have had the same success with using Asterisk as my PTSN gateway. I’ve added some notes in the Trunks section based on my experience!

Back in January I had a client look to use a hosted PBX solution for their office, with a mix of desk and soft phones, but didn’t want to make the full on investment with Lync (boo). So as a compromise they went with an Asterisk box plus some inexpensive Cisco SPA phones. Without diverging too much off course, I went through a few iterations with SIP providers and eventually came to the realization that using a Lync certified partner AND have a diverse product offering were not two things that could exist in the SMB IT universe.

So I decided to setup a front end Asterisk server as the “PTSN” gateway, housing the SIP trunks and the extensions for the client, and thought to myself “Why can’t I just as easily tie Lync into this system?” After DAYS of research plus trial & error, I wanted to share my pain points to help out the IT community.
Continue reading “Using Lync with an Asterisk Server & SIP Trunking” »

Deep Diving into Lync, Part 2

This second part of the deep dive into Lync takes us into the foundation of our Lync deployment – the topology – as well as the key for connectivity outside of business wall. This is just one of the areas where Lync truly shines and gives it more hope in its future than its closest competitors (Cisco, etc). Even Gartner’s Magic Quadrant for Unified Communications, last rated in August 2011, has Microsoft leading the pack.


With Lync, Microsoft delves into a new direction by requiring the technical design of the environment, configuring settings, etc, before you even build the first server. Whether building a Standard edition deployment with a single server, or an Enterprise edition deployment with multiple farms and sites, planning ahead of time is now a necessity.
Continue reading “Deep Diving into Lync, Part 2” »

Deep Diving into Lync, part 1.5?

So I’ve decided that instead of spending a lot of time in part 2 dealing with the process of transitioning from Standard to Enterprise, I’d spend just a little time discussing the process.

It was ironic that an opportunity arose (through a post in the Microsoft Technet forum) to help another IT professional with the deployment in their organization around the same time I started this series. They had a Standard edition pilot and were transitioning to an Enterprise pool, but were running into problems being able to transition the SQL store. I wont give out any names or too many details, but it ended up being that they were trying to build a new Enterprise edition topology and not adding an Enterprises pool into their existing topology with the Standard edition pool. So make sure when you transition, use your existing topology!

I was able to recommend a great blog post by Tom Pacyk that helps in migrating the central management store to a new SQL server that is servicing your Enterprise pool. The one thing it is missing is that, if you are using SQL instances, that you use the -SqlInstanceName switch. So a fully working Powershell command would look like this:

Install-CsDatabase -CentralManagementDatabase -UseDefault
SQLPaths -SQLServerFQDN “” -SQLInstanceName “irdb01”

Finally the only other catch was that the account using to provision the new CsDatabase did not have the proper SQL permission. They failed with a message like this:

PS C:\Users\admin.user> Install-CsDatabase -CentralManagementDatabase -UseDefaultSqlPaths -SqlServerFqdn -SqlInstanceName “irdb

Installed SQL Server 2005 Backward Compatibility version is 8.05.2312
Connecting to SQL Server on\irdb01
SqlMajorVersion : 10
SqlMinorVersion : 50
SqlBuildNo : 2500
SQL version is acceptable: 10.50.2500.0
Default database data file path is G:\Program Files\Microsoft SQL Server\MSSQL1
Default database data file path is G:\Program Files\Microsoft SQL Server\MSSQL1
Default database log file path is G:\Program Files\Microsoft SQL Server\MSSQL10
Unable to access data drive as represented by \\\G$\P
ogram Files\Microsoft SQL Server\MSSQL10_50.IRDB01\MSSQL\Data

Once the SQL admin gave the necessary rights, the databases were installed successfully and they were able to use the Move-CsMoveManagementStore command.

Once the servers were recreated in the existing topology and published, they were able to begin installing the server roles, deploying certificates, and moving users between pools. This fun we’ll dive into more in Part 2!

Deep Diving into Lync, Part 1

Happy 2012 to fellow techs out there! 2011 was a very productive year, and while learning tons more about Exchange 2010 and getting my Enterprise Messaging Admin certification, 2012 is already shaping up to be another great year. I’m working a contract as a messaging admin for a large global company, who made the transition from Exchange 2003 to 2010 in the fall and I’ve been brought in to help put Exchange 2003 to bed, help improve on Exchange 2010, and roll out Lync during my engagement for presence and IM.

Last year with the release of Lync in the early part of 2011 I had the opportunity to go as far as deploying it in an Enterprise Voice scenario at my previous employer, and looking back was able to pinpoint some of the issues with the deployment. So my goal this first quarter of 2012 was to build my own, fully working Lync deployment as close to the books as possible. From there, I’m going to use the experience to take the test for the MCITP on Lync.

During my engagement with my previous employer I began to use my home network to build a Standard Edition deployment as proof of concept. Due to my lack of multiple static IP addresses with my ISP, lack of resources on my Hyper-V server for the number of VMs I needed, and lack of knowledge with TMG for proper access externally for my reverse proxy, the project was put on hold. With AD in place, a certificate server (which I used for my SCCM Native Mode deployment), a front end server and edge server, I at least had a working environment to “wet my whistle”. I wanted another Enterprise Voice setup that would be “business ready”. So I began to transition away from a Standard Edition deployment in my home to a full Enterprise Edition deployment hosted at my datacenter.

To wrap up Part 1 of the deep diving into Lync, I give you, my topology!

Now, to help make a little more sense of it, starting with my HOME site:

  • OMEGA – The FSMO-holding domain controller and Enterprise Root CA for my domain.
  • GAMMA – Another domain controller, SCCM server, and subordinate CA that my domain generates SSL certificates against.
  • TANGO – Exchange 2010 SP2 server with all roles, primarily for UM.

You can also see WHISKEY (my Lync Standard Edition server) and ECHO (my Lync Edge server) are greyed out. These were decommissioned from the Lync organization.

Now, moving on to the datacenter:

  • OSCAR – The Forefront TMG reverse proxy.
  • FOXTROT – The Lync Enterprise Edition Front End server.
  • BRAVO – The domain controller for the datacenter running SQL 2008 R2 (for the Lync Central Management Store) and Lync file store.
  • CHARLIE – The Lync Edge server.

With all of these pieces, I have my fully working test environment!

For Part 2 of deep diving into Lync, I’m going to drill into the nuances of migrating from Standard to Enterprise Edition, as well as my one-legged reverse proxy. Then in Part 3, we’ll look at the Enterprise Voice deployment and Exchange UM plus what to look for there.

Hold Times & Dropped Calls in Lync

In a recent issue I had with a client’s “ITSP” (internet telephony service provider) and their Lync enterprise voice setup whenever a user (whether it was the receptionist who is a member of the main number response group, or an inbound call to a DID) after 30 seconds of being on hold the call would end (some people would consider this as being dropped, but read on…)

After scouring Microsoft forums I came across this post that answered it all, and the issue stems back to the days of OCS. Depending on how the carrier is setup to respond to RTCP packets, even with a caller being on hold it still counts down against the session timer. There are some features in the trunk configuration that are enabled/disabled by default that by “flopping” then from True to False fixes the issue. Continue reading “Hold Times & Dropped Calls in Lync” »

Integrating Lync with Exchange 2010 SP1

I’m working on a large OCS->Lync / Exchange 2007->Exchange 2010 migration for a client, and on top of that they’re also deploying full VOIP – Polycom Lync Phone edition sets, SIP trunks through Broadvox, the works. Part of the big selling point was that they had been using OCS for instant messaging, and now that they are on Lync (with full external access, meaning IM anywhere in the world without a VPN) being able to have that internal presence anywhere, including OWA, just adds icing onto the cake.

While there are a number of articles that review this process, I’ve had the chance to digest the dozen or so and simplify them (especially getting the right prerequisite downloads) into an easy to follow process. Now when I implement the next one, I can have it done in “10 minutes or less”.

Continue reading “Integrating Lync with Exchange 2010 SP1” »