Tuesday, 2 January 2018

Microsoft Teams gets Pluginless Meeting Audio in Chrome and Edge

Hello Readers.  Happy New Year!

Just a quick post on a Microsoft Teams feature I'm sure you're excited about.  This is the ability to use a web browser for an audio call without the need for a plugin in Microsoft Teams.


This was enabled by Microsoft on 28th December 2017 along with a ton of other features in line with their aggressive roadmap.  This is just one of the features promised in Q4 2017.  The full list is below.

Updated FeaturesCurrent StatusUpdate Type
Microsoft Teams - Teams Interop PoliciesLaunchedStatus
Microsoft Teams - Blind TransferLaunchedStatus
Microsoft Teams - Call BlockingLaunchedStatus
Microsoft Teams - Call ForwardingLaunchedStatus
Microsoft Teams - Caller ID maskingLaunchedStatus
Microsoft Teams - e911 SupportLaunchedStatus
Microsoft Teams - Extension DialingLaunchedStatus
Microsoft Teams - HoldLaunchedStatus
Microsoft Teams - Multi-call HandlingLaunchedStatus
Microsoft Teams - Simultaneous RingingLaunchedStatus
Microsoft Teams - Speed dialLaunchedStatus
Microsoft Teams - Suggested ContactsLaunchedStatus
Microsoft Teams - VoicemailLaunchedStatus
Microsoft Teams - Translate user input to standard format phone numberLaunchedStatus
Microsoft Teams - Audio Conferencing in over 90 countriesLaunchedStatus
Microsoft Teams - Mute Other ParticipantsLaunchedStatus
Microsoft Teams - Contact GroupsLaunchedStatus
Microsoft Teams - Messaging PoliciesLaunchedStatus
Microsoft Teams - Unified PresenceLaunchedStatus
Microsoft Teams - Enable Existing Calling Plan SupportLaunchedStatus
Microsoft Teams - Call Quality Diagnostic PortalLaunchedStatus
Microsoft Teams - TTY SupportLaunchedStatus
Microsoft Teams - Client SupportLaunchedStatus
Microsoft Teams - SfB-Teams CallingLaunchedStatus
Microsoft Teams - Interactive TroubleshootingLaunchedStatus
Microsoft Teams - Edge, Chrome Browser Support for meetingsLaunchedStatus
Microsoft Teams- Application SharingLaunchedStatus

As you can see, that was quite a list.  I haven't had a chance to test all of them, nor do I have the means to test some of them since my personal Office 365 tenant only has a single user account.

I've tested calling in Chrome and Edge and each offers a slightly different experience.

Chrome

In Chrome, you get support for audio only in a scheduled or ad-hoc meeting.  One thing that surprised me was that it was possible to invite a Business Guest into the meeting.

The first time you use it, you'll get a popup asking if you want to allow Chrome to access your Mic and Camera.  Unfortunately I didn't get a screen grab of the popup in Chrome.  I'll update if I get one later.

Once you're in a meeting you can mute or hang up.  The video and sharing buttons are there, but greyed out.  If you click on one you get a popup saying that the feature is coming soon and it offers you a chance to download the app.

You also get the cog where you can choose your speaker and mic.

Chrome only works for meetings, which is what the roadmap item says you get.  To start a meeting, just go into one of your teams and on the bottom of the conversation tab you'll see a video icon.  This is the meet now button (should be more prominent!).

Click that to open up the Meet Now dialog, then click meet now.

Once you're in the meeting, you can invite someone.  You'll get a bigger list of internal and guest accounts.  I have one in this team.

As a participant, using the full client, I get a call toast asking if I want to join the call.

Once I'm in, I have more controls including Desktop and application sharing, and video is enabled by default.

Video is enabled in the full client, however the Chrome user can't see the video stream.  You get a broken web image icon and box.  

Sharing does work.  The Chrome user can see what the full client is presenting full screen, which pushes the video to the bottom right, with the same broken image link.

A good start, I think you'll agree.

Edge

Edge, being a Microsoft product, gets a lot more.  

The first time you open Teams in Edge, you get a popup asking if you want to allow Edge to access your webcam and microphone.  You read that correctly, webcam!

For starters, you get the calls app on the left bar.

You can use the calls tab to place calls to internal Teams users, I presume, Skype for Business Online users, Business Guests...  

...and PSTN numbers.  Complete with hold, transfer and keypad controls,

This means you can now use Edge for internal Teams to Teams, Teams to Skype Online (in the same tenant), Teams to Teams Business Guests and Teams to the PSTN (with Phone System and Calling Plan add-on licensing).

As I mentioned above briefly, Edge also supports video calling as well as audio.  
Just choose a contact (Teams internal or Guest or SFBO) and click video call.
 
The callee will get a toast which allows you to accept with audio, video or reject.  Click Accept with video to accept with audio and video.

Once in the call, you get the familiar cog allowing you to switch Microphone and Camera.  Unfortunately, you don't get the control for speaker like you do in the full desktop app.  I can only assume this is coming. 

Once you're in a video call you get all the normal controls for hold and transfer as well as full screen video and picture in picture for your own webcam.  

Sharing is still disabled.

So you get audio and video in ad-hoc and scheduled Teams Meetings, peer to peer and multi-party calls between internal Teams and SfBO users and external Business Guest users and calling to and from the PSTN.

A good start for sure!  Better, even, than Chrome, but not yet perfect.

Incidentally, I also tried in Firefox and got muddled up in the ADFS loop.  I wasn't able to change from my Windows login account to my personal Office 365 tenant.  I've only tried from a domain joined machine though.

Oddities

There were a few oddities in my experience.  Once I was in an audio and video call between the desktop app and Edge, I was unable to change my audio device in the desktop app.  In fact, no matter what I had selected, it only used the Windows system default.  

Also, because I was only able to change the Microphone and not my speaker, I had a hard time figuring out what speaker it was using.  

Curious to know if you had similar or others I haven't spotted in my testing.

Wrap up

All in all this is a great feature.  We've been waiting for WebRTC for Skype for Business forever with no launch date in sight.  The fact that they actually delivered this feature in Teams first reaffirms Microsoft's commitment to push Teams going forward.  Maybe it was just easier to implement for Teams since it uses a new set of APIs when compared to Skype for Business.  I do know that others have got WebRTC working for Skype for Business Server meetings including Pexip.  So if they can do it, why can't Microsoft?

That's all folks!

___________________________________________________

Thanks for reading.

If this or any other post has been useful to you please take a moment to share.  Comments are welcome. 

Tuesday, 12 December 2017

Product Review: Remeo with SEFAUtil Server for Skype for Business

Hello readers.  Hope you're well.

As you know by now, I love testing new products that enhance the functionality of Skype for Business.  When I find something that stands out, I like to share it with the community.

This review is unique in that it is actually for two products that work together to form a great solution.


Background

If you use Skype for Business, you'll know that it is simple and easy to change your own status, welcome note, forwarding and no answer call flows.  

Skype for Business status is something that can change a hundred times throughout the day especially if you have Exchange integration.  

When you add a meeting to your calendar and you choose to show you as Busy... 

...Skype for Business uses this and sets your status to Busy for the duration of the meeting.  Once the meeting is finished, your status switches back to Available automatically.  

When you're in a call, Skype for Business shows you as, you guessed it, "In a call".  When you hang up it resets to what it was before you answered the call.

If you're using Skype for Business for telephony, you also have the ability to configure call forwarding options.

You can set up simple forwarding for all of your calls or set simultaneous ringing to call your mobile as well as your Skype for Business client.

With Team Call Groups, you can also set up a simple personal ring group to handle calls when you're unavailable.  

With Delegates, you can set up a Boss/Admin function where a PA or secretary can answer calls for their bosses phone and even make calls for their boss.

Then once you've configured your other numbers and Team Call Groups, you have a simple panel to enable and disable things with a couple of clicks.

You can even change forwarding and simulring on the go using the Skype for Business mobile client.

It's all very simple and easy to use.  As long as you remember to use it.  

What do you do when you forgot to change your forwarding options and now you're out of the office with no access to a PC or smart phone?  Do you call a colleague, hand out your password and get them to log in as you and change your settings?  Probably not without upsetting the GDPR police. 


So what now?

Microsoft made a tool which allowed admins to make some of these changes.  It runs from the command line on a trusted app server which is integrated with Skype for Business.  This is, of course, the Secondary Extension Feature Activation Utility, SEFAUtil for short.  SEFAUtil is part of the Resource kit.  It was built on UCMA3 and allows admins to manage users' call forwarding settings.  An admin with the right permissions coudl turn on and off call forwarding and simulring, modify delegate and team call groups and set no answer times all from the command line.

It hasn't change much, if at all, since Lync 2010 days when it was first launched and most people hate it.  Admins still use it because it's there and free of course.  Over the years I have seen people write GUI's for it and even use it as the basis for other tools like the Call Pickup Group Manager from MVP James Cussen (@MySkypeLab).  SEFAUtil was necessary as a back end for the tool early on, however that changed with Skype for Business CU1 and now the tool uses the SfB PowerShell scripts as the back end.


Enter the alternative.  

The new alternative is called SEFAUtil Server.  This started as a community project for Office Servers and Services MVP Matt Landis (@matthewlandis) and was originally called SDR which stood for SEFAUtil Done Right.

SEFAUtil Server is available for download from the TechNet Gallery.  Until recently, this was available as a community edition which enabled a small subset of features for an unlimited number of users as well as an enterprise edition which enabled the rest of the features.

Landis recently announced some changes to the licensing.  The original feature limited Community Edition has now been replaced by a new community edition which has all of the features of the enterprise edition for installations with less than 50 users.

SEFAUtil Server gets installed as a trusted app in a similar manner to SEFAUtil from the ResKit.  MVP Greig Sheridan (@greiginsydney) has a great post here with the installation instructions.

SEFAUtil Server is basically a refreshed version of the old SEFAUtil with a ton of additional features.  Since this review is about using SEFAUtil Server as the back end to Remeo, I'll leave it there.  I'll write a separate review of SEFAUtil Server soon.

On with the show!


The review: Remeo with SEFAUtil Server

What is it?

Remeo is a product from Colima that allows users to change the reachability settings for other users using the Skype for Business 2015 client.  

Remeo is a client application which is backed by the features of SEFAUtil Server.  It installs as an add-on to the standard Skype for Business client to add additional menu items to the client as well as a CWE based UI for reading and changing the settings.

Why do you need it?

Remeo is for companies that want to be able to delegate permissions to change forwarding, simulring, team call groups and delegates, contact lists, presence and more to users that aren't administrators.  This could include managers, supervisors, team leaders, personal assistants and office managers, among others.

Now you have it

Delegating these controls to users means that they don't have to make these requests of the administrators.  It also means that non-admin users don't have to log on to the Trusted App server where SEFAUtil or SEFAUtil Server is installed and try to get familiar with the command line or PowerShell.  

Although I'll admit that would be fun to watch.

To use it, you'll need to install SEFAUtil Server on a trusted app server and the Remeo client on computers of users that you want to grant the permissions to.  Then you tell the Remeo client to use SEFAUtil Server as the back end, and it works straight away.

What can it do?

For starters, you can use the Remeo client as a "skin" to the forwarding settings already in your Skype for Business client.  While this isn't strictly necessary since you can just change your settings in the normal way, it is pretty cool.

Click on the menu gear icon -> tools -> Call Forwarding Settings

This opens the call forwarding window for your user account.

What you get is a graphical representation of how calls will flow to you.  With call forwarding turned off, you can adjust the timeout for calls that you don't answer.

You can change the target from voicemail to a number or a contact.

Clicking on number opens the form to add the number to send your calls to.

Clicking on contact, opens a search and select box with a list of your contacts to choose from.

When you turn call forwarding on, however, you get some additional settings.  You can choose from forward my calls and simultaneous ring.

In forwarding, you can choose delegates, number or contacts.

In Simulring, you can choose delegates, team call group and number.  

When you choose number it opens the same number form.

If you choose delegates or Team it opens the delegate and team call group form.

Here you can configure delegates and team call groups in the same form, which is really cool, along with the timer for ringing the group.

Here's an example of a simulring.  It shows that calls ring you for 5 seconds before ringing the team call group, then after 20 seconds, go to voicemail.  You'll see that the team call group also shows the members.

While using Remeo for changing forward settings for yourself is cool, the real point of Remeo is to allow one to change settings for someone else.

From the Skype for Business client, simply right click on a user and you'll see a new menu item in the list.  Change Reachability Settings.

This opens the Reachability form for the selected user.

The form itself is similar to the forward settings form for your own account with one addition.  This is the ability to change the personal note for the user.

I won't go through the options for changing the settings again because everything else is exactly the same as with the forward settings for your own account. 

Suffice it to say that it just works.  I had the client open on another PC, logged in with the account I was changing settings for and the changes were more or less instant.

I also thought it would be worth mentioning permissions, because I know someone will ask.  You can control who has access to change permissions using Role Based Access Control (RBAC) in Active Directory.  Click here for more info.

There are three ways to grant permissions to users:

  • Users who are in the same Remeo AD-group(s)
  • Users who are in a Skype for Business Delegation relationship
  • Users who are in the same Skype for Business Team-call group

Is it any good?

As I said above, it just works.  SEFAUtil Server took just a few minutes to install and register as a Trusted App Endpoint on an existing Trusted App Server.  The Remeo client installs in seconds.  Once installed and assuming you have the correct permissions, you can start changing settings for your team, your boss or the entire company.

What's wrong with it?

I haven't found anything.

What would I change?

The only thing I would like to see in the client interface is an apply button which doesn't close the form.  This would give you the ability to make a single change, and apply it before moving on to make more changes.

I'd also love to see the ability to use the Remeo client to sign other users in and out of Response Group Service agent groups.  This would be good on an individual basis and great if it could be done for multiple users at once.

Verdict

I'm sure you've guessed by now that I think the tool is fantastic.  It's a great addition to the list of Pro tools for Skype for Business Server and something I know people want.

As I said, the ability to use it to change your own settings in a single screen is cool, but unnecessary.  The real power is that users can change settings for others in your company.

More Information


___________________________________________________

Thanks for reading.

If this or any other post has been useful to you please take a moment to share.  Comments are welcome. 

Hands on with the updated Skype for Business Online & Teams Network Assessment Tool

Hello Readers,

Hope you're keeping warm (or cool depending on where you're reading this) this holiday season.

Microsoft released an update to their free Network Assessment tool for Skype for Business Online a couple of days ago.  

The updated tool is available for download here.

I wrote a hands on review of the tool which was released during the Ignite Conference in 2016.


The original tool was downloaded as a zip file (network-assessment-lib-6.0.8970.161.zipwhich you unpacked to a directory of your choosing.  The new tool downloads as MicrosoftSkypeForBusinessNetworkAssessmentTool.exe.  Running the new executable "installs" the tool to an unchangeable directory of 'C:\Program Files\Microsoft Skype for Business Network Assessment Tool', unpacking the contents in much the same way as the previous ZIP file.  

The Download site says that the tool supports Windows 7 or later and that the PC must meet the requirements for Skype for Business Online systems described here.  For server installs you need to enable the desktop experience.  It also says that you can only run a single instance of the tool at a time and that it isn't intended for load or stress testing.

If you compare the directories side-by-side you're notice that the new library has more in it.

As you can see there are more differences than similarities between the old and new tools.  The updated tool utilises the client SDK and Bot framework to connect to the Skype for Business Online and Teams Edge and place a series of actual 17 second calls, then tell you if the call was any good, based on the results.  

The tool was originally developed to check network performance on the network where it was run in order to determine if it meets the targets for media quality and network performance for using Skype for Business Online.

These are the targets for the Skype for Business client to the Edge

The tool reports on Packet Loss, Jitter, Round-Trip Latency and Reordered packet percentage to the nearest Microsoft Network Edge.

Usage

To run the tool you need an elevated command prompt or PowerShell window.  I used PowerShell for mine.

First, browse to the tool location
cd 'C:\Program Files\Microsoft Skype for Business Network Assessment Tool'
Before I run something for the first time I like to see if there is some basic help on syntax.  I ran .\NetworkAssessmentTool.exe ?



The usage is NetworkAssessmentTool.exe [options] [arguments].  Running the tool with no options or arguments will perform the network quality check.  
.\NetworkAssessmentTool.exe
The first time I ran it I got a popup from Windows Firewall asking if I wanted to allow the connection.

These were the initial results for a single call

As you can see, it writes a results file to "C:\Users\username\AppData\Local\Microsoft Skype for Business Network Assessment Tool".  

One thing to note is that each time you run the tool the results of previous tests are replaced.  Or more accurately, the file is replaced with a new results file.

To analyse the results you need to run the ResultsAnalyzer.exe tool and input the file.
.\ResultsAnalyzer.exe "C:\Users\randy.chapman\AppData\Local\Microsoft Skype for Business Network Assessment Tool\performance_results.tsv"

The first time I ran it, I got an error that said that there was no data in the input file.

So I opened the TSV file and verified that it did indeed have data in it.  Hmmm!  I read the usage doc which has a troubleshooting section.  No specifics about that error unfortunately, so I decided to change the config file to give more results.

This is just as good a place as any to mention that there is a config file and there are a few parameters that can be changed in order to produce a different result.  The config file is called NetworkAssessmentTool.exe.config and it is saved in the same directory as the tool itself.  To modify it, you'll need to run notepad or or your favourite txt file editor with elevated privileges.

The usage doc has a table that lists all of the configurable parameters as well as an indication of what will fail if it is missing or misconfigured.

To save you time, I'll just say don't change anything but the following (with the exception of the Delimiter value, which must be a <TAB>).

The NumIterations is where you configure the number of times it will perform the test.  I changed this to 3 and left everything else as is.  Then I re-ran the ResultsAnalyzer tool and it found some data.

Bizarrely, the tool read 3 rows, skipped 2 and processed 1 and claiming that some rows were skipped as too few packets were received to make a meaningful measure of the network.  Again, hmmmm!

I can see that it did place the calls and that packets were sent and (all of them were) received.  Clearly, not enough for the tool to care.

The good news is that I PASSED.  Which basically indicates that Packet Loss, Jitter, Round-Trip Latency and Reordered packet percentage are within acceptable limits.

The bad news is that I had to change the config file to produce more than 1 row for the tool to pick up the data and analyse it.

You can also change the IntervalInSeconds.  This is the time to wait between tests.  The default is 5 seconds.  

I changed it to 10 seconds while also changing the NumIterations to 2 and reran it.  It did indeed run the assessment twice and it slept for 10 seconds between tests.  This time, the packets sent and received were at the 850 mark for both tests and the ResultsAnalyzer picked up both calls.

Now that I know that a call in the tool should send 850 packets, I now know that the problem reading the file was down to the tool itself not sending all of the packets during isolated tests.  In my case, it was the 1st and 3rd test.

I changed NumIterations back to 1 and re-ran the test and the call had 850 packets and the analyser was happy with the results.

I wrote this post over a span of a couple of days.  Interestingly, the first time I ran it I had another instance with only 283 packets sent and received.

So it seems that the tool is not perfect.  Hopefully Microsoft can fix these intermittent issues in the next release.

The other two things you can change from that list are the location and name of the results files.  The usage doc says that if the file path is not an absolute file path, the tool will write to "%appdata%\..\local\Microsoft Skype for Business Network Assessment Tool".  

You can change the location by pasting in a file path inside the quotes.  The ResultsFilePath is the Network Quality test result file.  The OutputFilePath is the Connectivity test result file.

New Test Available

This brings me nicely onto the next part of this post.  That is to tell you that Microsoft added a new test to the tool, the Network Connectivity Test.  

The Network Connectivity Test verifies that your computer can reach a list of relay IP Addresses on the ports required for real time media traversal.  Effectively a port scanner.

To run the test, enter
.\NetworkAssessmentTool.exe /connectivitycheck
The result is thrilling.

To view the results you can simply open the txt based results file "%appdata%\..\local\Microsoft Skype for Business Network Assessment Tool\connectivity_results.txt"...

...or you can open it in the PowerShell session...
more "C:\Users\randy.chapman\AppData\local\Microsoft Skype for Business Network Assessment Tool\connectivity_results.txt"

...or, better yet, you can simply run the command with the verbose switch to show the tests and results at the same time.
.\NetworkAssessmentTool.exe /connectivitycheck \verbose

My PC tried about 56 relay IP addresses for connectivity to TCP port 443 and UDP ports 3478-3481.

As it happens, I even have the results from a test that failed.

Verdict

Errors notwithstanding, this is a nice evolution of a tool that can be used to perform basic tests around your network to make sure you can successfully use Skype for Business Online and Teams for calling.

If you do nothing else to test that your network is okay for Skype Online and Teams, do this.

More Info

__________________________________________________________________________

I hope you found this useful.  Thank you for reading.

If this or any other post has been useful to you please take a moment to share.  Comments are welcome.