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.

 

Why Bother With Lync if Skype Is Free?

Skype is free to use. Microsoft Lync costs lots of licensing money. They do the same things, so why would anyone pay for Lync?

This is the sort of question I’ve been asked more than once, from end users to high class Linux Engineers who are used to using the best fit free solution to their problem. As with most things, the choice between the two is dependent on what you want out of it.

They’re both owned by Microsoft now, and MS has started to integrate the two together. Some of the lines are starting to blur – but again, what does Lync offer that Skype doesn’t?

First, Skype is a consumer product. Lync is an enterprise product. Skype will update it’s desktop software whenever Microsoft’s severs say they’re ready. Lync will update when you tell your WSUS Server that it’s time to, after sufficient testing has been carried out. That’s the same reason nobody likes iTunes in an enterprise environment.

Lync will use your internal usernames and email addresses, while Skype needs an external Skype or Microsoft account. An I.T. Department can’t do as much to help someone who’s forgotten their username, had their account hijacked, blocked, eaten by a grue etc, while the Lync account is dependent on your Active Directory account and fully controllable (there is Skype Manager for businesses, where business accounts can be created from a CSV and some management overhead – but this is at a very basic level. See https://support.skype.com/en/faq/FA10519/what-is-skype-manager-and-how-does-it-work for further details).

Lync with Enterprise voice (with a compatible gateway) will allow you to use your existing company number range, and have Lync as your full PBX solution. Skype you have to buy a new phone number, and will be completely locked in to using Skype or losing the number. Vendor lockin is never a good thing.

Lync will fully integrate with your Exchange environment, with useful functions such as using Unified Messaging with Voicemail and sending the message back via email, conversation and call history saved back to each user’s mailbox, and fully reportable usage details via Lync’s SQL Reporting Services. Response groups for centralised numbers, simultaneous rings to multiple staff and other advanced voice functions make Lync a much fuller business product when compared to Skype.

Collaboration is much stronger in Lync too. Just being able to see if fellow staff members are available, on the phone, in a meeting, away for an hour or 24 hours automatically by their status saves everyone time. Screen sharing, whiteboards are incredibly useful extras. Both products have easily creatable multi participant calls and video chats, but at the Skype end you need to be a premium user for that function.

Lync can also host online meetings with external third parties, who only need a web browser and not a full Lync client or even a Lync account.

If you’re a complete control freak (as you should be in I.T.), you can have Lync on-premise with absolute control of your servers and the data they hold, or trade off some of the control with Office 365. Skype is a black box of mystery in regards to the server side. Redundancy, uptime and protection of data is a cross of the fingers since there’s not much else to do. If Skype ever goes down and your customers can’t contact you, you’ll have to hope someone at the Skype factory finds the right switch to flick.

There are probably other things I haven’t covered in this overview, but Microsoft Lync is an enterprise grade solution with everything you’d expect to get with that caliber of product, including the price tag.

Lync Issue – Deskphone Answers When Delegate Picks Up Call Via Headset

Hi,

Sorry I couldn’t make that headline any shorter! This issue was bugging us for a while, and finally found the answer.

 

Scenario:

Lync 2010 with Enterprise Voice. User A sets up User B as a Delegate for calls, and sets their phone to forward or simultaneously ring to User B via the Delegates option as per this screenshot:

delegates

User B has both a Lync desk phone tethered to their computer via USB, and a headset plugged into their computer. User B answers the call either by clicking on the incoming call toast, or pressing their headset button. Even though their Lync client is set to use the headset as the default device, the desk phone answers the call in speaker mode.

Resolution:

This seems rather weird, especially if you call User B direct they can answer the call straight to their headset. We spent quite some time testing this, trying different options, upgrading firmware, uninstalling/reinstalling anything we could think of until finally I found this technet post: http://social.technet.microsoft.com/Forums/lync/en-US/6e1f9d63-a403-4589-868f-1bd6a1a5e440/lync-delegate-bug?prof=required – scroll down to the last post by William Curley which has this exact problem.

The annoying part is that he claims that Microsoft classify this scenario as a ‘not supported scenario’. The best fix for this is to use Team-Call Group instead of Delegate, but you do lose the ability for Delegates to manage User A’s calls and make meetings on their behalf. This apparently applies to Lync 2013 also, but I don’t have that running to verify.

Lync also won’t like it if you set User A and User B to be delegates for each other, weird things start happening with who’s voicemail the call goes to.

The safest suggestion I have is to just avoid the Delegate option altogether if you use Lync with Enterprise Voice.

I hope this information saves someone a lot of time!

Update 17/10/2013: It looks like Microsoft have released a patch to fix this. http://support.microsoft.com/kb/2889646/en-au has the long title of “PSTN call is routed to an Aries telephone in speaker mode when a delegate answers the call in Lync 2010 by using a USB headset” which fits this exact scenario. It’s a part of the cumulative update for Lync 2010 October 2013 which is available for download, but not in the update catalogue for WSUS servers yet.