Deploying Lync Server 2013 Edge Server


The Lync 2013 Edge Server is a bit different. It is actually an application gateway located in the companies perimeter network. It is not a domain member and it has two network interfaces. One network interface is connected to the internal network, the other network interface is connected to the external network. This interface can have a private IP address (and thus NAT’ed) or it can have an external IP address. Whenever possible I recommend using this configuration since it is less complex to troubleshoot. A second recommendation is to assign three different public IP addressesto the external network interface, used by the various Lync services (we’ll get back on this later on).

image

The first step of course is to install the server where Lync is going to be installed. This can be Windows 2008 R2 SP1 or Window Server 2012. The following prerequisite software needs to be installed:
Note. For troubleshooting purposed I always install the Telnet Clientfeature on most Lync servers.
The Lync 2013 Edge server is not a domain joined server, but it does need a fully qualified domain name (FQDN). You can set this using the properties of the server.

image

After rebooting, logon to the server again and start the Lync server setup application to install the initial Lync server binaries (i.e. core components). When the core components are installed we can leave the server for now and continue with the Topology Builder on the Front-End server.

Topology Builder

Logon to the Front-End server and start the Topology Builder. Instead of creating a new topology download the topologyfrom an existing deployment and store the file on the local hard disk.
Expand the topology, right click the Edge node and select New Edge Pool. Follow the wizard and enter the FQDN of the pool and select the Multiple Computer Pool.
image

The next window is to select Edge features. You can use a single FQDN and IP address for all services, but then you need to use different ports (443/444/5061) but you can also use multiple URL’s with their own IP address, each using port 443. Since port 443 is open almost everywhere on the Internet this is my personal preference.
Select enable federation (port 5061)and when needed select Enable XMPP federation (port 5269)
image

New in Lync Server 2013 is the option to use IPv6 on the internal and the external interface so if you have an IPv6 infrastructure you can use it with Lync Server 2013!
Also on this page is the The external IP address of this Edge pool is translated by NAT optionif you don’t use public IP addresses on the external network interface. Since I’m using public IP address I do not check this option.
image

Enter the FQDN for the Access Edge Service, the Web Conferencing Edge Service and the A/V Edge Service. By default the ports 5061, 444 and 443 are used for these service but you can change them to 443 for all three services.
image

Follow the wizard and enter the internal IPv4 address and the internal FQDN of the Lync 2013 Edge server. Please note that the internal servers should be able to resolve this FQDN using the internal DNS! Follow the wizard and the three public IP addresses for the external FQDN’s.
The final steps is to connect the Edge Pool with the Front End pool which is called the Next Hop Pool in this case.
image

Similar to this is where the Edge Pool is ‘associated’ with the Front End pool, but now for external media traffic.
image

Click Finish to end the wizard, all information is now stored in the file on the local hard disk. The last step is to publish the information in the CMS. Right click the Central Site and select Publish.
image

Export the configuration

The Lync 2013 Edge server does not have access to the CMS since it is not a domain member. To initially get the information to the Edge server we have to export the configuration information, store it in a file and import this file in the Lync Edge server.
The only way to export the configuration information is to use the Lync Management Shell on the Front End Server. Enter the following command in the Lync Management Shell:
Export-CsConfiguration –File C:\temp\export.zip

Copy the file from the Front End Server to the Lync 2013 Edge server.
On the Lync 2013 Edge server start the Deployment Wizard and select Install or Update Lync Server System. In the wizard select Step 1: Install Local Configuration Store. The setup application determines it cannot access the CMS and automatically selects the Import from a file option. Enter the location of the file we just copied and click Nextto continue.
image

All software will automatically be installed, including SQL Express and all configuration information from the export file will be loaded in the SQL Express instance. This can take some time to complete.
When finished you can continue with Step 2: Setup or Remove Lync Server Components. This will install all Lync Server components that are needed, this information is read from the SQL Express instance that was installed in Step 1.
Step 3: Request, Install or Assign Certificatesis an important step. There are two certificates that need to be requested:
  • Internal certificate – issued by the internal CA and used for securing internal communication between various servers;
  • External certificate – issued by a (Microsoft certified) CA like Digicert. This certificate is used for securing external communication with external Lync clients or 3rd party Lync/OCS environment to setup federation. It is also used for server authentication.
Both certificates need to be requested using the offline mode, so create a .req file first and submit this to the appropriate CA (choose the option prepare the request now, but send it later (offline certificate request)).
For the internal certificate, the pool FQDN (i.e. edgepool.exchangelabs.nl) is automatically used as the Common Name for the certificate, but you have to manually add the server FQDN to the request file. Once the certificate is issued by the internal CA and you have it stored on the local hard disk of the Lync Edge server you can use the Import Certificatebutton to import the SSL certificate in the certificate store of the server.
After importing use the Assignbutton to assign the certificate to the Lync Edge services.
image

If you don’t see the certificate most likely the root certificate of the internal CA is not installed on the Lync Edge server causing the server not to trust the certificate. If so, import the root cert certificate of the internal CA on the Lync server and try again.
image

Repeat the same steps for requesting the external SSL certificate. The three server names (access.exchangelabs.nl, webconf.exchangelabs.nl and av.exchangelabs.nl) that were entered in the Topology Builder are prepopulated in the wizard. This should be sufficient, but I always add the pool FQDN (edgepool.exchangelabs.nl) to the certificate as well.
image

Store the .req file on the local hard disk of the Lync Edge server and request the certificate at your preferred SSL vendor. Personally I work a lot with Digicert, they are not too expensive, are supported by most clients (and UC Certificated by Microsoft) and their 247×7 support is great.
When requesting the certificate select the Microsoft Lync Server 2013 in the left pane and add the contents of the .req file in the right pane.
image

The CA will automatically retrieve the servers names and put these in the certificate.
image

When the request is submitted it’s just a matter of time before the certificate is issued and returned to use (via e-mail or via the Digicert portal). Store the certificate on the local hard disk of the Lync Edge server and import the certificate on the Lync Edge server using the Import Certificatebutton in the Deployment Wizard.
Use the Assignbutton to assign the Digicert certificate to the external Lync Services.
image

Use Step 4: Start Services to start all Lync services on this server and use Step 5: Service Status to check if all Lync services have started successfully.
image

The last step is to add two service records (SRV) to the public DNS so Lync clients that try to logon via the Internet can find the Lync 2013 Edge server and other Lync and/or OCS environment that you want to federate with can find the Lync 2013 Edge server.
The following SRV records need to be created:
_sip._tls.exchangelabs.nl 0 0 443 access.exchangelabs.nl

_sipfederationtls._tcp.exchangelabs.nl 0 0 5061 access.exchangelabs.nl

Where access.exchangelabs.nl is the FQDN of the Lync 2013 Edge server.
You can check the SRV records using the NSLOOKUP utility:
image

Easy to forget… you have to enable external access in the Lync Control Panel (by default this is disabled!). Logon to the Lync 2013 Front End Server and open the Lync Control Panel.
In the left navigation menu select Federation and External Access. In the top menu select External Access Policy and double click the Global Policy. Click Committo save all changes.
image

After committing select Access Edge Configuration and double click the Global Policy to open it. Check the Enable Federation and Public IM connectivity, check Enable partner domain discover and check Enable remote user access. If needed you can check the other options as well. Click Commit to save all changes.
image

The changes are saved into the CMS database but need some time to replicate to other Lync servers. In a multi location deployment with servers in multiple countries (check about a Survivable Brach Appliance or SBA) this can take some time. If you click Topologyin the left hand menu you can check the replication status.
If everything is up-and-running and synchronized you can (try to) logon externally via the Internet. The Lync client will automatically retrieve the correct server (access.exchangelabs.nl) and logon. And if you have port 5061 the federation will work as well.
image

In the client screenshot the Jaap Wesselius contact is on an external Lync (2010) environment with federation enabled.
My next blog will be about firewall ports, the Mediation Server and a SIP trunk, configuring TMG or reverse proxy through an F5 load balancer. I’m not sure which one to do next, so stay tuned Smile

Install Lync Server 2013


NOTE: Remember Lync Server 2013 Preview is not meant for live/production environments.
Below are the step by step instructions to install Lync Server 2013 Standard Edition Front End on Windows Server 2012. Here is an outline of what we will do:
  1. Prepare Servers
  2. Install Lync Server 2013
  3. Prepare Active Directory
  4. Prepare First Server
  5. Configure DNS
  6. Build Topology
  7. Install Lync Server System
  8. Add & Enable AD Users
  9. Login to Lync 2013

PREPARE ENVIRONMENT

Some prerequisites for you Lync system:
  • You will need 1 AD Server O/S and 1 Lync Server O/S
    • Lync requires 64bit O/S
  • This guide is Using Windows Server 2012 64bit
    • but Windows Server 2008 R2 SP1 should work fine as well.
  • Make Sure you have the below role running on your AD Server
    • AD-DS (Directory Services)
    • DNS
    • AD-CS (Certificate Authority)

tip1Tip: I suggest 2GB and 40GB hard drive for AD server and 4GB and 80GB for Lync Front End server for some quick guidance for a lab system.

PREPARE YOUR FRONT END SERVER

  • Server Requirements
    • Front End server must be joined to domain
    • FE must have UI installed
  • Install Silverlight (will save time later)
  • Front End Must have these Features
    • Roles
      • Web Server (IIS)
    • Features
      • Message Queuing | Message Queuing Services
      • Remote Server Administration Tools | Role Administration Tools | AD DS and AD LDS Tools
      • User Interfaces and Infrastructure | Desktop Experience  
      • Windows Identity Foundation 3.5
      • .NET Framework 3.5 Features
        • .NET Framework 3.5
        • HTTP Activation (Important!)
        • Non-HTTP Activation
      • .NET Framework 4.5 (all options)
    • Roles
      • Web Server (IIS)
        • Role Services
          • Common Http Features Installed
            • Static
            • Default doc
            • Https errors
          • Health and Diagnostics
            • Http logging
            • Logging Tools
            • Tracing
          • Performance
            • Static  Content Compression
            • Dynamics Content Compression
          • Security
            • Request Filtering
            • Client Cert Mapping Authentication
            • Windows Authentication
          • Management Tools
            • IIS Mgt Console
            • IIS mgt Scripts and Tools
          • Application Development
              • ASP.NET 3.5
              • ASP.NET 4.5
              • .NET extensibility 3.5
              • .NET extensibility 4.5
              • ISAPI extensions
              • ISAPI Filters
Install using Windows Server 2012 “Add Roles and Features Wizard”
FE-Install-Features-Roles-RoleServices
Reboot Front End and login as Domain Administrator.
tip1Tip: You can also install these prerequisites using Powershell scripts:
http://www.ehloworld.com/1697
http://y0av.wordpress.com/2012/07/31/lync-2013-prerequisites/

INSTALL LYNC SERVER 2013

Insert CD and Run Setup.exe. You will be prompted to install Visual C++, click “Yes” (below)
install-c
You can accept default location and click Install (below)
install-core
Accept Terms and click “Ok” to install.
license agreement
When install is complete (3minute wait time) you will have below apps on your server and the Lync Server Deployment Wizard (below) will appear.
apps after initial install
  • Lync Server Manager
  • Lync Server Deployment Wizard
  • Lync Server Logging (Note: Logging tool is missing from Lync 2013 Preview)

CautionNote: Microsoft Lync Server 2013 has a new centralized logging mechanism. This is the reason for the logging tool not being installed with Lync Server 2013 Preview. Jens Trier Rassmussen has a complete article on this subject athttp://bit.ly/S3DL4Q. Also, Randy Wintle has written a Powershell UI for this new central logging at http://bit.ly/Pbbp8v.
deployment-wizard

PREPARE ACTIVE DIRECTORY

Click “Prepare Active Directory”. (As noted in prerequisites, you will need AD DS and AD LDS Tools Feature installed on your Front End to complete this step.)
deploy wizard prepare ad
  • Step 1: Prepare Schema. (takes 1minute, and you may need to wait a couple minutes before this and step 2) 
  • Step 2: Verify Replication of Schema is not necessary if this is a Lab and there is only one AD server—you can safely keep moving to step 3.
  • Step 3: Prepare Forest | Next | select Local Domain  | Next (5sec)
  • Step 4: just keep moving
  • Step 5: Prepare Domain | Next (5sec)
  • Step 6: just keep moving
  • Step 7 below
prepare ad

Add Lync Administrative User To Admin Group
Add the Administrator to CSAdministrator  group (shownbelow)
  • CSAdministrator
NOTE: the user running setup needs to be Administrator of the Lync FE local machine.
add-lyncadmin-to-these-groups

PREPARE FIRST STANDARD EDITION SERVER

Now lets go back to the Deployment Wizard and click “Prepare first Standard Edition server”.
deployment-wizard-prepare-first-server
You will see the below “Prepare single Standard Edition Server” wizard window and you can just click “Next”. During this process the below will be installed:
  • SQL Server 2008 Express Edition will be installed
  • RTC databases will be created and populated
  • Lync Server installation files will be put in place
  • Etc
(Note: as noted in prereqs, Windows Identity Foundation 3.5 must be installed for this process to complete successfully)
Prepare-first-standard-edition-server
(Time: on new AD with no users, 6-10 minutes to Prepare first Server)

CONFIGURE DNS RECORDS

Lets open DNS Manager on AD server. Right click on your domain (in our case lab.local) under Forward Lookup Zones, click “Other New Records…” and scroll down to “Service Location (SRV)” and click Create Record.
dns step one
Will will add a DNS SRV record pointing at our Lync FE Server FQDN (FE01.lab.local in our case)
  • Service = _sipinternaltls
  • Protocol = _tcp
  • Port number = 5061
  • Host Offering the service =  fqdn of Lync Std. FE server or Pool. (In our case FE01.lab.local)
DNS-srv-record
Note: a DNS A record should already be pointing to Lync Front End Server (FE01.lab.local)
We will also create 3 DNS A Records. Right click, “New Host (A or AAAA)…” Add a DNS A record for
  • meet
  • dialin
  • admin
as shown below
DNS-A-record
Repeat this for meet and admin DNS A Records.
Now lets go back to the Deployment Wizard and click “Install Administrative Tools”.
Deployment Wizard - Install Admin Tools
This takes just a second to run.

BUILD AND PUBLISH TOPOLOGY

Next we will go to Start and run “Lync Server Topology Builder” (below).
start-topology-builder
Select New Topology (as shown below) and then give the topology some name (just any old name like “mylab.tbxml”)
new-topology
Now we will be define this topology.
Primary SIP domain: lab.local | Next
Create-a-new-topology-PRIMARY-DOMAIN
  • Specify additional supported domains: {nothing/none} | Next
create new topology-specify additional supported domains
  • Define the First site
    • Name: LabSite1
    • Description: Lab Site (not important, just something)
create new topology-define the first site
  • Specify site details
    • City
    • State
    • Country
Click “Finish”
topology-defined
Next we will define a new Front End pool. click Next
define new pool
Define Front End Pool
  • FQDN: FE01.lab.local 
    • Note: if this is a Standard Edition, this FQDN will be exactly the same FQDN as your FE server  (FE01.lab.local in our case)
  • Standard Edition Server
define-front-end-pool-fqdn
Next we will select Features for this Front End Pool
Check these features:
  • Conferencing
  • Enterprise Voice
  • CAC

tip1Tip: What works best for me is to NOT define ARCHIIVE and MONITOR servers till you are ready to actually install them. I suggest to NOT select Archiving and Monitoring now. We will do that after we have actually installed the SQL server and are ready to define those roles in topology builder.
define new front end pool select features

  • Select Collocated server roles
    • collocate Mediation Server: check
collocated roles
  • Associate server roles with this front End pool
    • Enable an Edge pool…: unchecked
Define SQL store
define new pool-define the SQL Server store
Define the file store: default, next (NOTE: You will need to manually create this network share and give rights to everyone. This wizard will not automatically create it for you)
file share
Let create the Lync file store share right now so we don’t forget.  You can create this folder where ever you want but for this lab we will create a folder called “Share” in C:\ of the Lync Server. Next go into the properties of the folder and give full access permissions to these groups:
  • RTCHS Universal Services
  • RTC Component Universal Services
  • RTC Universal Server Admins
  • RTC Universal Config Replicator
Click on the “Sharing” tab, click on “Share”.
share
In the “File Sharing” Wizard click the dropdown beside “Add” and select “Find People…” and in “Enter the object names to select” type RTC. Now press the CTRL key and select the above groups. Next you will need to change each group to “Read/Write” and click “Share” to finish the sharing Wizard.
share2
Specify the web services URL: Since this is a lab we can let the External Base URL the default.
define new pool-specify the web services URL
Specify where your Office Web App server is. (you probably don’t have one yet, just point to OWA.lab.local)
define owa
Now you are finished with the wizard.
topology
Edit properties of topology
Right click on “Lync Server 2013 (Preview) and then “Edit Properties”
topology-edit-properties
Scroll down to “Administrative access URL” (as shown below) and define the admin url ashttps://admin.lab.local and select Front End Server (FE01.lab.local in our lab)
edit-properties-off-topology-2

Publish Topology
Action | Publish | Next | Next
topology-publishing-wizard-complete
When finished you can “Click Here to open to-do list”. Since we are really good Winking smile we’ve already done these items. (if you took a shortcut, backup to see detailed step above)
Next-steps-after-topology-published

INSTALL LYNC SERVER SYSTEM

Deployment Wizard | Install or Update Lync Server System
deployment-wizard-instll or update lync server system
Now we will install some Lync Server System components, put Certs in place and Start Services:
  1. Step1 Install RtcLocal database
  2. Step2 Install Speechfiles, etc.
  3. Setup Certs
  4. Start Lync Services
install or update lync server system

  • Step1 Install Local Configuration Store (will install RtcLocal)
    • Run
    • Retrieve Directly from the CMS…
    • Next (5 minutes on new lab system)
  • Step2 Setup Lync Server components (will install Speechfiles, etc)
    • Run |
    • Next (15 minutes on new lab systems)
    • (NOTE: if you designated the archive/monitoring server, this will fail because SQL for those stores is not there yet.)
  • Step3 Request Certs (Note: if this is a lab setup, and you have parallel installed AD and Lync FE OS’s, remember the FE needs to have “gpudate /force” run or be rebooted after you stand up the AD CA so the CA is authoritative)
Run, select “Default Certificate” then click “Request”
cert wizard
Certificate Request: Next
Delayed or Immediate Request? Send the request immediately to an online cert authority
Choose a Certificate Authority (CA): Select a CA from the list
select a ca
Certification Authority Account: Next
Specify Alternative Certificate Template: Next
Name and Security Settings: some name
name and security settings
Organization Information: fill in Org and Org Unit
Geographical Information: fill in
Subject Name/Subject Alternative Names: Next
SIP Domain Setting on SAN: Select SIP Domain (example: lab.local) | Next
fe-cert-sip-domain-name
Configure Additional SAN: Next
Certificate Request Summary: Next
Executing Commands: Completed: Next
Online Certificate Request Status: Finish
Certificate Assignment: Next
Certificate Assignment Summary: Next
Executing Commands: Finish
Select “Default certificate” and click Assign certs
assing-certs
Now repeat the Certificate Wizard steps for the OAuthTokenIsuer.
Step 4: Start Services
After services are started you can open the Services to verify all the Lync Services are running.
lync services running
Goto Start | run Lync Control Panel
start-lync-control-panel
you will be asked to type in Administrator credentials. If this is new server you will also be asked to install Silverlight.
lscp

ADD AND ENABLE AD USERS

Next, we will move to our AD server and add several users to Active Directory (I suggest for your first test users to NOT use the Administrator, but 3 other users). In our case I added:
Now back to Lync Server Control Panel. Click on User | Enable Users. Now click the “Add” button and Add the 3 users.
enable ad users
Click “Enable” and if you get no errors, you should have 3 Lync users ready to login. Let’s open Lync 2013 and login!
lync2013
Wow you have installed Lync Server 2013!
Please note some pieces in Lync that you have not configured yet:
  • Monitor and Archiving Roles
  • Persistent Chat Server
  • Sharing PowerPoint requires a Office Web Apps Server deployed
Continue your lab with more articles in this Lync Server 2013 Step by Step Series:
Special Thanks to Community Contributors to this article: