D(one) IT

IT Tips, Tricks & Such

Lync Pilot Deployment Health Analysis Tool

The Lync Pilot Deployment Health Analysis Tool is a hidden gem in the Lync 2013 Rollout and Adoption Success Kit (RASK: http://www.microsoft.com/en-us/download/details.aspx?id=37031). This tool is designed to display key indicators of the Lync Server infrastructure health. Used to assist in proactively identifying common failure codes and a snapshot of the overall call quality. The original version was part of the Lync 2010 Pilot Success kit (PSK: http://www.microsoft.com/en-ca/download/details.aspx?id=34965).

Pre-Requisites

  • Lync Server 2013/2010
  • Monitoring Role
  • Call Detail Records (CDR) & Quality of Experience (QoE) data capture policies
  • Excel 2010/2013 (with Macros enabled)
  • Minimum SQL permission for User running the tool is db-datareader for LCSCdr and QoEMetrics databases


LPDHA-1

Using the Analysis Tool

  1. Launch the correct version of the Analysis Tool, depending on deployed Lync Monitoring Database version being connected to (Located in the Operations folder in the RASK).
    LPDHA-2
  2. Setup tab
    1. SQL Server: Name of the Lync Monitoring Database SQL server and named instance if used. i.e. SQL01\LyncMon
    2. Use Windows Security: Select “Y” if using Windows intergrated Security or “N” for SQL authentication from drop-down.
    3. User ID: Username for SQL authentication. *Field only used if “N” is set for “Use Windows Security”
    4. Customer Name: Organization name displayed on generated charts.
    5. Monitoring Server URL: Location of monitoring server reports deployment. Used for clickable related report links on data analysis pages. i.e. http://sql01/ReportServer_LYNCMON/
      LPDHA-3
    6. Start Date: Defines the start date for SQL queries. Default is four weeks prior to current date.
    7. End Date: Defines the end date for SQL queries. Default is current date.
    8. Queries: You can choose to run SQL queries individually or all at once.
    9. Refresh Charts: Used to update charts manually after copying/pasting data into raw data tabs. *See Documentation Appendix for SQL Queries to export raw data using SQL Server Management Studio.
    10. LPDHA-4

  3. Reliability Report tab
    This tab shows the session success rate for each modality (Application Sharing, Audio, File Transfer, IM and Video) for peer-to-peer sessions and conferences. The Session Success Rate is determined by dividing the number of unexpected failures by the number of sessions for a given week then subtracting that failure rate from 100%.
    LPDHA-5
  4. Diagnostic_Comparison tab
    This tab shows the most frequently occurring failures in the deployment. This helps pinpoint deployment issues by listing diagnostic IDs of unexpected failures to be researched.
    LPDHA-6
  5. Call_Quality_Comparison tab
    LPDHA-7
  6. Diag_Summary_RawData tab
    This tab is used for storing data returned from SQL queries used in the Diagnostic_Comparison and Call_Quality_Comparison tabs.
    LPDHA-8
  7. Quant_Analysis_RawData tab
    This tab is also used for storing data returned from SQL queries used in the Diagnostic_Comparison and Call_Quality_Comparison tabs.
    LPDHA-9
  8. AudioDevicesByUser_RawData tab
    This tab is not used in any chart generation but provided as additional data to help troubleshoot identified issues. The data contains which devices users are using for calls and the number of calls with audio problems.
    LPDHA-10
  9. AvgPacketLoss_By_Subnet_RawData tab
    This tab is also not used in any chart generation but provided as additional data to help troubleshoot identified issues. The data contains network statistics for each of the subnets that calls have been initiated or received.
    LPDHA-11

Lync Operator Assistance

The Lync Operator Assistance feature was introduced to Lync Server 2013 in the October 2013 cumulative update (CU3: http://support.microsoft.com/kb/2809243), specifically the Call Park Service update 5.0.8308.556 (http://support.microsoft.com/kb/2881703).

This update enables administrators to provide support for the *0 Dual Tone Multi Frequency (DTMF) command in a public switched telephone network (PSTN) dial-in conference in a Microsoft Lync Server 2013 environment. After the update is installed, a PSTN caller is able to be transferred to an operator number that the administrator defines(http://support.microsoft.com/kb/2882802).

Operator Assistance allows a PSTN Caller the ability to:

  • Transfer to an operator in the event that they could not remember their conference ID
  • Transfer to an operator in the event that they are left abandoned in the lobby

To enable this feature, the administrator must provide a valid help desk telephone number in the OperatorLineUri parameter by using the New-CsDialInConferencingDtmfConfiguration cmdlet or the Set-CsDialInConferencingDtmfConfiguration cmdlet (http://support.microsoft.com/kb/2882802).

dtmf

At this time the TechNet Article for Set-CsDialInConferencingDtmfConfiguration does not list the OperatorLineUri parameter (http://technet.microsoft.com/en-us/library/gg398860.aspx).

The *0 DTMF option is enabled after populating the OperatorLineURI and restarting the “Lync Server Call Park” service on the Front Ends. There currently is no option to change the key assigned to the Operator Assistance DTMF command.

Keep in mind the Operator Assistance only works in the Lobby or before entering in a Conference ID when joining via PSTN. If *0 is entered within a meeting, a message will play “I didn’t understand your request, for help press *1”. The Help menu does not mention *0.

Vaddio A/V Bridge

Vaddio A/V Bridge provides the ability to integrate soft codecs like Lync and Skype into traditional A/V designs. http://www.vaddio.com/product/av-bridge
The A/V Bridge supports USB or IP streaming for Capture, Content Delivery or PC Conferencing applications and works with most A/V equipment.


Resources:

In the box:

    vaddio_unbox

  • AV Bridge
  • Pair of Rack Mounts
  • 18 VDC Power supply with AC power cord for North America
  • USB 2.0 Cable
  • Four rubber feet
  • Guide and Manual

Device:
vaddio_front

  • Video Input Detect indicator
  • LCD Display
  • Menu Navigation (Rotary Knob, Select and Cancel buttons)
  • Mute Controls (Video and Audio Mute buttons)
  • Audio Level Control (Rotary Knob)
  • Power/Reset (button)
  • Input LED indicators (Current Video and Audio input selection and signal characteristics)

vaddio_back

  • Power (5.5mm 0D x 2.5mm barrel)
  • DIP Switches (Factory Reset)
  • RS-232 Port (RJ-45)
  • USB Interface (USB 2.0 Type-B)
  • Network Interface (10/100 RJ-45)
  • Video Inputs (HDMI, BNC, HD DB-15)
  • Audio Input (XLR [Balanced], RCA [Unbalanced])

Setup:

  1. Connect AV Bridge to Network and Power Supply
  2. Find IP: Bridge uses DHCP by default and IP is visible on LCD Display
  3. Use a web browser to the access Bridge Management Tool (Default user: admin, Default password: password)
    vaddio_http_1
  4. Current version: 1.2.0
    vaddio_http_9
  5. Update firmware: 2.0.1
    1. Download AV Bridge Update (ZIP): http://www.vaddio.com/images/document-library/av-bridge-web-update-complete-2.0.1.zip
    2. Apply Update: System tab in Management Tool, Browse to downloaded update (ZIP), click “Begin Firmware Update and click “Continue” on warnings”
      vadio_update1
      vadio_update2
      vadio_update3
      vadio_update4
      vadio_update5
  6. Connect AV Bridge to PC:
    1. Connect Video Content Source(s) ***Note: Audio is not received over HDMI***
    2. Connect Audio Content Source(s)
    3. Connect PC (USB Cable)
    4. Auto install of USB drivers from Windows Update
      vaddio_usbinstall
      vaddio_usbinstalled

Lync:

  • AV-Bridge is now listed as a Microphone device within the Lync Audio Device options
    vaddio_lync_audio_options
  • UVC Camera is now listed as a Video device within the Lync Video Device options
    vaddio_lync_video_options
  • A Video call functions in the same way as a normal web camera
    vaddio_lync_call
  • If Video signal input is lost to the Bridge or Video Mute button is pressed, the SMPTE Color bars are shown.
    vaddio_lync_videomute

Skype:

  • vaddio_skype_call

Web Management Tool:

  • A/V Configuration
    vaddio_http_2
  • Streaming (Firmware 1.2 does not have IP Streaming Settings)
    • v1.2
      vaddio_http_3
    • v2.0
      vaddio_http_3b
  • Labels
    vaddio_http_4
  • Networking
    vaddio_http_5
  • Security
    vaddio_http_6
  • Diagnostics
    vaddio_http_7

Compatibility:

  • Software Clients
    • Lab Tested
      • Cisco Jabber
      • WebEx
      • Skype
      • Adobe Connect
      • Microsoft Lync
      • GotoMeeting
      • Vidyo Desktop
      • Polycom M100
      • Lifesize ClearSea
      • Google Plus
      • Panopto
    • Field Tested
      • IOCOM
      • Radvision Scopia
      • Apple FaceTime
      • Blackboard
      • Tegrity
      • Echo 360
      • USTREAM
      • Livestream
      • PresenterPro
      • Microsoft Expressions Encoder 3
      • VCON
      • AVAYA One
  • Media players (IP Streaming [HLS and RTSP]):
    • QuickTime
    • VLC Media Player
    • Real Player
  • Operating Systems
    • Windows 7
    • Windows XP SP3
    • MAC OS
    • Linux
  • Web Browsers
    • Internet Explorer 8+
    • Safari Rev 4 and 5
    • Chrome
    • Firefox
  • Supported UVC Resolutions
    • Resolution, Frame Rate, Aspect Ratio
    • 1280 x 720, 15/30, 16:9
    • 960 x 544, 15/30, 16:9
    • 704 x 576, 15/30, 4:3
    • 640 x 480, 15/30, 4:3
    • 640 x 360, 15/30, 16:9
    • 424 x 240, 15/30, 4:3
    • 352 x 240, 15/30, 4:3
    • 320 x 240, 15/30, 4:3
    • 352 x 240, 15/30, 4:3
    • 320 x 180, 15/30, 16:9
  • RGBHV/DVI Supported Resolutions
    • 1360 x 768 @ 60Hz – WXGA
    • 1280 x 800 @ 60Hz – WXGA
    • 1280 x 768 @ 60Hz – WXGA
    • 1280 x 720 @ 60Hz – WXGA
    • 1024 x 768 @ 60Hz – XGA
  • HDMI EDID Forwarding
    • 1080p/60/59.94/50/frames/s
    • 720p/60/59.94/50Hz frames/s
    • 1440 x 900@60Hz
    • 1360×768 @ 60Hz
    • 1280×800 @ 60 Hz

Summary:
With a MSRP of ~$2000 this inexpensive A/V Bridge allows the ability to sweat Legacy Audio & Video Conferencing equipment assets and tie into PC based software using standard UVC/UAC USB standards.

Expresso – Free Tool to Build Advanced Regex in Lync

Normalization rules in Lync use .Net regular expressions (regex) to specify how phone numbers in various formats are matched to patterns and translated to the E.164 format. (http://technet.microsoft.com/en-us/library/gg399071.aspx)

The Lync Server Control Panel provides a normalization rule builder, which helps walk through the process of creating basic regular expressions covering most scenarios. The normalization rule builder’s wizard lets you specify the pattern to match (starting digits/length) and translation rule (remove and/or add digits).

builder_basic

The builder is not meant for advanced regular expressions and the wizard is disabled once advanced items are added to the pattern to match.

builder_warning

Thanks to my colleague Dan Berry which pointed me to Expresso: http://www.ultrapico.com/expresso.htm
Expresso is a free download tool for building and testing regular expressions, it does require registration (free registration code) after 60 days.

expresso

Expresso Features:

  • Analyzes and describes your regular expression in a tree structure
  • Display all matches in a tree structure, showing captured groups, and all captures within a group
  • Build complex regular expressions by selecting components from a palette
  • Test expressions against real or sample input data
  • Maintain and expand a library of frequently used regular expressions

Also located on the site is additional Regular Expressions Resources: http://www.ultrapico.com/Resources.htm

Snom 8.8.3 BToE Beta Installation

This morning I received an email from Snom indicating the BToE beta has gone public.

The following are the steps I used to install snomXXX-UC-8.8.3.201309090236 firmware on my 821 Snom phone and pair using Better Together over Ethernet (BToE) with Lync 2013 client on Windows 8. Note: 821 was previously configured to register to Lync 2013 Server via Edge with my user account.

  1. Install Beta firmware using the phone’s admin page.
    snom-btoe-1
  2. Install BToE application on PC
    snom-btoe-2

    snom-btoe-3

    snom-btoe-1f

    snom-btoe-4

    snom-btoe-1e

    snom-btoe-5

    snom-btoe-1d

    snom-btoe-6

    snom-btoe-1c

    snom-btoe-7

    snom-btoe-1b

    snom-btoe-8

  3. Configure feature key on phone for Pairing. Format: Action URL –
    file:///xml/gui/decision.xml#var:dsc_title=BetterTogether&var:dsc_text=Start%20pairing%20now?&var:dsc_yes=1&var:dsc_no=1&var:action=btoe_init

    snom-btoe-9

  4. Set BToE_client_host using a web browser and a special HTTP Get request. format: https://phoneIP/dummy.htm?settings=save&btoe_client_host=PCIPaddress
    snom-btoe-1a
  5. Pairing Process, Run the Command Prompt as Administrator and run the “BteUrbDrMgr.exe” for the correct OS version (32/64bit).
    snom-btoe-10

    snom-btoe-11

    Press the BToE feature key on the phone and a PIN code is given to enter on the PC.
    snom-btoe-14

    snom-btoe-2a

    snom-btoe-12

  6. 821 now available as a primary device in the Lync client
    snom-btoe-2b

    snom-btoe-13

Impressions

  1. Pairing doesn’t require PC to be plugged into Phone, big for VDI and Remote Desktop scenarios.
  2. Command prompt running BteUrbDrMgr.exe must remain open or pairing disconnects.

Polycom UCS 5.0.0 BToE Installation

After seeing a tweet from Jeff Schertz about UCS 5.0.0 being available, I figured it was a good time to give it a try.

tweet-9-9-2013

The following are the steps I used to install UCS 5.0.0 on a VVX 600 and pair using Better Together over Ethernet (BToE) with Lync 2013 client on Windows 8. Note: VVX 600 was previously configured to register to Lync 2013 Server via Edge with my user account.

Jeff Schertz has a great blog talking about updated firmware on Polycom phones: http://blog.schertz.name/2012/10/updating-polycom-sip-phone/

  1. Found the device IP from the phone: “Home” button, “Settings”, “Status”, “Network”, “TCP/IP Paramerters”, “IP: X.X.X.X”
  2. Accessed the Web Administration page using a web browser: https://X.X.X.X
  3. Login as Admin using default password “456”
    vvxadmin
  4. Backed up phone
    vvxbackup
    vvxbackup2

    vvxbackup3

    vvxbackup4

    vvxbackup5

  5. Software Upgrade – Polycom Hosted Server

    vvxwsu

    vvxwsu2

    vvxwsu3

    Polycom’s Hosted server doesn’t contain UCS 5.0.0, time to go Custom Server.
    vvxwsu4

  6. Software Upgrade – Custom Server
    • Go to the VVX download page: http://support.polycom.com/PolycomService/support/us/support/voice/business_media_phones/vvx600.html
    • Download the UC Software 5.0.0 [Split] and the BToE Connector application
      vvxdl
    • File Info:
      • Polycom_UC_Software_5_0_0_release_sig_split.zip is ~440MB
      • Polycom_BToE_connector_PC_application.zip is 2MB
    • Unzip UCS 5.0.0 and upload to a web server
    • Created ucx.xml and placed in the web server directory with the firmware files.
      <?xml version="1.0" encoding="utf-8" standalone="yes"?>
      <PHONE_IMAGES>
        <REVISION ID="">
          <PHONE_IMAGE>
            <VERSION>5.0.0.6874</VERSION>
            <PATH>http://webserver.com/polycom/</PATH>
          </PHONE_IMAGE>
        </REVISION>
      </PHONE_IMAGES>
    • Check for Updates and Install using Custom Server
      vvxwsu5

      vvxwsu6

      vvxwsu7

      vvxswu8

    • Device reboots and installs firmware
      vvxucs5
  7. Install BToE Application
    • Connect PC to PC port on VVX
    • Run BToE Connector matching OS

      btoe1

      btoe2

      btoe3

      btoe4

      btoe5

    • Reboot PC

      btoe6

    • Launch BToE Connector (new icon on desktop)

      btoe7

    • Error due to Active media running on PC, unplugged Plantronics P820-M

      btoe8

    • Launched BToE Connector again, no error. Didn’t mind the Logitech BCC950 still connected.

      btoe9

  8. Enable Pairing from device: “Home” button, “Settings”, “Features”, “BToE”, BToE (Disabled), Select “Enabled”, “Back” button, “BToE Pairing Status” , press “Pair”. Message – “Successfully Paired”
    • PC installs driver
      btoe10
    • VVX Phone is shown as Primary Device in Lync
      btoe10b
    • Incoming/Outgoing calls to the VVX controlled by PC or device
      btoe11
  9. Lync Status Menu via Web Admin page Update: 9/7/2013
    vvxsp

Lync Script – Users with Desktop sharing

I frequent the Lync TechNet forums: http://social.technet.microsoft.com/Forums/en-US/category/lync and was recently asked how one would get a report for all users that have Desktop Sharing enabled.

I took the script from here: http://blogs.technet.com/b/nexthop/archive/2010/06/07/scriptuserpolicyassignments.aspx

Modified it to run for all users, detect only the Conferencing policy and write a line when EnableAppDesktopSharing is equal to Desktop for the user.

Sample output:
Jay Pritchett / Conferencing Policy: Global policy / Sharing: Desktop

Save the following as a ps1 file and run the script from the Lync Management Shell (example C:\Scripts\Get-UsersAllowedDesktop.ps1):

$y = @()

$userlist = Get-CsUser -ResultSize Unlimited
$x = Get-CsConferencingPolicy 

foreach ($user in $userlist)
{

if ($user.ConferencingPolicy -eq $Null)
    {
         
        $site = (Get-CsSite | Where-Object {$_.Pools -contains $user.RegistrarPool}).Identity
 
        foreach ($i in $x)
            {$y += ($i.Identity)}
          
                if ($y -contains "$site")
                    {
                    $Desktop = Get-CsConferencingPolicy -identity "$site" | Select -expandproperty EnableAppDesktopSharing 
                    $output = $user.DisplayName + " / Conferencing Policy: site:$site / Sharing: $Desktop"
                    }
                else
                   {
                   $Desktop = Get-CsConferencingPolicy -identity Global | Select -expandproperty EnableAppDesktopSharing
                   $output = $user.DisplayName + " / Conferencing Policy: Global policy / Sharing: $Desktop"
                   }   
    }
else
   {
   $ID = "tag:" + $user.ConferencingPolicy
   $Desktop = Get-CsConferencingPolicy -identity $ID | Select -expandproperty EnableAppDesktopSharing
   $output = $user.DisplayName + " / Conferencing Policy: " + $user.ConferencingPolicy + " / Sharing: $Desktop"
   }
if ($Desktop -eq "Desktop") 
 {$output}

$site = $Null
$Desktop = $Null
$output = $Null
}

The bulk of the script is to deal with a user’s Effective Policy because the get-csuser Cmdlet only shows Per-User Polices.

Get-CsUser -Identity Jayp |fl name, *policy

Name : Jay Pritchett
ExchangeArchivingPolicy : Uninitialized
VoicePolicy : CalgaryVoicePolicy
MobilityPolicy : BlockMobilityPolicy
ConferencingPolicy :
PresencePolicy :
VoiceRoutingPolicy :
LocationPolicy :
ClientPolicy :
ClientVersionPolicy :
ArchivingPolicy :
LegalInterceptPolicy :
PinPolicy :
ExternalAccessPolicy : BlockExtenralPolicy
HostedVoicemailPolicy :
PersistentChatPolicy :
UserServicesPolicy : UCSEnabled
ExperiencePolicy :

A rundown of the script.

  1. Grab all Lync users
  2. Individually check if a user has a Per-User Policy assigned, if not then determine if the user’s pool has a Site Policy, if not assume Global Policy is assigned.
  3. Run specific query determined by which type of policy is assigned
  4. Output formatted info
  5. Move to the next user in the list

This script can be easily modified to query different properties and/or policies.

TechNet Lync downloads and updates page redesigned

While browsing TechNet I noticed the Lync 2013 downloads and updates pages has been redesigned, now including items for Lync 2010 and OCS 2007 R2. http://technet.microsoft.com/en-us/lync/dn146015.aspx

Old Layout:
Oldsite

New Layout:
newsite

Some missing items:

Let me know if you notice other missing items.

Lync Connectivity Analyzer fails to open

I came across an issue where a fresh install of the Lync Connectivity Analyzer (http://technet.microsoft.com/en-us/library/jj907302.aspx) on Server 2012 wouldn’t launch. Looking in the Event Viewer I found the following errors.

Event: ID 1026
Source .Net Runtime
Application: LyncConnectivityAnalyzer.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.InvalidOperationException

Event: ID 1000
Source: Application Error
Faulting application name: LyncConnectivityAnalyzer.exe, version: 5.0.8308.289, time stamp: 0x5113842c
Faulting module name: KERNELBASE.dll, version: 6.2.9200.16451, time stamp: 0x50988aa6
Exception code: 0xe0434352

I tried the Lync Connectivity Analyzer on my Windows 8 desktop (known to be working) and had the same issue.

System Requirements for the Lync Connectivity Analyzer
•Windows 7 Service Pack 1, Windows 8, Windows Server 2008 R2 SP1, Windows Server 2008 Service Pack 2, Windows Server 2012, Windows Vista Service Pack 2
•Microsoft .NET Framework 4.5

This led me to believe a patch for .NET 4.5 might be the cause. After removing the July patches KB2840632 & KB2833958, I was able to launch the Analyzer again. Another user reported that just removing KB2840632 will resolve the issue.

Details of the KB2840632 Security Update: http://support.microsoft.com/kb/2840632

Updated Lync Connectivity Analyzer: http://blogs.technet.com/b/nexthop/archive/2014/01/21/announcing-the-release-of-the-updated-lync-connectivity-analyzer.aspx

Limit access to Office Web Apps Server (OWAS)

When deploying an Office Web Apps Server (WAC/OWAS) the default allow list contains no domains, meaning OWAS will allow file requests to hosts in any domain.

OWAS_domain_unlocked

This could allow unauthorized use of your server/farm if the Office Web Apps Server is accessible from the Internet (deployed in DMZ or Reverse Proxy to Internal). An external party could define the Office Web Apps Server pointing to your OWAS URL and start using your server for their workloads.
OWAS_External_server

OWAS_Topology_External_server

To lock down Office Web Apps Server, use the “new-officewebappshost” Cmdlet (http://technet.microsoft.com/en-us/library/jj219459.aspx) and set the domain parameter.

OWAS_domain_locked

Any external party trying to leverage your Office Web Apps Server will get a server connectivity issue error.
Blocked