Hi again, how are you?
In Part 1 of this post we covered a general overview of Lync Software Defined Networking (SDN) and how the components work together. In Part 2, we will go through and install and configure each component. Hopefully.
Most of the info here was taken from the Lync SDN API 2.0 Release notes.
Lync SDN Manager (LSM)
Lets start with the Lync SDN Manager (LSM).
I am choosing to install the LSM first. It is noted in the Lync_SDN_API.CHM that you will need the URI for the LSM when you install the LDL, and if you do the LDL first, I guess you’re really up sh*t creek then. I beg your pardon? I offered you help. Your refused to take our money……tangent, lets move on.
First, you’ll need to download the Lync SDN 2.0 API from here. This package will include:
– LYNCSDNAPI.msi – This is the LDL, the listener that goes on the Lync Front Ends. Wouldn’t it be awesome if it were called LYNCSDNLDL.msi? I kid, I kid.
– Lync SDN API 2.0 Release Notes.docx – The doc I’m sponging off of to write this post 🙂
– Lync_SDN_API.chm – CHM for the Lync 2.0 API. Lots of great info here. Where all the knobs are defined.
– LYNCSDNMANAGER.MSI – This is the one we want. This is the management controller application installer.
Some general prerequisites for the LSM:
– The LSM should be installed on a separate machine from Lync itself. Can be virtualized.
– Minimum requirements are .NET 4.5, 4GB RAM, 4 cores running Windows Server 2012 or 2008. That’s what the CHM says, so apparently 2008/12 R2 isn’t supported. I assume I’m kidding. I installed on 2012 R2 and it seems fine so far. Disk space is dependent on the amount of logging you require.
LSM install (or, the Dance of the Next):
Note most of these steps are illustrated in the CHM but I will put them here again because 1) We are lazy hate opening CHM’s and 2) so I can pad this post to make it look more impressive 🙂
On the allocated LSM machine, launch the LYNCSDNMANAGER.MSI
1. Splash. Next
2. Eula. Next
3. Path. Next
4. Lync SDN Manager Settings. This is the most important dialog you will need to configure. The Submit URI (highlighted) is the URI of the Network Management Controller (Aruba in this case). In other words, if you are not the Network\Wireless Engineer, you will need this provided to you (and it should work, of course). Note that you can use a semicolon (;) or a comma (,) to separate multiple controllers. The Log Directory is a magical place, with swimming pools filled with Cheetos, or just the path to the log directory.
What confused me about this dialog was the “Please enter the URI(s) to which the Lync Dialog Listener Agent will send the data” Huh? I thought, according to the below diagram the LDL sends to the LSM, which then sends to the Network Controller. Or maybe I am just slow.
6. You may get a UAC prompt. Yes
Now that the LSM is finished installing, you will notice a few things on the machine:
1. The Lync SDN Manger Service and the Lync SDN API Event Log node under ‘Applications and Services’
2. In the default installation path for the LSM, or in the path you defined, (default: C:\Program Files\Microsoft Lync Server\Microsoft Lync SDN API) look for the SDNManager.exe.config file. As noted in the CHM, this is the file you would edit to modify items such as the “submitURI” (URI for the Network Controller in case you need to change it later on).
<add key=”submituri” value=”http://YOURLETSCALLITARUBACONTROLLER.contoso.com/webservice”> <add key=”backwardcompatibility” value=”false”/> <add key=”clientcertificateid” value=””/> <add key=”submitqueuelen” value=”100″/> <add key=”calltimeout” value=”6:00:00″/> <!– 6 hours –> <add key=”invitetimeout” value=”0:02:00″/> <!– 2 min –> <add key=”qoetimeout” value=”0:00:05″/> <!– 5 secs –> <add key=”endedtimeout” value=”0:01:00″/> <!– 1 min —>
<endpoint address=”http://localhost:9333/LDL” binding=“webHttpBinding” You will notice later on when we install the LDL, that the TCP port 9333 is the default listening port for the LSM and is defined here.
Note that the once the LSM service is started the machine should be listening on TCP 9333
Also, if you go to the :9333/ldl path on in a browser you should see the service answer.
The Log Directory path defined in step 4 above will show you connectivity information from the LDL’s
Note we didn’t discuss HTTPS at all. It is an option, and covered in the CHM.
Lync Dialog Listener (LDL)
In Part 1 of this post we talked about what the LDL is/does (who is this we, am I talking to myself?). I short, the LDL lives is installed on the Lync Front End Servers and sends Lync SDN info to the LSM.
Some general prerequisites for the LSM:
– Make sure that the Windows Service Control Panel is not open on any Lync Front End where you are installing the LDL.
– The account installing the LDL needs to be a member of the RTC Server Applications local group
– Once the LDL is installed and the service started, the Lync Front End Service should be restarted before the LDL is considered functional. This is important for change control planning. Which we all love to snuggle up with right? Note the dependency of the LDL on RTCSRV.
1. Splash. Next
2. EULA. Next
3. Path. Next
4. Lync SDN API Settings. Again, the salient dialog of the install. The ‘Primary SDN Manager URI’ is, you guessed it, the LSM URI. So you see, if you do this first, and don’t RTFCHM, you will get to this step and facepalm. You’re welcome. You have the option to define a secondary here as well. The Log directory as well. Like with the LSM, we can skip this or change it later by editing the config file.
5. Service Account. You can choose ‘Network Service’ or dedicated credentials. The CHM isn’t 100% on when you would use a dedicated creed so this may be trial and error until I can verify the reasoning.
Note: Its mentioned in the Lync SDN API Release Notes that the LDL service may not start as part of the installer. I have experienced this on every install so far. Just let it complete and restart the service manually or restart to bounce RTCSRV as well.
Like the LSM installation, you will see the LYNC SDN API Event log node in Applications and Settings.
LDL Service running.
Like with the LSM, additional and advanced configuration options can be found in the installation path (default: C:\
Program Files\Microsoft\Lync Sever\Microsoft SDN API). Here you will find ‘LyncDebugListener.exe.config‘.
By editing this file you can enable advanced logging, as well as the submitURI; The SDN Manager URI and port can be changed here.
<add key=”submituri” value=”http://yourSDNManager:9333/LDL/CallInfo” />
Additional configuration items and setting can be found in the CHM at ‘Overview of Lync SDN API 2.0, Configuring the Lync Dialog Listener’.
I hope this helps understand the installation process of the various components. Please feel free to comment with any clarifications or questions. In Part 3, we will look at the overall process, and the monitoring of network information on the controller side.