A Concept for Integrating the Skype for Business & Microsoft Teams User Experience


NOTE: Although Microsoft has deeper integration between Skype for Business  & Microsoft Teams under review, I want to be very clear, this blog post is some of my own ideas, NOT Microsoft’s, on one possibility of bringing the Microsoft Teams experience and Skype for Business together.

Microsoft Teams has noted “integration between Skype for Business and Teams”, suggested by Josh Blalock on UserVoice, “Is Under Review”. Since Microsoft has announced this on all their Twitter accounts (Skype for Business, Microsoft Teams and Office 365) it MUST be under review. (Go to UserVoice to vote!) This blog is my own quick thoughts on one way the Microsoft Teams user interface could be a bit made more cohesive with the Skype for Business user interface.

The first thing to take into consideration is that Microsoft Teams is, in many, but not all, very analogous to Skype for Business Persistent Chat (click here). In that way, a good way to integration is to use the visual elements currently being used for Persistent Chat in the service of Microsoft Teams.

Main Window Concept

If there is a new notification from a Microsoft Teams, it shows on the main Skype for Business window as shown below.


Teams List Concept

Click on Teams main tab and Team sub tab shows Microsoft Teams.


Click on a Team to join the ongoing conversation.


Reply or Start a new conversation. Clicking on audio or video starts a real-time call using  the Teams.

If a user has the rights they can add another member to the team (upper right).

NOTE: As an alternative, clicking on the Team list could deep link to open the Microsoft Team in the Microsoft Teams app.

Activity / Feed List Concept

This would essentially display, in the Skype for Business user interface version of the Microsoft Teams Activity list.


Conversation Window

The conversation window could be a Skype4B-esque pop out window, or it could just pop out the Microsoft Teams (app or web) context of the Team or Conversation that was clicked above.



When you are on the Teams “tab”, searching works very similar to Microsoft Teams app.


click on Filter to further refine or restrict the search. (below)



A server level  PowerShell command could switch between Persistent Chat and Microsoft Teams. This would of course be dependent on if this user is a Teams user as well.

Since the Microsoft Teams app is essentially a web app (click here) behind the scenes, this all should be technically possible. It may require additional Skype for Business styling.


This is just a concept how the Microsoft Teams functionality could be, at a high level, brought together in a somewhat cohesive way with Skype for Business. I’m sure there is a lot more to flesh out and I welcome comment.

Microsoft Teams Tip #11: Chat Audio Call Control

Microsoft Teams can do audio calling and the latest version has brought some call controls like Hold and Transfer. We’ll take a quick look at how this new functionality works.

When you are in a Chat (one to one call) you have an audio call button. (in Team chats there is a video call button instead)


Another difference in Chat is that you have the call control functionality like hold and transfer.

You can put the call on hold. I don’t see a way to select what music on hold the remote party hears.


You can also transfer a call.


Next you search a contact and click Transfer.


One thing I noticed is that the call is place on hold as soon as you get into the “Transfer the call” window. So if you cancel a transfer you will need to pick the call of hold to talk to the user.


When the current call doesn’t have the focus (lets say you want to respond or check something in a Team) it is “minimized” into the upper right corner of the Microsoft Teams window. You can still talk on the call or control it (like put it on hold).


What happens if you try to start a second audio call? Interestingly Microsoft Teams will “remove you from the existing one”. <Grin>, like that soft way of saying it. So it sounds like one call at a time, for now at least.


While you are on a call you can change the audio devices.


After the call you get a survey of the call quality.


It’s interesting to see more call control coming into Microsoft Teams and make the overlap between Skype for Business and Teams grow.

If you would like to see more Microsoft Teams User Tips & Tricks:

10 Mistakes to Avoid When Migrating to Office 365 Cloud PBX from the Real World


Office 365 Cloud PBX is an incredible way to get a lot of PBX functionality up and running in short order. And nearly anyone can do it.  There are some things to be aware of to make things go as smooth as possible during rollout.

1-Porting Numbers: Get an Early Start & Have a Plan B

Make sure you start this process at least 2 months prior to the date you want to go live. If you are not in a major metro area you are going want to submit phone numbers to verify that they can be ported well in advance of go live.


Sometimes in areas outside major metros it just isn’t possible to port numbers and you want to know this up front. Note that even some telco’s may be listed as possible to port and Microsoft will not be able to, due to the inscrutability of various telco agreements. (we have experienced this with Frontier, for example)

What happens if it just isn’t possible to port a number? See number 5.

2-“User Numbers” Cannot Easily Be Changed to “Service Numbers”

Many organizations that have been using Cloud PBX before Auto Attendant & Call Queues became available may now want to move their main phone number from a “User Number” to a “Service Number”so they can use AA or a Call Queue, but unfortunately there is not a graceful way to do this. 

According to Microsoft support the way to change a “user number” to a “service number” is to port out the number to another telco and then back to Microsoft again. We will see if this changes.

UPDATE 4/12/2017: How to reclassify a Number: Click Here

3-If an Organization Wants a “Main Phone Number”, This Phone Number Needs to Be Setup as a “Service Number”

If an organization or location wants to have a main number which is the outgoing caller ID of all or a group of users, that number (phone number/DID) NEEDS to be a “Service Number”. Only Service Numbers can be assigned as a common Caller ID for outgoing calls. Follow these directions to use PowerShell to set the “designated main phone number” as the caller ID for users.

The Service Number will then need to be assigned to an Auto Attendant or a Call Queue. If you really just want all calls to go to one attendant console operator (that is, you don’t really want an Auto Attendant or Call Queue), then create an Auto Attendant which just forwards the call to the correct Skype for Business contact as shown below:


These AA setting should just answer the call and transfer it off to the person answering that number.

4-Service Numbers Need to be Manually Ported by Submitting a LOA (Letter of Authorization) and NOT Through the Cloud PBX Portal

Porting a number to a Cloud PBX “Service Number” needs to be done manually by opening a support ticket with Microsoft, escalating to level 2 support and then submitting a Letter of Authorization. (LOA)

5-Be Aware That Auto Attendant Does Not Have Extension Dialing [At This Time]: Users Can’t Dial an Extension in an Auto Attendant Menu

There are two possible ways to work around this problem:

  • 1-Use an Attendant Console ( like Attendant Pro ) and have them transfer to appropriate Skype for Business contacts
  • 2-Have callers use “Dial by Name” and press #

With option 2, users (in a small office) could possibly tell callers the dial by name digits to get them? For example: Call the main number and dial 936# for “Wendell”. The challenge with this option is to make sure they dial enough of digits to be unique, otherwise if there is more than one match it won’t be efficient for the caller.

6-In Some Cases You Are Going to Need  to Install the Cloud Connector Edition (CCE): Budget For It


So what if you have 9 offices and in 1 you just can’t get a number ported? (That is #1 in this blog, that is,  you can’t get a phone number ported to Microsoft Cloud PBX) The answer is use your existing phone number from your local telco and connect it to Cloud PBX with CCE. Just be aware of this and budget for it:

  • Hardware to run CCE
  • Windows Server license cost
  • A PSTN Gateway
  • Some professional services time to set it up


7-Verify That Your Call Queue Needs Match the Call Queue Functionality Before Going Live


Call Queues will continue to be enhanced, but at the moment Call Queue functionality does have some limitations to be aware of:

  • One call routing method which Microsoft is calling  “Attendant” routing method which means “calls are routed to call call agents at the same time”. Some more details:
    • Incoming calls will ring all agents based on a FIFO (First in, first out) basis.
    • Incoming calls will ring all agents in the Queue unless they are in a call or their presence is “Offline” or “Do Not Disturb”
  • {Temporary Bug} No Caller ID on Incoming Call Toast from a Call Queue
    • You can only see the Call Queue Name & sip URI
    • After answered you can see the Username & Phone Number
  • User can’t Ignore/Reject an Incoming Call from a Call Queue
    • If a user is not on a call, but otherwise busy, and an incoming call comes from a Call Queue, the user can press Ignore, but in a few seconds the call will ring again. (unlike RGS)
  • Only Office 365 homed users can be Agents in a queue. (not on premises users in a hybrid scenario)
  • Call Agents are grouped using Exchange Distribution lists. (You can’t build an arbitrary list of Agents)
  • No “Formal” Call Queue, that is, agents cannot sign in/out of call queue.

If you need more functionality than is in the current Cloud PBX Call Queues, you may be a candidate for full contact center functionality (Provided by a 3rd Party ISV) or you may just need to watch the Cloud PBX Call Queue roadmap for future enhancements.

8-Set Correct Expectations Around Call Queue Answering Experience: There Is Some Delay

Microsoft did some work to improve the Call Queue answering experience over Skype for Business Server Response Groups, but there is still a bit of delay after answering a Call Queue to be aware and set Agent expectations correctly.

This does not need to be a show stopper, but a little training of users getting calls from a Call Queue can go a long way in making their first experience go smoother.

9-Note that a User that is Part of a Call Queue Does Not Have Ability to Reject an Incoming Call: Use Do Not Disturb


If a user is not in a phone call or set to “Do Not Disturb” and a Call Queue call comes in, pressing Ignore/Reject button will only stop the ringing for several seconds, and then it will start again.

One work around to stop the ringing would be to set you presence to Do Not Disturb for the duration you don’t want to have a ring, but note, of course, this will block other calls as well.

10 – No Direct Method for an Auto Attendant to Transfer a Call to an External PSTN Number

One work around would be to setup a dummy Skype for Business user and forward all calls to the desired PSTN number. Not perfectly ideal, but its what can be done.

We Expect to Add a Few More Later, so check back.

Cloud PBX has gotten incredibly compelling for a lot more organizations with the recent addition of Auto Attendants and Call Queues and will continue to get better as we go forward. If there are any gotchas that you think should be included, please comment.

Be a little forewarned and ENJOY!

Skype for Business User Tip #46: Projecting a Mobile Device Into a Skype for Business Meeting

Recently I was doing a presentation where I wanted to demonstrate the user interface of several mobile apps. What is a simple way to get, say, an Android phone (or other devices that can miracast) projecting into a Skype for Business meeting?

Windows 10’s new “Project to a PC” feature comes to the rescue! Here is the overview:

  • On PC1 configure “Projecting to this PC”
  • Connect MobileDevice1 to the PC1
  • Share PC’s screen in a Skype for Business meeting

Now we’ll do step by step.

On PC1 configure “Projecting to this PC”

On a Windows 10 PC with the latest updates, click on start and type “Projecting to this PC” and open.


Configure the “Projecting to this PC” settings to look like the below.

Note: In spite of the warning that “this device might have trouble…” it worked fine for me. I have noticed that it is a bit hit and miss with which mobile + PC combinations work, so I suggest testing before you meeting!


Now on MobileDevice1 find your “Cast” feature which is usually under Settings | Display on Android devices.


Tap on the PC1 (In this case JN-PC03) and  it should  connect.

Screenshot_20170330-123456 (002)

If l went well, the MobileDevice1’s screen should  be projecting on PC1

[mobile project to PC picture here]

Now you will need  to get the Connect app out of full screen mode by holding your mouse at the top center of the screen.


So now go into an active Skype for Business Meeting and  share the Windows 10 “Connect” app/window, right? Wrong, Skype for Business does not recognize a Windows 10 Universal Apps (Windows Store app) as a legitimate Window or Application to be shared in a Skype for Business meeting.


But this is just a momentary bump in  the road. We will just share our Windows 10 desktop/Monitor and Full Screen the “Connect” app. And voila! we are (wirelessly) presentting a mobile phone in a Skype for Business meeting!

The experience of others in the meeting looks like the below.


Or in landscape view (tilt the mobile phone)


Some observations:

  • The lag is not to bad in my tests
  • You can also use this method  to wirelessly & adhoc bring a PC desktop into a meeting (but of course, they have Skype for Business, so why not just join the meeting, eh?)
  • All Windows 10 Connect App limitations apply of course


For a ton more cool User Tips, get the Skype for Business User Tips & Tricks for Anyone Free eBook


See the other Skype for Business User QuickTips (formerly known as Lync)

Matt Landis’ Enterprise Connect 2017 Skype for Business Notes


Will keep this blog updated as I see new things that strike me as interesting.

Streamed Keynotes

Microsoft Keynote by Ron Markezich on March 29 at 10AM EST: click here

Microsoft Announcements

Auto Attendants & Call Queues are GA

Skype Room System Dual Support Available Today click here

Skype4B Vendor Announcements

-Logitech Demonstrates Dual Screen Support for SmarkDock Skype Room Systems: click here


-EventZero Announces Support for Spectralink: click here

  • Jabra Introducing Jabra Speak 710 click here. Skype for Business Certified & Some Unique Points
    • HIFI Grade for  playing music
    • Button for Cortano/Siri/Google Now
    • Link 2 Speak 710 devices together
    • Stand to tilt the Speak 710


-Nureva HDL 300 aspires to make conferencing audio better using “8,192 Virtual Microphones“ looks interesting. (Not Skype for Business Certified) click here

-Audiocodes takes a different track to create a Huddle Room System (HRS) by bundling IP Phones and USB Speaker phones. Will click here



Others Following #EC17:

“Ctrl + Shift + T” Shortcut No Longer Works to Transfer Calls in Skype for Business 2016


imageOn the Lync 2013 & Skype for Business 2015 PC client it was possible to use the shortcut key of Ctrl + Shift +T to blind transfer a call from a conversation with minimal clicks. In short, from the conversation window you could press Ctrl + Shift +T, type the extension number and press ENTER and the call was transferred.


One unique thing about using the Ctrl + Shift +T shortcut is that it opened a Lync 2013 window that was different than the window that was opened if you clicked Call Controls | Transfer on a conversation window. (below is the Ctrl + Shift + T window and the standard Skype for Business 2015/2016 transfer contact search window)


Now in the Skype for Business 2016 client the “Ctrl + Shift +T” shortcut appears to no longer be available.  (Note: The Office documentation says that Ctrl + Shift + T is “Not available with all Office 365 subscriptions.” but in our testing it does not work even with Skype for Business Server either.)

So its back to Call Controls | Transfer


then type extension number or contact name and click “Transfer Now”.


If you need to transfer a lot of calls efficiently you may be a candidate for an attendant console.

Skype for Business User Tip #45: Dial a Number from Outlook Contact Using Skype for Business


Want to dial a phone number from a Microsoft Outlook Contact? You might expect a “dial” button somewhere near each phone number, instead you find this functionality in Contact | More | Call.


If Skype for Business client is installed it will dial the phone number using Skype for Business.


If you have only one Phone Number for this Contact, or you want to dial the first phone number, you can save one click by just clicking Contact | More | Call. This will dial the first phone number if there are more than one.

Another way to save another click is to add a shortcut to the “Quick Access Toolbar”. Click on More | Call and then right click on Call and “Add to Quick Access Toolbar”. (as shown below)


Now you will have one click access to dial a phone number from an Outlook Contact.


One last interesting thing I’ve noticed is that where you create the “Quick Access Toolbar” shortcut from is significant. 

  1. Right clicking on “Call” creates a shortcut that dials only the first Phone Number on a Contact (see below)
  2. Right clicking on the phone number list creates a shortcut with a dropdown that gives the opportunity to select a specific phone number. (see below)


Corresponding shortcuts created.



For more cool User Tips, get the Skype for Business User Tips & Tricks for Anyone Free eBook


See the other Skype for Business User QuickTips (formerly known as Lync)

Office 365 Cloud PBX Call Queue “Answer Delay” Experience


NOTE: Cloud PBX Call Queue functionality is still in Preview, so final release may have different functionality.

One ongoing challenge with Skype for Business Server Response Group Service has been what has been referred to as the “answer delay”. This is the time between when a Skype for Business user answers a call and the media is flowing and the user can say “Hello” and start speaking.

To work on addressing this issue, Cloud PBX Call Queues have been rewritten to be optimized to work on the cloud & at scale. (Microsoft did not just port the SfB RGS code to Office 365, but have been rewritten by the Microsoft team to optimize the functionality & performance for the cloud.)

We have done some testing to see what the “answer delay” is on the new Office 365 Call Queues (in Preview at this time).

What The Testing Site Bandwidth Looks Like

We tested using a site with 100MB Up/5MB Down data pipe.

The “Skype for Business Network Assessment Tool – Results Analyzer” results were:

(site located near Philadelphia, Pennsylvania)

The “Answer Delay” Experience Our Test Site Has

Below is the Cloud PBX Call Queue  “answer delay” experience on various common endpoint devices:

Device Answer to Talk time
Polycom VVX 600 5.10 seconds
Skype for Business 2016 client + USB Headset 4.26 seconds
Lync Phone Edition (Polycom CX600) 5.36 seconds

From our tests the configuration with the least delay is the Skype for Business client with a USB headset.

Note that the above averages come from tests over multiple days at different times during the days.

What the SIP Trace of a Cloud PBX Call Queue “Answer” Looks Like

Below is a SIP trace of a the timing of a Cloud PBX Call Queue answer.


A plain English reading of the SIP trace:

  • 10:31:27.233 – Call Queue (hg_ab0e…) is ringing SfB user (demo02)
  • 10:31:30.076 –SfB user (demo02) answering incoming call from Call Queue (hg_ab0e…) clicks “Answer”
  • 10:31:32.717 – Call Queue (hg_ab0e…) “Refers” SFB user (demo02) to call the incoming call (blc20…)
  • 10:31.32.717 – SfB user started “Trying”   incoming
  • 10:31:32.960 -SfB user (demo02) Invites/starts connecting to incoming call (blc20…)
  • 10:31:33.649 –Around this time media is flowing between SfB user (demo02) & incoming call (blc20…)

So our stopwatch measuring “answer delay” is ticking between 10:31:30.076 and 10:31:33.649 so in this case the “Answer Delay” was 3.573 seconds (4secs. w/rounding). The “delay” is largely a result of setting up the call between [demo02] and [blc20…] after demo02 clicks “Answer”.

Some Thoughts

One surprise from this test is how close the Lync Phone Edition was to the other devices, which means the Skype for Business team has done some significant improvement to Call Queues over RGS. The current “answer delay” is a result of negotiating the connection between the Skype for Business user and the incoming call after clicking Answer.

Since this is still considerable delay users may wonder how to know when they can say “Hello” and my old article about Skype for Business RGS is still relevant, read it here.