.

Lync 2010 SimpleURLs

One of the changes that Microsoft made when they were developing Lync Server 2010 was to implement a method of providing URLs to access the system that was much simpler than in OCS 2007. The new method is called SimpleURLs.

There are three URLs that need to be published, namely Meet, Dial-in and Admin.

The Meet URL is used for all conferences and is in the format of https://meet.contoso.com/username/meetingID.

The Dial-in URL allows access to the Dial-in conference webpage which displays dial-in conference numbers, DTMF controls and allows management of PINs and is in the format of https://dialin.contoso.com.

The Admin URL allows access to the Lync Control Panel. This URL is only for access within the organisation and is in the format https://admin.contoso.com.

SimpleURLs can exist at both the Global and Site level. They are configured in Topology Builder or, at the site level, with the Powershell Set-CsSimpleURLConfiguration cmdlet. Overall, the method to use these cmdlets is

$newUrlEntry = New-CsSimpleUrlEntry -Url "https://meet.contoso.com"

$newUrl = New-CsSimpleUrl -Component "meet" -Domain "contoso.com" -SimpleUrl $newUrlEntry -ActiveUrl "https://meet.conoso.com"

Set-CsSimpleUrlConfiguration Global -SimpleUrl @{Add=$newUrl}


 

A Meet URL is configured for each domain in the organisation, but only a single Dial-in and Admin URL is required.

There are three options on how to configure the SimpleURLs and the choice has implications for DNS records and Certificates.

Simple URL Naming Option 1

Simple URL

Example

DNS

Certificates

Meet

https://meet.contoso.com, https://meet.fabrikam.com, and so on (one for each SIP domain in your organization)

One DNS A Record per domain

Each Meet URL must be a SAN entry

Dial-in

https://dialin.contoso.com

One DNS A Record

SAN Entry required

Admin

https://admin.contoso.com

One DNS A Record

SAN Entry required


 

Simple URL Naming Option 2

Simple URL

Example

DNS

Certificates

Meet

https://lync.contoso.com/Meet, https://lync.fabrikam.com/Meet, and so on (one for each SIP domain in your organization)

One DNS A Record required for Contoso.com SimpleURLs and one per domain

Each Meet URL must be a SAN entry

Dial-in

https://lync.contoso.com/Dialin

N/A

N/A

Admin

https://lync.contoso.com/Admin

N/A

N/A


 

Simple URL Naming Option 3

Simple URL

Example

DNS

Certificates

Meet

https://lync.contoso.com/contosoSIPdomain/Meet

https://lync.contoso.com/fabrikamSIPdomain/Meet

One DNS A Record required

Single URL in the SAN entry

Dial-in

https://lync.contoso.com/Dialin

N/A

N/A

Admin

https://lync.contoso.com/Admin

N/A

N/A


 

Changing SimpleURLs may require DNS and Certificate changes. Whenever you change a simple URL name, however, you must run Enable-CsComputer on each Director and Front End Server to register the change.

SimpleURLs are limited to a-z, A-Z, 0-9, and the dot (.)

Some of the information in this post and a lot more besides is from Joe Calev's blog entry on the Complexities of SimpleURLs and the official Technet documentation.

Lync Web App


Lync Web App is the browser based client to allow users without one of the Lync clients installed to take part in meetings. When a user receives a meeting invite, such as https://meet.contoso.com/JoeBloggs/7Q3DWSYV, they can simply click on the Simple URL and join the meeting.

What happens on the server

When the meeting join request is received by the server, it first determines the preferred language, converts the Simple URL to a real URL (such as sip:JoeBloggs@contoso.com;gruu;opaque=app:conf:focus:id:7Q3DwSYV), checks if the request is from the Internet or internal network and launches a client.

Which client is launched

The meeting join scenarios are as follows:

  • If Microsoft Lync 2010 or Microsoft Lync 2010 Attendant is installed, the client starts and joins the meeting.
  • If neither Lync 2010 nor Lync 2010 Attendant is installed and Lync 2010 Attendee is installed, Lync 2010 Attendee starts and joins the meeting.
  • If no Lync Server client is installed, the meeting join page opens and gives the user the following options:
    • Use Lync Web App.
    • Download Lync 2010 Attendee. (This link is hidden by default.)
    • Use a previous version of Office Communicator. (This link is hidden by default.)
The meeting join page can be configured from the Lync Control Panel or using the Powershell cmdlets New-CsWebServiceConfiguration or Set-CsWebServiceConfiguration (with the ShowDownloadCommunicatorAttendeeLink and ShowJoinUsingLegacyClientLink parameters).

Meeting Join experience

The user will then identify themselves, either using corporate account credentials or as a guest. Dependent on the meeting policy, the user may then be held in the Lobby for admittance by the organiser.

Audio

For audio, there is the option to join an audio conference or to get the Lync server to call the user at a given phone number.

Operating System and Browser Requirements for Microsoft Lync Web App

Operating system
IE 8
IE 7
IE 6
FF 3.X
Safari 5.X
Safari 4.X
Windows 7 (32/64 bit)YesYesYes
Windows Vista (SP2) (32/64 bit) YesYesYes
Windows XP (SP3) 32-bit EditionYesYesYesYes
Windows XP (SP2) x64 EditionYesYesYesYes
Windows Server 2008 R2YesYes
Windows Server 2003 (except IA-64)YesYesYes
Windows Server 2000 (SP4)YesYes
Mac OS 10.4.8+ (Intel-based)YesYes

 

Silverlight 4.0 plug-in is required, for sharing. Only 32-bit versions of the browsers are supported (because Silverlight is only supports 32-bit) with the exception of 64-bit Safari which can run the 32bit plug-in. Sharing is only supported on Windows using an ActiveX control, Mac users can view only.

Copying Lync Server Policies

An interesting article on Technet that describes a method to copy Lync policies. It's upsupported but could be very useful to create a number of similar policies for an installation. It uses Powershell to export the policy to an XML file which can be edited before importing the modified file to create a new policy.

Lync Backup and Recovery


Lync depends on a number of infrastructure elements to function. The backup (and restore) strategy must take all these components into account.

Lync depends on

  • Active Directory (user authentication and authorisation)
  • SQL Server (Back-end database)
  • File Share
  • DNS
  • DHCP
Also, to function, Lync depends on Network, Firewall, Load Balancer, PSTN gateways and Certificates.


 

The Lync configuration can be exported by using Powershell cmdlets.

  • Export-CSConfiguration        - Export Lync topology, policies and configuration settings
  • Export-CSLisConfiguration    - Export Lync E911 configuration
The DBImpExp tool (found in the Support folder) can be used to export (and import) users and their associated data (contacts, client version and scheduled conferences)

The SQL Server databases used by Lync must be part of the backup regime.

Certificate backup is an overlooked element of the Lync environment. Generally, the certificates on internal servers and internally facing interfaces on Lync Edge and Reverse Proxy servers are issued by the corporate Certificate Authority. The Internet facing interfaces of the Lync Edge and Reverse Proxy are generally public certificates issued (and purchased from) an online certificate service provider.

Traci Herr, over on Technet, has written a series of scripts to backup Lync to a single directory which can then be secured through a standard file backup.


 

Testing Lync with Synthetic Transactions


One of the advancements in Lync over the previous Microsoft OCS product is the use of Powershell as the basis for configuration and administration. Microsoft has included a number of synthetic transactions cmdlets that can be used to test that Lync is functioning correctly.

To see the full list of test cmdlets available, get-command test-cs


 

Test-CsAddressBookService 
Test-CsAddressBookWebQuery 
Test-CsAVConference
Test-CsCertificateConfiguration 
Test-CsClientAuth 
Test-CsComputer 
Test-CsDialInConferencing 
Test-CsDialPlan 
Test-CsFederatedPartner 
Test-CsGroupExpansion 
Test-CsGroupIM 
Test-CsIM 
Test-CsKerberosAccountAssignment 
Test-CsLisCivicAddress 
Test-CsLisConfiguration
Test-CsLocationPolicy 
Test-CsOUPermission 
Test-CsP2PAV 
Test-CsPhoneBootstrap 
Test-CsPresence 
Test-CsPstnOutboundCall 
Test-CsPstnPeerToPeerCall 
Test-CsRegistration 
Test-CsSetupPermission 
Test-CsTopology 
Test-CsTrunkConfiguration
Test-CsVoiceNormalizationRule 
Test-CsVoicePolicy 
Test-CsVoiceRoute 
Test-CsVoiceTestConfiguration 
Test-CsVoiceUser 
Test-CsWebApp 
Test-CsWebAppAnonymous 

 

Most of these cmdlets require one or two SIP registered users to be provided as parameters. To set up the test users and register them as health registrars, the guys at Technet have published a script to create the required users and register them with Lync as test accounts and Registrars for health monitoring.

A simple test of IM can be run with Test-CSIm poolFQDN

Test-CSIm lync.contoso.com

TargetFqdn : lync.contoso.com

Result : Success

Latency : 00:00:02.5953597

Error :

Diagnosis :

 

The individual tests can be scripted, scheduled and the results entered into the Event Log or sent to an administrator in an email.

To collect the result and print it to the screen –

$Test_result = test-csim lync.contoso.com

$Test_result

 

To just access the Result property, use $Test_result.result which should print out Success or the result can be checked and an appropriate alert generated

$Test_result = test-csim lync.contoso.com



$a = Test_result.TargetFQDN+ " "+Test_result.error



if ($Test_result.Result -eq "Success")

{

"IM Working"

write-eventlog -logname Application -source LyncTestApp -eventID 3000 -entrytype Information -message "LyncTestApp no problem detected."

}

Else

{

"IM Failed"

write-eventlog -logname Application -source LyncTestApp -eventID 3001 -entrytype Information -message "LyncTestApp detected a problem. $a"

}

 

Note: First you must register your app with new-eventlog -LogName Application -Source LyncTestApp

 

Lync Server Supported Role Collocation

co
Microsoft supports a limited set of role collocation. The official documentation can be found on Technet.

On a Front End server, the Mediation and/or the A/V conference server can be collocated in a Production Environment. You can collocate the Archiving and/or the Monitoring role on the database server. The Edge server and the Director cannot be collocated with any other role. The File Share can be collocated with any database server, the Monitoring server or the Archiving server. The File Share cannot be collocated with the Front End Server.

The collocation of the Reverse Proxy or Exchange UM servers with any Lync role is not support.

RoleSupported role collocation
Front End ServerDatabase (SQL Server Express) for Standard Edition

Mediation server

A/V Conferencing Service
Database Server (Full SQL)Monitoring Role

Archiving Role

File Share

 

Lync Client virtualisation

Microsoft have published a document outlining best practice for running the Lync 2010 in a virtualised environment.