Lync

Skype For Business 2016 – Flashing Active Call Window

After rolling out Skype for Business 2016 with Enterprise Voice as part of the Office 2016 suite, we discovered a weird UI issue. This is nothing but a display problem, but can still be a little distracting and annoying!

On a certain call type – incoming PSTN calls – the little active call window would flash. This took some testing to realise, as logically there shouldn’t be a corellation with how a call got to your Skype for Business client, and a display issue with a call window; but it was repeatable time and time again, on multiple PCs with different logins.

I then found a Technet thread on the issue, but this was for the older Skype for Business 2015 client, which is pretty much a reskinned Lync 2013 client. That patch wasn’t applicable to Skype for Business 2016.

I then decided to log a Microsoft Premier case, which was rather quick and after showing them the problem and waiting a few days, they came back to say the problem was planned to be fixed in the Skype for Business 2016  – December 2016 patch.

We’ll see what happens in December and I’ll update this post, but in case others discover this issue, it’s not you and you’ll need to wait a few months :)

Blank Page For Skype For Business Web App

skypeforbusiness

I had an issue recently where remote clients couldn’t connect to Skype for Business online meetings – when clicking the link, all they saw in the browser was a blank page. The tab of the browser showed ‘Skype for Business Web App’ but the page area had nothing.

This didn’t seem to affect all external clients (internal was fine), when I tested on Windows Server 2012 R2 from home it worked fine. Windows 7 however was affected, and I’m not sure on Windows 8, 8.1 or 10.

This technet post mentions it breaks ‘Conferencing Functionality and PowerPoint Presentations’ as well as ‘ White Boarding, polling’ which was caused by KB3142030. Hoping that was our problem, I uninstalled the update and rebooted – but no luck.

The next check was around .NET framework 4.6.1 which is unsupported on Exchange and Skype for Business Servers (Lync too!) but we didn’t have that installed, due to using the suggested registry setting in the linked article to block the install.

After an evening of troubleshooting and rebooting servers and firewalls that didn’t help, our support found the problem for us – a misconfigured load balancer, that had an incorrect IP for one of the front-end Skype for Business servers. Updating the IP immediately resolved the issue.

Looking back on it, that explains why I had some clients work and not others – it just appeared to be in a pattern that was OS related due to the luck of round robin routing on a load balancer!

Due to the way Skype for Business handles the web requests, by first hitting an edge server then an internal front end server, you may have multiple load balancers in the way and get partial page loading.

Another lesson learnt!

Diverting Unassigned Numbers in Lync 2010

Lync 2010 with Enterprise Voice attaches a phone number to a user with a direct one to one relationship. This means that when a user departs, the account should get disabled along with any Lync attachments. In turn, this abandons the phone number that was attached to the user. All great by design, but what about external people that are still calling the number of the departed user?

You could leave the user’s Active Directory account disabled, leave Lync attached and configure it that way, but that’s a big hassle. Microsoft covers this scenario with a feature called “Unassigned Number”.

Unassigned Number lets you configure an Announcement on an entire number range. The idea is that if any extension in the number range configured (which can be a single number) is called and isn’t attached to a user, it will divert the call to either an Announcement or an Exchange UM Auto Attendant number. Generally just the Announcement is fine, because the Announcement can be configured to be nothing, but divert the call to wherever you want it to go afterwards.

The Announcement needs to be configured before you create an Unassigned Number Range, which can only be managed by PowerShell. The Unassigned Number Range can be created via the Lync Control Panel GUI or PowerShell which seems a bit inconsistent.

Creating an Announcement is rather easy still, with a great guide from TechNet here. The important bits are to give your Announcement a name, tell it which Lync Pool to use and give it a target SIP address to send the call to. An example command do this is:

New-CsAnnouncement -Identity ApplicationServer:lyncpool.mydomain.com -Name “Forward Announcement” -TargetUri sip:reception@mydomain.com

Note that if you use a direct phone number for the sip address, you need to append “;user=phone” or it won’t work, so the sip address should look like this: “sip:+61712345678@mydomain.com;user=phone”

Once that has been created (run a ‘get-csannouncement’ to see all the Announcements you have) you can then use PowerShell or the Lync Control Panel to create your Unassigned Number Range if you feel more comfortable there. A guide on how to do this is available from Microsoft Technet here.

All you need to do for the Unassigned Number range is give it a name, tell it the number range to start from and end (which if you have multiple sites, you’ll need multiple ranges), the name of the Announcement you want to use (i.e. where you want the call to divert to) and finally which Lync Pool server/Application Server the Announcement lives on.

Based on the Announcement above, this is what the Unassigned Number command would look like:

New-CsUnassignedNumber -Identity “Unassigned Number Range 1” -NumberRangeStart “+61712345000” -NumberRangeEnd “+161712345099” -AnnouncementName “Forward Announcement” -AnnouncementService ApplicationServer:lyncpool.mydomain.com

The number range start and end just need to be in standard international telephone format: +xx being the country code (+61 for Australia, +1 for US) and then the local number (In Australia we drop the 0 at the front).

Again, you can run a ‘get-csunassignednumber’ command to see how it’s been configured.

Once you’ve done the above, you’re set. Try calling any unassigned number that you have and it should divert to the sip address you configured on the Announcement. If they’re a Lync user (as you can enter a phone number and divert these calls out) they will also get a message with the incoming call saying it was diverted from the originally dialled number.

If you have a special requirement where a particular number range needs to go elsewhere, you can just create more Announcements and unassigned number ranges – the order of the unassigned number ranges will define which range rule is applied with a highest first approach.

I believe this is very similar in Lync 2013, and would recommend that anyone using Lync with Enterprise Voice set this up for easier management of their phone system, but also to make sure no important business calls are missed.

Polycom VVX 600 vs CX 600 on Lync 2010

A few months ago, Polycom released Lync firmware for their VVX series of phones. Check out the different models here

 vvx600Polycom VVX600

They differ to the CX series in several ways – the CXs here are specifically built for Lync while the VVX is a bit more generic and will work with other phone systems. This might sound bad, but it does give Polycom a bit more flexibility in the functions they can offer.

Taken from here is a comparison of the CX 600 and VVX 600 phones at the bottom of this post.

Before I go any further, it’s worth pointing out that Jeff Schertz is the pro at this stuff, and a lot of the information was sourced at his blog so you’ll see several links there.

This post will also assume you’re fairly familiar with the Polycom CX series (particularly the CX600) as most people with Lync have these, or at least know about them.

There are a few key benefits of looking at the VVX series:

Firstly, there’s no USB tethering requirement to the PC for advanced functionality. You do have to install a small piece of software called the BToE connector. I’d highly recommend installing this, as you’ll get a lot more functionality out of your phone the same way a CX would via USB Tether.

Another benefit is the webcam addon that plugs into the top of the phone. You can do video chats through just the phone, which a lot of people expected out of the CX series but wasn’t possible. This gets closer to matching some of the extra functionality out of Cisco’s phone range.

The phone has a built in basic web browser, as well as the ability to remotely manage the device via a browser too. The CX series has neither of these so from a managability and usability view, the VVX is very tempting.

Oh and of course, the VVX has touch screen! It’s quite responsive, so no complaints about that.

The negatives or considerations of the VVX series that I’ve noticed so far are:

No dedicated light for presence. I’ve gotten used to this on the CX series, a nice glowing green/yellow/red indicator to remind you of your own presence. There is a small indicator on the screen showing your current presence, but it’s not very obvious.

You’ll also need to set up Lync to have the firmware for your phones to be ready to use. Jeff Schertz has great instructions here on how to do this – yes it’s a fairly detailed article but worth going through all of it.

You can’t just type in names to do a lookup like the CX series which I miss. It’s possible to do via the directory with a few extra presses, so the flow of doing name lookups is no-where near as smooth.

The actual layout of the menu buttons isn’t as nice as I’d like, but then neither is the CX. I don’t think you could place a VVX phone in front of someone who’s used to a CX phone and expect them to just ‘get it’.

Tips:
Read everything on Jeff Schertz’s Blog http://blog.schertz.name/category/lync/.
The default admin password for these phones is ‘456’.
The management page for your phone is just http://IPOfPhone
Hold 1,4,9 for a factory reset.
Hold 1,8,3 for a restart, or 1,0,3 for a full reboot.
Userguide available from Polycom here

I’ve only started with basic testing and there are a lot of things to learn about the VVX series as there’s not too much in common with CX, but it is worth investigating with the large amount of benefits that come with it.

 

Comparison:

 

Polycom VVX600

 

Polycom CX600

Manufacturer: Polycom VVX600 Polycom CX600
Price Range: $250 – $350 $250 – $350
Supports Version: Lync 2010, Lync 2013 Lync 2010, Lync 2013, Lync Online
Qualify Date: March 2013 February 2013
Firmware Version Tested: Lync 2013 – Polycom firmware version 4.1.2.25646 Lync Phone Edition 2013
Recommended Use: Full featured desk phone Full featured desk phone
Audio Quality: Wideband Wideband
Speakerphone: Yes Yes
Headset Support: RJ-9 port wired/wireless, USB port and EHS RJ9 port
Display: 4.3-inch Color LCD 3.5 inch QVGA Color LCD
Power: PoE (AC sold separately) PoE (AC sold separately)
Ethernet Ports: 2 port 10/100/1000 2-port 10/100/1000
Wall Mountable: Yes Yes
UC Presence Indicator: No Yes
Message Waiting Indicator: Yes Yes
View Contacts and Corporate Directory Users Presence: Yes Yes
Easy Configuration with PIN Authentication: No Yes
CODEC Supported: G.711 (A-law and u-law), G.729AB, G.722, G.722.1, G.722.1C, iLBC RT Audio, G.711, G.722.1
LLDP: Yes Yes
Browser: Yes
Add Multiple People to an Existing Call: No Yes
Boss / Admin: No No
Branch Resiliency: Yes Yes
Call Park: No Yes
E911 Support: Yes Yes
Invite Address Book Contacts to Call: Yes Yes
Malicious Call Trace: No Yes
Merge Existing Calls: Yes Yes
Music on Hold: No No
Private Incoming Line: Yes Yes
Search Global Address List: Yes No
Search Lync Contacts: No No
Uninterrupted Call Transfer to Mobile Phone: Yes Yes
Assign Contact Presence to Button: Yes
Integrated Video, Sharing Applications, Whiteboard, etc.: No No
One click to join conference call: No No
Search Outlook Contacts: No
View Outlook Calendar: Yes
Lync Server Managed Updates: Yes Yes
Lync Server Integrated Manageability: Yes Yes
Single Identity (Active Directory): Yes Yes

Forwarding a Response Group Externally in Lync 2010

In Lync 2010, there are Response Groups. Read about them on Technet here http://technet.microsoft.com/en-us/library/gg398513.aspx – in summary they are a way of getting a call to a group of users, with the option of an nteractive voice response (IVR). There’s a whole lot of options around it, but sometimes a scenario comes up where you want to force all the Response Group calls to another number that’s not a part of your Lync system (such as a mobile phone).

Assuming you have a working Response Group already (if not, here’s a guide http://blogs.technet.com/b/ilvancri/archive/2010/11/23/creating-a-response-group-in-lync.aspx), you’ll need to go into the Queue tab for Response Groups, choose your Queue and tick the box for ‘Enable queue overflow’.

Next, change the ‘Maximum number of calls’ to 0 which means every call is an overflow call, and set the ‘Call action’ to ‘Forward to telephone number’. In the SIP address field, you can now enter the external phone number to transfer calls to.

This external number should be in the format ‘sip:internationalnumber@yourdomain.com’ so for an Australian mobile it’s +61 for Australia, then 4xx xxx xxx.

This seems simple so far, but when you test it you may find a problem where your call doesn’t get diverted. If you’re using a Lync phone, you may see a message around not having permission to make the call, or you may just get disconnected.

This is because by default, a Response Group doesn’t make calls so there’s no Voice Policy assigned to it. Voice Policies allow different features such as call forwarding and call transfers – all your normal Lync users will have one. Read more about it here http://technet.microsoft.com/en-us/library/gg412891.aspx

So, you’ll need to set a Voice Policy to your Response Group. If you’re not sure what Voice Policies you have, run the PowerShell command Get-CsVoicePolicy to list all of them, or Get-CsVoicePolicy username to see a particular user’s Voice Policy.

Once you’ve worked out the policy, Grant-csVoicepolicy -identity ResponseGroupName -PolicyName VoicePolicyName will apply the Voice Policy and will let the Response Group transfer calls out.