How the Load Balancer Fits into Skype for Business

Our fourth entry in the “How It Fits” series is…the Load Balancer!

Load balancers show up in every level of a Skype for Business deployment. They’re an integral component of effective Skype for Business Online tenants as well.

If a load balancer does its job right, it’s pretty much invisible. If it doesn’t, it’s a loud and persistent pain. Which it is all depends on your configuration. As such, you’re most likely to work with a load balancer when first deploying Skype for Business.

This post is meant as an overarching take on the load balancer’s function and value. If you’re looking at a new Skype for Business deployment, on-prem or hybrid, this is a quick read that could help a lot!

The Load Balancer’s Primary Role

A load balancer distributes traffic among servers in a pool. In Skype for Business, this means it distributes traffic between role-based server pools. For example, between two Front End Servers.

It’s similar in some ways to a Reverse Proxy. (Some hardware load balancers even include reverse proxy functionality.) But instead of worrying about authenticating traffic from outside the network, it focuses on optimal traffic management inside the network.

Why use load balancing in the first place?Load Balancing Diagram from F5

  • Bolsters reliability. The load balancer helps prevent any one server from becoming overwhelmed.
  • Increases overall Skype for Business stability. Smart traffic management helps avoid traffic bottlenecks.
  • Some Skype for Business services require load balancing to function (e.g. managing HTTP traffic).

Main Components of a Load Balancer

At its core, a load balancer consists of:

  • A Distribution algorithm, and
  • A server pool monitor/health check

The distribution algorithm determines to which server it should send traffic requests. The server pool monitor, well, monitors the assigned server pool’s health and traffic responses.

What kind of traffic are we talking about? All kinds: HTTP/HTTPS, SIP, TCP, UDP. Basically, if you use server pools for any of the Skype4B Server Roles, you should use a load balancer for each.

Other Servers a Load Balancer Communicates With

In Skype for Business, you can load balance any Server Role which has (or can have) multiple servers in a pool. That includes:

  1. Edge Server
  2. Front End Server
  3. Director
  4. Office Web Apps Server

Load Balancers must communicate not only with the servers they’re balancing, but with the servers sending traffic to them. That means they’ll talk with the Mediation Server, PSTN Gateways, and our last “How it Fits” role, the Reverse Proxy.

What about Office 365? If you’re running a hybrid deployment, you’ll need load balancing on the on-prem side. From Plan for Network Devices that Connect to Office 365 Services:

Your organization needs to use a hardware load balancer (HLB) or a Network Load Balancing (NLB) solution to distribute requests to your Active Directory Federation Services (AD FS) servers and/or your Exchange hybrid servers.

In other words, load balancing between Office 365’s servers and your network!

What Kind of Load Balancer Should You Use?

Two types of load balancing exist in Skype for Business.

  1. DNS load balancing, and
  2. Hardware load balancing

This is an important distinction. It’s also the source of most load balancing grief.

DNS Load Balancing:
This is more a technique than a device. It involves mapping server pool names to not one, but a set of IP addresses in DNS.

Let’s say you have a Front End pool named “Headquarters.” The Headquarters pool has three IP addresses mapped to it – 10.10.10.1, 10.10.10.2, and 10.10.10.3.

When your Skype for Business client tries to connect to “Headquarters,” DNS sends it all three IPs. The client tries connecting to the first IP, 10.10.10.1. But this IP already has another client connected and cannot respond. So the client tries 10.10.10.2. That works.

Connections stable. Traffic load balanced.

DNS Load Balancing – Microsoft Docs

Hardware Load Balancers:
A hardware load balancer is a dedicated device which distributes traffic requests to a server pool. I think of these like a “Traffic Cop” inside your network.

We use an F5 hardware load balancer for our Skype for Business Server. Cost us a bit, but wow did it help with call quality!

Since hardware load balancers actively listen to incoming & outgoing traffic, they can mitigate traffic bottlenecks. Preventing call drops, static, and external connection troubles.

===============

When setting up load balancing in your topology, keep these restrictions in mind:

  • If your Edge pool uses load balancing, the internal Edge interface and external Edge interface must use the same type. Can’t use DNS load balancing on one, and hardware on the other. You’ll experience some serious traffic errors!
  • Some traffic types require a hardware load balancer (e.g. HTTP traffic). DNS load balancing does not work with client-to-server web traffic either.

Our experience confirms these restrictions. In Skype for Business Server’s early days, we observed that combining both load balancing types in one deployment caused havoc. Inconsistent delays, strange errors with no apparent cause, bottlenecks, etc. When we standardized on one load balancing type topology-wide, these issues evaporated.

Traffic Load Balancing
Traffic, nice and organized.
Photo by Fahrul Azmi on Unsplash.

Here’s a nice setup/overview video from A10 Networks if you’d like more.

Load Balancers Reduce TCO By Easing the Burden on Skyep4B Server Pools

Which load balancing method should you choose? There’s no universal standard. But we go by this rule of thumb: The larger the deployment, the more a hardware load balancer is necessary. They are more powerful, more intelligent, and more reliable.

It does add to up-front deployment cost. But it reduces TCO. Once load balancing is in place, configured, and running properly, it helps the Server Roles function at peak. Even (especially) under heavy load.

What kind of load balancing do you run in your Skype for Business topology?

Facebooktwittergoogle_plusredditlinkedinmail

The Top 8 Skype for Business-Teams Complaints

Teams is 1 year old! Let’s talk about its problems.

I asked Twitter followers, checked feedback sites, and polled co-workers. All told, I came up with 8 of the most common complaints for Skype for Business and Teams.

Why do this? In some cases, solutions do exist. Where they don’t, bringing up issues helps increase visibility. Which (sometimes) nudges software makers into fixing them.

Now, with such a hope in mind, let’s see what bugs Skype for Business/Teams users the most.

4 Top Skype for Business Complaints

#1 – UNRELIABLE COMMUNICATIONS
Several review posts at G2Crowd point out Skype for Business’ unreliability. The mobile apps don’t work, Meetings don’t start well, and so on. We heard similar complaints from customers in 2015, when first rolling out Skype for Business Server. It’s become much more stable in recent years though…partly from updates, and partly from configuration testing.

SOLUTION: If you run Skype for Business on-prem, have an expert run through its topology. We can do a lot to boost reliability.

#2 – CALL PROBLEMS
Calls drop/fail/won’t connect at all. This is a persistent issue, and has been since the Lync days.

SOLUTION: Deploy additional bandwidth. We found that going a little beyond what Microsoft recommends for available bandwidth resolves most call issues right away. (Here’s a bandwidth calculator post we worked up to help.)

Sad Dog on Skype for Business
Why do you do this, Skype4B?

Photo by Justin Veenema on Unsplash.

#3 – SYNC ISSUES
The G2Crowd reviews linked above also mention sync issues. Calendar sync delays, slowness in conversations or Online Meetings, missing messages between mobile and desktop clients, and so on.

I’ve ranted about this before, of course. Frustrating that it continues to haunt Skype4B users.

#4 – SPLIT BETWEEN CONVERSATIONS AND CONVERSATION HISTORY
Skype for Business Conversations, once they’ve finished, are stored in the Conversation History. You reach Conversation History through two places: the Conversations tab in Skype for Business, and an Outlook folder.

Neither of these is “within the same conversation window.”

This is one of SkypeFeedback.com’s most-voted-on feedback posts. Most chat apps show the chat’s history in the same window, by default. Skype for Business is a noted (and very frustrating) exception!

No solution exists right now. But you can add your voice to the feedback thread.

4 Top Teams Complaints

#5 – PRIVATE CHANNELS
Now that Guest Access has (finally) arrived, the most popular UserVoice poll on Teams is support for Private Channels. Teams users have waited a LONG time for this. It looks like they’ll wait a while longer too—it’s not even on the roadmap.

We do have the option of private group chats. However, those will become searchable by April…negating much of their privacy!

Teams may be good for collaboration. But sometimes you really need to have a private conversation.

SOLUTION: Private group chats still exist. It’s an option. Otherwise, for a fully private channel, you’ll have to look outside of Teams for now.

#6 – REQUIRES O365
Can’t get around this one. Teams is for Office 365 customers. You can invite guests, but full users have to have an Office 365 account. To some this is just a feature; an additional reason to use Office 365. If that’s you, then this isn’t a problem. If it isn’t, then you’ll either have to pay up, wait for the free Teams version, or use another chat app.

Sad Penguin for Teams
A representative of the Linux community when asked about Teams.

Photo by Teodor Bjerrang on Unsplash

#7 – FEATURE DELAYS
Microsoft is known for delaying feature rollouts. Or outright ignoring rollout dates and popping up later with the new feature. It has done both with Teams Guest Access. Less of a problem with the app itself, and more with its maker, but in Teams’ case? It’s a big complaint.

SOLUTION: Keep bugging them! Many have actually abandoned Teams in favor of Slack, due to its faster (and more reliable) update schedule. The rest of us can keep reminding Microsoft that they set their own deadlines.

#8 – CLUNKY INTERFACE
The Teams UI is a bit cartoony. Big emoticons, large text bubbles, and so on. This frustrates many users—it causes crowded screens and appears a bit unprofessional. It also eats up computer resources the longer you use Teams.

SOLUTION: A compact UI is coming, according to UserVoice responses. That should help with resource usage, screen space, and professional appearance.

In the meantime, you can always add RAM to your computer. I know that’s a cost, but it’s an easy upgrade and benefits every computer!

Use This Post When Teams/Skype4B Users Have a Problem (And Think You Haven’t Heard of It)

I know, it’s a little early for “The Airing of Grievances”. But the responses I did get certainly merited acknowledgement. Now that this post is live, we can point to it as proof that these issues do exist, we know of solutions for some, and we’re trying to resolve whatever we can.

I mean ‘we’ both in terms of my company, and yours. Please, make use of this post as you need it!

What bothers you the most when using Skype for Business or Teams?

Facebooktwittergoogle_plusredditlinkedinmail

The Teams Take for March 1st: 3 Concerning Questions

The Teams team has been busy! But the more I read about recent Teams activity, the more questions I have about its development. Hence today’s post.

I’m asking three questions about Teams here. They aren’t quite rhetorical; I would appreciate answers, either from Microsoft’s eventual updates or the community’s collective knowledge. But I also want to put these questions out so others can ponder them.

Question 1 – Will a Freemium Teams Be Compelling Enough to Lure Users Away from Slack?

Teams may have a free version coming.
Report: A Free Version of Microsoft Teams is in the Works – MS Power User
Some clever IT pros came across clues in recent Teams updates that indicate a freemium, or feature-light version in order to compel paid subscriptions, would arrive soon.

Thing is, introducing a freemium version like this—after users have had the paid-version software for a while—is unusual. So much so I’m not actually sure it will achieve its end.

In order to lure users away from Slack, a free Teams would need to either A) match Slack’s free-tier feature set, or B) offer a big value-add by itself. But Teams’ value-add comes from subscription—the extra Office 365 tools. Without those it can compete directly with Slack, but not overwhelm it.

That leaves matching Slack’s feature set…where a freemium model actually hurts Teams. Restrictions in a free version could include:

  1. Inability to share files above a certain size
  2. Limited number of teams
  3. Limited number of people IN a team
  4. No third-party connectors

And so on. If Microsoft takes this path, Teams cannot hope to match Slack’s feature set. It would start the race with a broken leg (if you’ll pardon the sports parallel).

Teams’ biggest appeal as a package comes not only from its communications tools, but from the O365 productivity tools you buy to get it. I get a strong sense that a free Teams could easily fall flat with new users.

Private Teams Chats Searchable
Hey hey, are you having a private chat?

Question 2 – Why Make Private Teams/Groups Searchable Now?

Private Teams groups will become searchable in March.
Private Microsoft Teams groups to become searchable in upcoming change – OnMsft.com

I have to wonder. What’s the rationale for doing this now? If you’re creating a private group, you’re doing so for a reason. Maybe you don’t want others knowing what you’re discussing…or that the discussion even exists.

I can picture one internal use for this immediately: New departmental projects you want to test before notifying other departments. Totally legitimate, and a valid need for privacy. Now it’s gone from Teams. Anyone with such private projects is now unwillingly exposed.

Besides, according to the article, it’s still possible to hide teams/groups from search, using a PowerShell cmdlet. If the function’s still there, then why institute search for private groups at all?

Question 3 – Is True Guest Access Finally Here?

Twitter blew up yesterday with an announcement about Teams Guest Access. “It’s here!” “We have full Guest Access support ready!”

Happy Dog for Teams Guest Access
I can come in now??

Photo by Anita Peeples on Unsplash

A blog post on Office.com today seems to confirm: New in February—advancing creativity, teamwork, and management in the modern workplace

Work with guests in Microsoft Teams—We’re rolling out the ability to add anyone as a guest in Microsoft Teams. Previously, only those with an Azure Active Directory (Azure AD) account could be added as a guest. Starting next week [early March], anyone with a business or consumer email address—including Outlook.com and Gmail.com—can participate as a guest in Teams with full access to team chats, meetings, and files. Guests in Teams will continue to be covered by the same compliance and auditing protection afforded to Office 365 subscribers, and can be managed securely within Azure AD.

They’ve also posted the announcement on the Microsoft Teams Blog (Tech Community).

After an early-March rollout, according to Microsoft’s “What the Guest Experience is Like,” Teams Guest users can:

  • Create a channel (if Team owners let them)
  • Participate in a private chat
  • Participate in a channel conversation
  • Post, delete, and edit messages
  • Share a channel file

But they can’t:

  • Share a chat file
  • Add apps like bots or connectors
  • Create tenant-wide and teams/channels guest access policies
  • Invite a user outside the Office 365 tenant’s domain
  • Create a team
  • Discover and join a public team
  • View organization chart

Frankly, this is very much a “wait and see” thing for me. Once burned and all. Microsoft has promised this before, and then reneged. Besides, there’s one tiny inconsistency I found.

Why is Guest Access mentioned left and right…yet no mention on the UserVoice Guest Access thread? The thread contains hundreds of users’ frustrations with the long Guest Access delay. Many have given up and gone to Slack (good luck winning them back at this point). Is Microsoft just ignoring some of its audience?

Will These Updates Grow Teams’ Adoption…or Slow It?

Teams continues to develop at a rapid pace. I don’t mean to throw cold water on its progress. If Microsoft releases a freemium Teams version, I’ll happily test it out for this blog.

What concerns me is the haphazard, inconsistent development. Every major software project comes with stumbling blocks, whether accidental or intentional. Accidental issues can slow down adoption. Intentional issues, such as ignoring the user base or doing things they don’t want? That can halt adoption entirely.

What are your thoughts on today’s Teams Take?

Facebooktwittergoogle_plusredditlinkedinmail

How to Stay Vigilant Over Office Chat: Implement a Messaging Policy

If someone published your office’s chat logs, would you be okay with it…or wince at what people will find in them?

Most of us are in the latter category. I’m not even sure I’d be okay with it! But I’m at least certain that our chat logs are clean of intellectual property and PII. How do I know that? After reading this post, you’ll understand.

What’s Going On in Your Office’s Chat App?

This topic came from an article I saw in NewsDay yesterday: Workplace messaging apps offer flexibility, require vigilance – NewsDay.com

The article reminds readers to stay vigilant over their messaging apps: Teams, Slack, Skype for Business, HipChat/Stride and the like. Good advice.

But let’s go further. HOW do we stay vigilant? How could we make sure employees stick to work-related (or perhaps I should say “work-appropriate”) conversation topics?

The article gives the following as a solution: “Firms should institute a workplace messaging policy and outline best practices to avoid abuse or unwanted distractions.” True! But there isn’t much beyond that.

Fortunately, keeping office chat to office topics isn’t too hard. In fact, we can take care of it in less than 10 minutes. In this post I’m laying out a way to not only institute a workplace messaging policy, but use human psychology to enforce it!

Institute A 3-Part Workplace Messaging Policy
First, if you don’t have a messaging policy in place already, make one. Here’s a simple workplace messaging policy anyone can use. It’s simple, only has 3 parts, and works for all messaging apps.

  1. All messaging clients are set to Full Logging.
  2. All conversations are kept in logs. If you’re chatting, your conversation is logged.
  3. All logs are included in the company’s regular backup schedule.

Okay, now you have your policy. Next, we have to spread the word. All employees need to know about this.

Give All Employees a 5-Minute Policy Brief

Informing all employees of a messaging policy only takes 5 minutes. Send them the following details via email. Or announce it at an all-hands gathering. Or send a message in chat!

  1. Tell everyone that the conversations are logged.
  2. Tell them where the logs are kept.
  3. Tell them the logs are backed up, where, and why.
  4. Employees must avoid discussing confidential material via messaging (e.g. banking information, PII).
  5. Work-related conversations should stay work-appropriate. If you need to chat about personal matters, do so privately.
  6. Finally, tell them you may use information from chat logs in customer meetings or quote documents.

That’s it!

Messaging Policy for Office Chat
You can be a LITTLE more specific than this…

Human Psychology Helps You Enforce This Policy

Seems too simple, right? There must be a trick. And there is…but it’s one you don’t need to do anything about. It works because humans think & act in certain ways.

Informing people of chat logs & why you’re backing them up isn’t just for their edification. It also creates an impression in their mind. Think about this—when you walk into a store and see one of those, “Smile! You’re on camera” signs, doesn’t it trigger an unconscious reaction? “Oh, right, better not do anything dumb.”

Nobody’s assuming you went there to shoplift or cause a scene. But the impression still pops into your head. The same thing happens with a messaging policy. When people know their work conversations are recorded…they tend to self-police.

(There’s always an exception, but we’re talking in general terms here.)

You can periodically remind employees of the policy by referencing the conversation logs. Any reason will do…here’s a couple I dredged up from our own office’s 2017 conversations:

  • “I don’t have X’s email. Is it in your conversation history?”
  • “Customer B wants to know status on their migration. Didn’t you guys talk about that in chat yesterday? Could you send me the log?”

These act as subtle reminders. The logs exist. Chats are recorded. Make sure you stick to work stuff!

Setting Up Logs for Backup

In order to fulfill this messaging policy, you’ll need to keep backups of chat conversation logs. I seriously hope you’re doing this anyway…but if not, let me give you a reminder!

backup photo
A badly-needed keyboard addition!
Photo by Got Credit
  • Server logs: Included with server backups. (If you’re not backing up servers, call us immediately!) For Skype for Business Server deployments, make sure the Centralized Logging Service is enabled.
  • Desktop Client logs: Capture logs from users’ computers by including these folders in their workstation backups.
    • Skype for Business 2016: %userprofile%\AppData\Local\Microsoft\Office\16.0\Lync\Tracing
    • Lync 2013/Skype for Business 2015: %userprofile%\AppData\Local\Microsoft\Office\15.0\Lync\Tracing
    • Web App Log location: %userprofile%\AppData\Local\Microsoft\LWAPlugin\Tracing (File name: LWAJSPersistent#.log)
  • Cloud logs (Teams, Slack): These are backed up by their respective cloud services. If you want to pull down extra copies for your own backups, here’s some help:

Workplace Messaging Policy: A Good Idea for All Teams, Slack, Skype4B Users

By now you’ve figured out why I’m not worried about our chat logs. Yes, we have a messaging policy here at PlanetMagpie. It’s more or less the same as what you just read. We’re on Skype for Business Server; the policy addresses our Instant Messaging Conversations.

You can expand on this messaging policy, of course. It all depends on how your office uses chat apps. That way you make sure they’re sticking to work-appropriate topics!

Do you use a messaging policy now? What kind?

Facebooktwittergoogle_plusredditlinkedinmail

How the Redis Cache Fits into Skype for Business Server

Ever heard of a ‘Redis Cache’? If not, you’ll need to read this post.

I was researching comparisons between Skype for Business and HipChat (the Data Center version) for an upcoming blog post. Along the way, I discovered that HipChat uses a Redis cache in its server-side deployments. A Redis cache…wow, hadn’t even heard that name for a while. Then I realized I hadn’t addressed the topic on this blog at all!

Don’t worry; the Skype for Business vs. HipChat comparison will come soon enough. For now, let’s talk Redis.

What is a Redis Cache?

Redis is a data structure store. According to this Introduction to Redis, you can use it as an in-memory database, cache, and message broker. It’s available for Linux and OSX natively, but Microsoft does maintain a Win-64 port of it (we’ll see why very soon).

HipChat makes use of Redis for caching. It has a Postgres server for database storage; the Redis cache helps to improve message availability and quality.

 

HipChat Deployment with Redis Cache
A HipChat Data Center deployment, with Redis Cache. Image courtesy of Atlassian.com.

Can you use a Redis cache in Skype for Business? Yes! It can serve as a data store for Skype4B’s SDN Interface.

What’s that? According to a quote from John A. in MSDN Documentation:

In a pool configuration, Skype for Business SDN Interface needs a data store to share call states for concurrently ongoing calls or for configuration settings among multiple SDN Manager instances, which can be a Redis No-SQL key-value store.

Setting up a Redis cache system – MSDN

How the SDN Interface Works

SDN stands for Software Defined Network. In the case of Skype for Business, it provides an interface for call diagnostics and QoS. In a nutshell, here’s how it works:

  1. The SDN Interface collects call data while Skype for Business Server is active.
  2. The SDN provides this data to other services on the network (e.g. network controllers).
  3. The other network systems add in their own network traffic data.
  4. The data pool is analyzed for media quality.
  5. Analysis results are used to resolve quality & performance issues on the Skype for Business servers.

Think of it like a tune-up constantly running in the background. Its goal? Better performance on calls. It’s part of the reason why Skype for Business calls seem ‘clearer’ over time.

How to Set Up a Skype for Business SDN Interface (with a Redis Cache)

You don’t have to use a Redis cache to set up a Skype for Business SDN. A SQL Server will also do the job. But the setup process is the same, either way.

Fortunately, we have a well-documented set of installation instructions right here:
Installing the SDN Interface – MSDN

As you can see in this screenshot, the Redis cache is one of three options for the SDN Interface’s SDN Manager topology.

Skype for Business SDN Manager Setup

Please note: You must have a Redis server set up BEFORE you set up SDN Interface! To set up Redis on a Windows server, use the Windows port on GitHub: Redis on Windows – GitHub.

Redis Cache is Still Available for Skype for Business – But Maybe Not for Long

Now we know. Redis is an available cache option for Skype for Business Server, designed to help its SDN Interface tune media stream performance over time. It’s part of an engine, running in the background, making every Skype4B call better.

Before I go, one caveat: The current Redis port version on GitHub is fairly recent. However, I saw a comment that indicated Microsoft may have decided to archive it. That doesn’t mean Skype for Business users can’t use it, or it will become vulnerable…it’s on GitHub, after all. Other developers will contribute.

However, that does place Redis in something of a limbo. At least as far as Windows Servers are concerned. Redis is open source; it will continue to have a Linux/OS X version for a while.

Perhaps Microsoft is taking another direction with Skype for Business Server 2019. Only time will tell. Once we find out, I’ll make note here, of course.

Does your Skype for Business Server use a Redis cache?

Facebooktwittergoogle_plusredditlinkedinmail

How to Use Teams Slash Commands (and Where They Come From)

Teams is getting slash commands!

Microsoft announced several updates for Teams this week.

Most blog posts I saw emphasize the new integrations. While indeed helpful, that wasn’t what caught my eye. Nope…that was the introduction of slash commands!

Those of us who’ve been online for a long time know these already. But in case you aren’t familiar, let’s go through what slash commands are. I think you’ll find them an incredible timesaver.

What is a Slash Command?

A slash command is a short typed phrase, preceded by a slash (/), which causes a specific action within an app. They’re meant to make some everyday functions quick & easy to activate, without your hands leaving the keyboard.

The most common slash command is likely “/away” which sets your status to Away. They can do much more than that, however! When used in a chat app, slash commands let you join a channel, invite other users into a channel, mark yourself as away/busy/available, and dozens of other things.

Where Slash Commands Come From

Slash Commands have been around for a LONG time. I first used them in IRC (Internet Relay Chat) rooms back in the 90s. These pages have lists of the slash commands you could use in IRC.

List of Internet Relay Chat Commands – Wikipedia
Basic IRC Commands – IRCBeginner

IRC Slash Commands
Examples of IRC slash commands, with use cases. Very Web 1.0 chic, huh?

(Wow, this makes me feel old.)

Nowadays you’ll find slash commands used in major chat platforms like Slack, HipChat, and now Teams!

Slack clearly copied the most popular IRC commands, and expanded on them. You can see the similarities in their slash command list: List of Slack’s Slash Commands
I always had the sense that Slack’s founders were old IRC users like me.

HipChat’s slash commands are a little more involved. But they appear no less easy to use: Keyboard Shortcuts and Slash Commands – HipChat

Even Google Hangouts has some, but they’re mostly limited to fun animations.

Teams joins an illustrious tradition by introducing slash commands. So which commands do Teams users now have?

List of Slash Commands in Teams

Start using slash commands by typing a slash in Teams’ “Search or type a command” box. A list of slash commands will pop up below it for your selection/reference.

empty office chair photo
Status: /away.
Photo by Reinis Traidas
  • /activity – View someone’s activity
  • /available – Changes your Teams status to “Available”
  • /away – Changes your Teams status to “Away”
  • /busy – Changes your Teams status to “Busy”
  • /call – Initiate a call
  • /dnd – Changes your Teams status to “Do Not Disturb”
  • /files – See your recent files
  • /goto – Go to a certain team or channel
  • /help – Get help (with Teams; not the ‘lie on the couch’ kind)
  • /join – Join a team
  • /keys – View keyboard shortcuts
  • /mentions – See all of your mentions (handy if your Teams channels are really busy!)
  • /org – View an org chart (yours or someone else’s)
  • /saved – View your saved list
  • /unread – See all of your unread activity
  • /whatsnew – Check what’s new in Teams
  • /who – Ask Who (a new app that lets you search for people by name or topic) a question

This is the list that comes up in Teams now. We may see more slash commands added over time.

How to Use a Slash Command in Teams

Most slash commands are standalone—they don’t need anything other than the command name to work. But it’s good to know about slash command syntax as well.

After typing a slash command in Teams, you can add parameters after it. These can be other users’ names, or switches that specify the command’s target. Not unlike adding parameters to PowerShell cmdlets.

Let’s go through some examples:
/away – Let’s say I want to mark myself as Away, but I want to make it clear that I’ve got my cellphone with me. I could type the following:

“/away Got my cell if you need me”

Like Skype for business’ Presence, right? Unfortunately status messages like these are not displayed in Teams yet. It is on the roadmap though, so I wanted to point out how easy this is.

/goto – Let’s say I want to open the “Business Development” channel. When you enter slash commands like /goto, a list of available options will appear below the command field. You can either type out the location you want, or click to select it from the list.

Goto Slash Command in Teams
Oh look! There’s the Business Development channel. One click and I’m on my way.

/invite – Want to add someone into your channel? The /invite command lets you do so without leaving the channel. Just type /invite “TheirUserName” and done!

Like Keyboard Shortcuts (but Better), Slash Commands Speed Up Working in Teams

Think of slash commands like shortcuts. They let you skip several mouse clicks and loading screens. You just type out a word, add whatever parameter you want, and Teams does the rest.

The old IRC nut in me very much appreciates having slash commands once again. This was a surprise to see on the Teams update list—but a welcome one!

What do you think about having slash commands in Teams?

Facebooktwittergoogle_plusredditlinkedinmail

How the Reverse Proxy Fits into Skype for Business

You asked for more “How It Fits” posts last year, and I’m happy to oblige. Today we’re discussing…the Reverse Proxy server!

Reverse Proxy is also part of the Skype for Business perimeter network, like Edge Server. The two act in concert, in fact, which made it an easy second choice for this series.

Now, one important thing: Reverse Proxy is NOT an official Skype for Business Server Role. You’ll need another device/appliance to serve as your Reverse Proxy. Fortunately, many good options exist; Microsoft has provided a list of reverse proxy servers to help. We’ve tried the MS Web Application Proxy and F5’s BIG-IP. Both worked very well for our purposes.

The Reverse Proxy’s Primary Role

A Reverse Proxy server facilitates external user access to some Skype4B tools. Like the Edge Server, it aids users outside the internal network: mobile users, federated users (e.g. partners, vendors), and customers.

How? It works by publishing some Skype for Business services to the public Internet, and regulating access to them from outside the perimeter network. I’ve listed which services in the next section.

Main Functions of a Reverse Proxy Server

Here’s the list of Reverse Proxy functions in a Skype for Business Server deployment. You’ll see that they all deal with external users, be they permanently remote or a standard user out of the office.

  • Connect to meetings or dial-in conferences using simple URLs (e.g., “meet.yourdomain.com”).
  • Download meeting content.
  • Expand distribution groups.
  • Get user-based certificates for client certificate based authentication. In other words, authorize some mobile clients to access the Skype for Business Server.
  • Download files from the Address Book Server, or to submit queries to the Address Book Web Query service.
  • Obtain updates to client and device software.
  • Allows mobile devices to automatically discover the Front End Servers offering mobility services (e.g., “lyncdiscover.yourdomain.com”).
  • Enables push notifications from Office 365 to mobile devices.

Some IT admins would argue that a Reverse Proxy’s final function is to frustrate them! That’s because it handles switching between ports on the same IP address, when traffic moves from the public Internet to the internal network. Here’s an example image.

Reverse Proxy Diagram
Image courtesy of Perficient Blogs.

You see the Reverse Proxy translating from TCP port 80 facing external, to TCP port 8080 facing internal. Same IP, different ports. Helps with security…but it’s a pain on a certification exam!

Other Servers Reverse Proxy Communicates With

Front End Server/Front End Pool. The Reverse Proxy communicates primarily with your Front End Server. It is publishing some of the Front End’s services out to the public Internet, and funneling in requests from external users to use those services.

Director/Director Pool. If your Skype for Business topology has a Director, the Reverse Proxy will publish its external Web services (e.g. Autodiscover) as well.

mobile user photo
Someone got locked out while outside the network!
Photo by GirlieMac

Edge Server. The Reverse Proxy also sits in the perimeter network, between the external and internal DMZs. It and the Edge Server have distinct roles, but the two must act in concert.

Without the Edge Server authenticating some external users, the Reverse Proxy could accidentally provide a Skype4B mobile service to the wrong user (or not at all!).

Load Balancer. Depending on where you use load balancing, the Reverse Proxy may need to talk to yours. Otherwise it could deprive some external users of the access they need. I’ll address this in the Load Balancers post.

Firewall. Since the Reverse Proxy uses two sets of ports matched to IP addresses, your firewall needs to play nice with it. Otherwise you’ll have some very locked-out (and upset) users outside the office!

Is One Reverse Proxy Server Enough?

In most cases, one Reverse Proxy per Skype for Business topology is enough. I checked with a co-worker regarding one hybrid deployment we did early last year. This customer has satellite offices and job site trailers…their external users easily outnumber internal users about 4 to 1. Yet they only have one Reverse Proxy, and report no bandwidth issues or delays.

That said, I can think of two situations where two or more Reverse Proxies may make sense:

  1. A high-availability global on-prem deployment.
  2. More than one perimeter network exists in your organization.

Reverse Proxy is What Makes Skype Meetings Happen Anywhere

Since the Reverse Proxy is not a Skype4B Server Role, I’m not sure what will happen to it with the Teams merger. It could continue to provide the same external publishing & regulation function as it does now. Teams would certainly need such services for guest users and remote workers. I’ll keep it in mind as we hear more about Teams.

Additional Reverse Proxy Resources:
Reverse Proxy 101 – Perficient Blogs
Edge Server System Requirements in Skype for Business Server 2015 – TechNet
Plan for Mobility for Skype for Business Server 2015 – TechNet

In the next “How it Fits” post I’ll address Load Balancers. What Skype for Business/Teams tool should I do after that? Please comment your choice!

Facebooktwittergoogle_plusredditlinkedinmail

17 Reasons to Hold Off on Using Teams for Voice Calls (Until Mid-2018)

After reviewing the new calling capabilities added to Teams last month, I have to say…moving to Teams in the next few months is a bad idea.

Now, don’t get me wrong. Introduction of new calling features is great! However, we have holes in the deployment. Holes which put Teams in a precarious situation. Its feature set expanded…but not enough to take over for Skype for Business.

In case you missed the December announcements: Microsoft added calling tools to Teams, so that Teams users could make & receive phone calls from within the client. In order to use these tools, you need two Office 365 services:

  1. Phone System (formerly known as Cloud PBX). This comes with E5 licenses, but you can buy it as an add-on to other plans.
  2. A Calling Plan (formerly known as PSTN Calling). We covered Calling Plan rates (and an international surprise) back in July 2017.

You would need these services to make/receive calls in Skype for Business Online as well.

Calling Features in Teams Now
Some of Teams’ new calling capabilities.

Adding voice calls to Teams makes perfect sense—it can’t absorb Skype for Business without them. But this wasn’t a complete move. The next batch of updates won’t come until mid-2018.

Meanwhile, Teams is stuck in a sort of productivity limbo. It’s able to do some things Skype for Business can do…but not enough of them. Phone calls through Teams, coming from Skype for Business (or any full-featured VoIP provider), will frustrate users and slow down work.

Let me illustrate why I’m taking this position. I know it may not make sense for a Skype for Business blog…but I promise, there’s a good reason!

The 17 Calling Features Missing from Teams – As of January 2018

Brian R., an author at the No Jitter blog, put together an exhaustive list of call features available between Teams’ new Phone System, Skype for Business Online, and Skype for Business Server with Enterprise Voice.
Teams Phone System: Back to Call Feature Drawing Board – No Jitter

I looked at some other sources to verify this, including the Office 365 Roadmap. Brian most definitely did his homework…the post is superbly thorough!

crashed rocket photo
Oops. Forgot a few things.
Photo by tobo

His list does tell us which calling capabilities are now in Teams. Here are the major ones: Call Forwarding/Hold/Transfer, Voicemail, Do Not Disturb, Suggested Contacts, and E911.

However, in the same list we also see some painful limitations to Teams’ calling rollout. Several features are still missing. Features that I discussed with our team.

We all agreed – these missing features would prohibit Teams adoption for pretty much all of our customers.

Here are several which stood out. Along with why they put the brakes on Teams voice call adoption.

  • No Consultative Transfer. One of our customer’s front desk personnel rely on this feature. They currently use Skype for Business Online. Without it, they would dump the whole service tomorrow.
  • No USB Devices. Which cuts headsets like my Jabra Motion Office out right away.
  • No IP Phones. Every Polycom phone we’ve deployed becomes useless. How is anyone supposed to make calls?
  • No Transferring Calls to PSTN Numbers. Want to transfer a call to your cell? Too bad!
  • No Boss/Delegate. Without this one feature, two of our customers could not function day-to-day.
  • No Call Waiting or Music on Hold. These don’t even have an ‘expected’ date. Is Microsoft just dropping them for Teams?!

Brian marked a total of 17 features as, “expected mid-2018” or “expected late 2018.” 26 other features are simply marked “No.” As in, “No, these features are not coming to Teams. Don’t hold your breath.”

I hope the ‘Expected’ features are deployed in the promised time frames. That would at least give users something to wait for!

Teams Still Handles Chat. Don’t Rely on It for Voice Calls Just Yet.

Can your business still use Teams? Of course! It still has its chat and conferencing capabilities. If you’re already on Teams, you can proceed normally. Maybe try out the new calling tools, if your tenant has Phone System and a Calling Plan.

But relying on it as a phone system is premature. It’s not ready for that yet. Not until all of the above features (and a few more besides) are implemented and working.

We’re STILL waiting on Guest Access anyway…

Which feature would you NEED to have to use Teams for chat and voice?

Facebooktwittergoogle_plusredditlinkedinmail

What to Do When Skype4B Conversations Take Weeks to Appear in Outlook

You have a normal conversation in Skype for Business via Instant Messaging. The next day, you need to check the status of a task. You recall you mentioned this task in yesterday’s conversation. Better go check it in Conversation History.

Outlook is already open. You click the Conversation History folder and…wait, where’s the conversation? The last one you see is dated 2 weeks ago!

We ran up against this issue with a customer’s Skype for Business deployment. They had a server deployment, up and running since 2016. The Conversation History “delayed appearance” only started this past fall. Even more confusing, it didn’t occur for all users.

Work Conversation in Skype4B
“I KNOW I talked to Beth yesterday…”
Photo by rawpixel.com on Unsplash

The Cause: A Low Threshold for Conversation File Size

We checked all the obvious things, of course. But those were all clear. Only after testing & reviewing the Conversation History logs that did appear, followed by some MS research, did we find the cause.

Lync Server 2013 had an issue with long conversations. If a conversation’s history file ended up over 1MB in size, Lync Server could not upload the file to Exchange Server. This bug persisted into Skype for Business Server.

So if you end up having a long conversation with co-workers, plus a few images & documents shared around, your conversation grew past the server’s (tiny) 1MB limit!

The Solution: A Fix for Lync/Skype for Business Server, Then an Exchange Server Workaround

Microsoft did release a fix for this: KB3101496. It’s a security update issued November 10, 2015. Link to the update below.

This isn’t the only fix though. In fact, it might not even work for you. Not to worry…if it doesn’t, we have an alternative! The clever engineers posting on this thread determined it:
Lync 2013 Conversation History not taken from History Spooler by Outlook 2013 when bigger than 1 MB – TechNet

It’s an edit to an Exchange web.config file. Though from the thread and our own experience, we advise approaching the problem in this order:

  1. Apply the update first. Wait a few hours to determine if it took effect.
  2. If the update doesn’t work, use the following workaround.

Conversation History Bug Fix (KB3101496):

Security Update MS15-116 and MS15-123 for Lync 2013 (Skype for Business)
If your Skype for Business Server doesn’t already have this through Microsoft Update, you can download it here.

If Conversation History in Outlook doesn’t start updating within a few hours (happened for us after Hour 3), then try the web.config workaround.

Exchange Server Web.Config Workaround:

  1. Access your Exchange Server. Make sure you have write permissions.
  2. Navigate to the Exchange installation directory, e.g. C:\Program Files\Microsoft\Exchange Server.
  3. Open the version folder.
  4. Open the ClientAccess folder.
  5. Open the exchweb folder.
  6. Open the EWS folder.
  7. Edit the web.config file found here.
  8. Within the <appSettings> node, add the following line:
    <add key=”XmlMaxBytesPerRead” value=”1000000″ />
  9. Restart your IIS server.

Again, wait a few hours. The conversations should start trickling into Conversation History, in groups of 10 or so. You may need to restart Outlook & the Skype for Business client a few times to get everything.

Sometimes Conversation Logs Delay Their Appearance. Call Them Out on Stage with These Fixes!

This is an issue which can fly under the radar. Our customer saw no error messages, and had no Outlook crashes related to it. They only noticed when someone did exactly what I portrayed earlier—tried to check a previous Skype4B conversation via their Outlook Conversation History.

Take a second to review your Outlook Conversation History. Hopefully this bug doesn’t affect you…but it doesn’t hurt to check!

Have you experienced a Conversation History “delayed appearance” in Outlook, or something similar?

 

Facebooktwittergoogle_plusredditlinkedinmail

2018 Begins, OCS Ends

Welcome to 2018!

We’ll have a full post up soon. Before that though, I wanted to take a moment to acknowledge a milestone coming very soon.

OCS 2007. Office Communications Server. The first iteration of what has now become the Skype for Business ecosystem. This landmark software (problematic as it was) will at last reach End of Life on January 8.

Office Communications Server End of Life Roadmap – Office Support

damaged speaker photo
Photo by Internet Archive Book Images

I seriously hope nobody still uses OCS! But if you (somehow) still do, you’re in dire need of an upgrade. End of Life doesn’t mean the software suddenly shuts off. But it does mean you’ll have no support on which to fall back if there’s a problem.

The Best Upgrade Path for OCS Users

For OCS users (as well as older Lync 2010 users), the fastest upgrade path is the best one. Since OCS-grade server hardware won’t comfortably support Skype for Business Server, you’d have to buy new hardware anyway. That would put you on this upgrade path:

OCS → Lync Server 2010 or 2013 → Skype for Business Server 2015

Instead, I recommend moving to the cloud. Set up a new Office 365 tenant with Skype for Business. Fewer steps, shorter launch time, MUCH cheaper up-front licensing cost…and you can use Teams!

2017 Reader Poll Results

Let’s cap this post with the poll results from December. For Poll 1, asking readers what they use for business communication now, the #1 answer by far (25 votes) was: Skype for Business Server. A distant #2 (10 votes) was: Cellphones.

For Poll 2, asking what changes do you see your organization making in 2018, the #1 answer (10 votes) was: Moving to Office 365/Microsoft Teams. Close after that (9 votes) was: No Changes.

Good results! I like that so many readers appreciate their Skype for Business Servers. Thanks to everyone who voted.

Hope everyone had a safe New Year, and great things in store for 2018. I know we have great things planned for the blog, so join us back here next time!

Facebooktwittergoogle_plusredditlinkedinmail