Microsoft Teams User Tip #27: Hover Over Back to Get 1 Click Access to Previous Locations

Am I the last to notice this feature? You can now hover over the Back button on Microsoft Teams PC client and get a 1 Click quick access to recent places you visited in Teams.


Merry Christmas!

A Subset of the Microsoft Teams BETA Calling API, Now Known as "Communications API" in Microsoft Graph Are Now v1

A subset of the Microsoft Teams BETA/Preview Calling & Meeting API, now apparently known as "Communications API" in Microsoft Graph Are Now version 1.

The question for many has been, "When will the Teams Calling API's be GA?", but a more complete question would be "When will the features (or, all the features needed for a particular application) of the Preview/BETA Calling API's be GA?" as the roll out of the Communications API is not a single "BETA/Preview" to "GA" but more of a process to release, first all the features in the current Preview/BETA, and then additionally all the typical features needed for voice communication solutions.

What are some of the key features in Preview/BETA not released to version 1? Very significantly the ability to escalate a call to a multiparty call. This is a key component for vendors creating native Microsoft Teams Contact Center functionality like our own Landis Contact Center for Microsoft Teams.

What are some key features not yet in the Preview/BETA that are very typically needed for voice solutions? The ability to:

  • cancel inviting a participant to a multiparty call
  • eject a participant from a multiparty call
  • outbound dialing
  • more

As I noticed and called out on Dec 6, it appears that Microsoft will be referring to these APIs as the "Communications API", based on the documentation on the Microsoft Graph website as shown on the screenshote below.

Do this mean "ISVs have the calling APIs, so they can do everything they need?" No.

There is considerable confusion about what the Teams "communications API" can now do among users, Microsoft Partners and Microsoft employees.

A good way to think about Microsoft Teams related calling APIs based on current Graph API naming conventions:

  • communications API = Server/Application perspective
    • Skype for Business = UCMA
    • Formerly known as/Also known as: Calling & Meeting API
  • me = Client/User Perspective
    • In Skype for Business world = UCWA/Skype for Business Client SDK
    • Also known as/referred to as: Embedded API/ Client API

Note that Microsoft has made no announcements about the Me/Client/User perspective Calling API at this time. There is no ETA from Microsoft on call control from a client/user perspective.


The release of some of the communication API is a great start and will enable some applications such as IVR-like services & transfer to another solution via Direct Routing.

All the features for properly creating native call queuing inside the Microsoft Teams service has not been released to version 1 yet.

It is not a client calling API, so it does not unblock the ability to create a specialized Microsoft Teams calling client like an Attendant Console.

The communication API team at Microsoft has been working hard on this so congratulations on releasing version 1 of the communication API!

Read More Here:

Microsoft Teams Presence Graph API: How to Use It and Some Other Details About It

Update: Dec 6, 2019 Microsoft Graph Presence API Preview announced here. We now know for certain: No App Permissions (you get presence from a AD user perspective), no subscription (programmers only get point in time presence) and get a batch of AD User's presence. Graph details here.

Teams developers have been waiting on the Graph Presence API with baited breath. (It appears to be available in Preview as of 11/29/2019. At this time there have been no announcements since Ignite 2019, but it seems to work).

How to quickly test the Teams Presence Graph API it

The Graph presence API for Microsoft Teams was mentioned in session VCE50 at Ignite 2019 but I just decided to test it today and it seems to work. Here is how:

  1. Go to and sign in as a valid Teams users
  2. Give your user permissions to see Presence by clicking "modify permissions"
  3. run: for a quick test. more below

Some more about the Graph API for Microsoft Teams

It appears to be user based at the moment. (Perhaps App based will come later this month?)

Presence permissions include: Presence.Read and Present.Read.All: Read lets this user read its own presence and Read.All lets users read other user's presence as well.

You can check your own presence or others:{ad_user_guid}/presence

The API returns "availability" (ie:Busy) and "activity" (ie: InACall).

The presence is request based and not subscription based which means it is a somewhat basic API and not optimal for most realtime applications since the app needs to keep asking for the state.

NOTE: The presence response is sometimes very slow (5000ms?).

Below is the Ignite 2019, Session VCE50 slide 29:

Below is the Ignite 2019, Session VCE50 slide 30:


This is an additional API that helps Microsoft Teams developers make solutions for Teams more full featured. Its another step in enabling voice scenarios for Microsoft Teams. The lack of subscriptions indicates this is the "first step" in the presence API.

Landis Technologies has been eager for presence API's to add presence based routing & Queue alerting to our Contact Center for Microsoft Teams. I'm sure vendors like Embrava are eager to put the ME API to use in their Blync Lights as well as many other ISV's and developers.

If there is anything you noticed that I've missed, please comment.

Will the Microsoft Teams IP Phone without Handset Become a Category?

At Microsoft Ignite 2019 I saw the Poly CCX500 without a handset for the first time. At first I thought it was a CCX500 side car expansion but quickly realized it just an ip phone without a handset.

Will this become a category beyond Poly? Is it the new form factor of the IP deskphone?
What do you think?


December 2019 Graph API Update Looks Poised to Enable "Connected" Contact Centers (Direct Route Connected) with "Native" Contact Centers (Calling API Based) Following

At Microsoft Ignite 2019 Andy Bybee gave session VCE50 on Contact Centers, or as Microsoft would rather call it, "Customer Journeys" or "Customer Interactions". (Although even Andy admitted the term "customer journeys" is notoriously nebulous and hard to pin down...) In this session Microsoft laid out its vision around customer interactions and that included:

  • Transforming instead of just integrating
  • Microsoft does some customer interaction scenarios, partners others

Microsoft plans to enable some customer interaction scenarios using things like Power Virtual Agents and their own basic call queues and auto attendants, but will look to partners for more advanced functionality that go beyond that and include things like skills routing, call backs, call flow designers and more.

slide explaining Connect, Extend, Power in session VCE50

Those Contact Center vendors that provide more advanced features beyond what Microsoft will provide are being divided into several broad categories:

  • Connected: Direct Route integration of exsisting systems
  • Extended: Utilize other Teams integration points
  • Powered: New Contact Centers built entirely on Teams Calling API's and leveraging all Microsoft 365 services

The "Connected" category appears to me to be those contact centers who use Direct Routing (SIP Trunking) to Microsoft Teams. These are vendors who aren't focusing solely on Microsoft Teams and thus the integration will be more work and the integration level won't be as tight and robust, but it is easier for existing CC vendors & Microsoft to "make their existing solution work with Teams" as Direct Routing can largely facilitate this with some assistance from new presence API's. Read: Low hanging fruit for MS to "get a solution". Microsoft has been communicating this type vendors is on track to be available sometime early in 2020.

The "Powered" category appears to be contact centers power by Microsoft Teams calling and using the Calling & Meeting API's and integrated deeply to Microsoft 365. What our company has been referring to as "native Teams contact center" when referring to our Landis Contact Center for Microsoft Teams & other vendors following this track. Read: MS needs to provide more API features to achieve this level. Microsoft noted that it is starting a Certified for Microsoft Teams program to facilitate these and other vendors.

The Microsoft 365 Roadmap Update notes:
"Microsoft Teams - Teams Voice Platform
Enable Contact Center integration, Remote Advisor integration and Graph API for Presence"

This looks like the December round of Graph API updates is really around enabling "Connected" contact centers. The December 2019 Graph API update looks poised to enable "Connected" Contact Centers (Direct Route Connected) with "Native" Contact Centers (Calling API Based) following that.

Landis Technologies was glad to be the first contact center vendor presenting a Teams Powered Contact Center at Microsoft Ignite 2019, which not only is based on the Teams Calling API's but is deeply integrated to Power Apps, Power Automate (Flow) & Power BI allowing organizations to transform how they interact with customers. The Landis Contact Center for Microsoft Teams is in Customer Preview currently and to be released when Microsoft releases the features needed for a native Contact Center to GA.


My Microsoft Ignite 2019 Microsoft Teams Notes

This is a placeholder for my Ignite 2019 notes and observations.

Microsoft Teams Announcements

Teams Ignite Keynotes 

Who to Follow:

Microsoft Teams Product Announcements:

Microsoft Teams Evening Events:

Did you vote for the #MicrosoftTeams Voice Client API's?

Microsoft Teams Compliance Call Recording Bot Sample Now Available

It looks like Microsoft has released the Compliance Call Recording Bot sample code.

On October 31, 2019 user "ksikorst" posted "Kasikors/compliance recording #121" sample bot code on the "Microsoft Graph Comms Samples" Github.

You can read an overview of how the sample works at this URL.

It appears like the way it works in brief:

  • Mark a Microsoft Teams user or users as a "recorded user" (will this be set via Powershell? TAC?)
  • Now when a "recorded user" gets in a call, a configured bot will be invited to the call

Since the Landis Contact Center for Microsoft Teams does policy based call recording we are eager to have this new API functionality as an option, as I'm sure many other vendors are as well.


Microsoft Teams Presence Between Internal Teams User Now Updates In Near Real Time

It looks like Microsoft Teams presence between internal Microsoft Teams users is now nearly instant. (several seconds)

  • Internal Teams to Teams Users presence updates are immediate
  • External Teams user to another tenant is up to several minutes
    • I've noticed that presence will update in the header of the Chat window quicker than in the Contacts list (Chat | Contacts)
  • Teams to external Skype for Business users are still hit or miss when presence will work at all.

So if your users have gotten used to disregarding Microsoft Teams presence, you can  now start training them that presence is somewhat relevant again! I'm glad to see that Microsoft is focusing  Teams presence and is working on "making it great again". 😃

Announcement it was coming:

Presence API Coming

Microsoft Teams Meeting & Calling API Now Enabled for Incoming PSTN And You Can Call the Landis Contact Center for Microsoft Teams To Test It Out

For those who have been waiting, the Microsoft Teams Meeting & Calling API now is enabled for incoming PSTN. PSTN callers can now call into your applications. (peer to peer and multiparty applications)

To not only say its possible, but also to demonstrate this new Calling API functionality, just dial +1-717-721-5367 to call a queue configured on the Landis Technologies Contact Center for Microsoft Teams. Read more:

If you already have a Microsoft Teams Calling API application, you can enable PSTN Callers to call it by using these instructions:

Jabra Foray into Video: Jabra Panacast USB 4k 180 Degree USB Webcam

Below is my quick video look at the Jabra Panacast at Microsoft Inspire 2019.

A few observations on the panaramic 4k USB webcam by Jabra:

  • 180 Degree panaramic view by stitching together 3 cameras
  • 4K USB video solution
  • Works with Teams because it is a standard USB webcam, but NOT Teams Certified as of this writing
  • The microphone in the device is not Jabra (because of acquisition)
    • Jabra recommend using Jabra speakerphone with it.
  • The panacast will frame the group using built in cpu
    • It does not recognize/frame the active speaker, but the group
  • The device built is metal and excellent feel/fit/finish
  • Because of the built in cpu to stich the cameras together, the case is a heat sink and it needed: the device gets warm, as did the Panacast edition of the usb webcam
  • Jabra apparently aquired the tech from

And here is the official Jabra page:

How to Assign a Telephone Number to a Teams Calling API Bot/Application

In essence, assigning a telephone number to a Teams Calling Application/Bot involves creating a contact in Teams that points to the Application/Bot Id and assigning a phone number to that Teams contact. The Teams contact is called an "Application Instance". There are 4 steps:

1. Create the Application/Bot registration
2. Create an Application Instance
3. Assign a Virtual User License (or Phone System license) to the Application Instance
4. Assign a Phone Number to the Application Instance

1. Create the Application/Bot registration

If you are using an Application/Bot created by another vendor, just ask them what the App ID is. They will know what to give you.

If you have written an Application/Bot using the Microsoft Teams Calling API's then you need to create an application/bot registration if you haven't already. Here is how:

What you will need from the "Azure Bot Service" is the  "Microsoft App Id" from your application. 

This Microsoft App Id will be used in the ApplicationId parameter of the next step.

2. Create an Application Instance

As Teams tenant Administrator, run the below Powershell:

New-CsOnlineApplicationInstance -UserPrincipleName <> -ApplicationId "<app_id>" -Displayname "<bot_display_name>"

UserPrincipleName = The username you want to create for this application instance.
ApplicationId = The app id from step 1
DisplayName = The display name you want to give this contact.

When you run this command successfully it will give output including an ObjectId. This ObjectId will be used in the Sync-CsOnlineApplicationInstance command.

Sync-CsOnlineApplicationInstance -ObjectId <application_instantce_id>

ObjectId = ObjectId output from New-CsOnlineApplicationInstance you just ran.

NOTE: We needed to wait 1 hour before we could do step 3 below and about 10 hours before we could do step 4. To know when you can do step 3, just search for the contact you made in this step in the Microsoft Teams client, when it is available to Teams users, you can do step 3. To know when you can do step 4, call the contact and see if the Application/Bot answers, when it does you can do step 4. If you try step 4 before that you will get an error something like "WARNING: The following Application Instance not present in BVD..."

3. Assign a Virtual User License (or Phone System license) to the Application Instance

You can follow these instructions to assign a Virtual User License to the Resource Account:
Browse to:

Find the useraccount/application instance/resource account we created in step 2.

Click "Manage product licenses" (located in header)

Select Location = United States
Check "Phone System - Virtual User"

Click "Save Changes" button.

Exit using "X" button (upper right)

4. Assign a Phone Number to the Application Instance

To see what Service Numbers are available to assign to this Application Instance go to:

Skype for Business admin center navigate to: Admin center | Teams and Skype | Skype legacy admin | Voice | Phone Numbers

When you find an unassigned service number, copy it or write it down and use it in the PowerShell below. Now run:

Set-CsOnlineVoiceApplicationInstance -Identity <> -TelephoneNumber <phone_number>


You should now be able to call the telephone number and reach your Teams Calling Application/Bot

Problems to Be Aware of When Recommending or Using Microsoft Teams Certified IP Phones

There some items in the Microsoft Teams app supplied by Microsoft to the certified Teams IP Phone vendors to be aware of. (This means the items below affect all IP phone vendors) The solution to many of these issues could be "use a certified headset", but we all realize that there are sometimes areas or users that a physical desk phone is the best solution. This can be especially challenging when it is an executive that is requiring a deskphone. These are items to be aware of. Be armed with knowledge.

FIXED 9/2019 - Bug: Keypad dialing misses digits

If a user walks up to a phone and starts dialing at normal dialing speed without picking up the handset the phone will drop some of the dialed digits.

Workaround: Train users to pickup the handset before dialing or dial very slow.

Missing Feature: No Contact List/Quick Dial List

Most desk phones have the ability to assign a button to quick-dial a buddy or often called phone number but unfortunately these phones do not. Not only do they not have physical buttons to dial regularly dialed contacts, there isn't even the ability to pin contacts on a regularly called contact list. (exacerbating the issue, there is no manageable extension dialing solution.)

Workaround: Search for the contact click the Search and start typing the contact name.

Weak Design: Can't completely dial a number using keypad buttons

The same users that want a traditional desk phone experience will typically want to be able to dial a number using the physical buttons on the phone. Users on desk phones and mobile phones have come to expect a Green/dial button to initiate a dial. With the current Teams IP Phone software the user will be able to dial a number using the physical buttons, but need to complete the phone call by pressing the touch screen soft phone button for "dial" or...

Correction - ...The phones with the latest update will now dial after a few seconds pass. (around 3 seconds)

Weak Design: Elements on the touch screen are too small

The elements on the screen are too small for typical users. Understandably this is worse on the low cost models that have a smaller/vertical screen)

Workaround: Settings | Device Settings | Accessibility | Large Text (you do not need to restart phone)

Missing Feature: PC Phone Control (formerly called Better Together or Better Together over Ethernet)

This feature allows a user to have a phone paired to a PC so the user can use the phone independently or integrated with the PC to, for example, click to dial a phone number.

Workaround: None

Other Items

  • Sometimes when the voicemail play button is pressed it doesn't respond. (Perhaps related to small components on screen? Or is it that voicemail file is still being loaded?)
  • App instability around calling Bots: "Unfortunately Teams has stopped."
  • Park - can't just walk up to a phone and dial digits, they must touch the Park icon on the screen first.
  • Experience when using in conjunction with Call Queues: Muting & Transfer (Update: A newer firmware may provide a fix for this. Verifying.)


Another solution to getting a very traditional handset which does not have many of the problems noted above is using existing Skype for Business certified IP Phones with Microsoft Teams. (although this doesn't seem a very forward looking solution at them moment if an organization needs to purchase a bunch of IP phone right now.)

Microsoft Teams is rapidly evolving and improving and I expect the IP Phone team will work to resolve these issues. I also understand from phone vendors that there may be a v2 spec of the Teams IP Phone may be forthcoming?

If there are any other items you think should be added to this list, please comment.

My Microsoft Inspire 2019 #Microsoft Teams Notes

My Inspire 2019 Observations & Perceptions

Microsoft Teams as an Operating System?

It's no surprise that Microsoft Teams was a focus in the keynotes & at Inspire generally. What I found interesting was to hear Microsoft talk about Teams as an operating system or Windows. As I  remember, Microsoft quotes users in keynote saying something like "Its what I log in in the morning, work all day and log out at night". Another "I think of it as an OS where I get work done" (as I remember). I've heard this before, just not so publicly. Will Microsoft Teams be the next "Windows"? It's conceivable. 

What Does "...Support for Contact Centers..." Announcement Mean?

Microsoft and Microsoft Partners are super eager to be able to move customers entirely to Microsoft Teams. Some of the blockers are voice features that are not yet in Teams like Contact Centers, Call Recording, Attendant Consoles & so on. At Landis Technologies we talk to customers everyday about this need and there is significant pressure related to this need. On one side Microsoft has been slow to get a complete set API's for ISV's (like us) to create native/core products to fill these needs, and on the other side there is intense pressure to get this functionality ASAP. So what Microsoft has announced at Microsoft Inspire: "...Additional new partner integrations include support for contact centers, compliance recording and cloud solution providers." (Source) What does this mean in plain English? Microsoft is going to support 2 levels of contact centers: #1 The basic level is "bolting on" existing SIP contact centers via direct routing and legacy Skype for Business contact centers via federation. A coming Presence API (Source: Five9 engineer at Inspire) will assist SIP contact centers in making the integration less disconnected. #2 Advanced contact centers using the Microsoft Teams Calling API's that give a very "native/core" (like our own Contact Center for Microsoft Teams). This will be the "native" contact center experience that doesn't require the cost & complexity of buy/configuring an SBC & Direct Routing.

Bringing Physical Whiteboards Into Microsoft Teams Meetings

I thought it was interesting to watch the audience response to a demo of the Microsoft Teams coming feature that brings a physical whiteboard into Teams meeting via a webcam while making the presenter "see through" when getting in front of the whiteboard: One of the very enthusiastic applause points in the keynote. This feature and the PowerPoint rehearse were both very well received. So, for what its worth, this features seemed to strike partners quite good.

Vendors are Working to Bring Devices to Microsoft Teams

Jabra is the Jabra Panacast 3 camera 180 degrees very wide angle USB webcam. The rep noted they working on Teams certification, but since it is a standard USB device it work with Teams on my laptop that they nicely let me test. (See my video here) This is Jabra's first foray into video as far as I know.

I was also very impressed with the Poly Studio's ability to do active speaker detection. The Poly Studio is a standard USB, 4K, video bar that does active speaker detection with no additional software on the PC. I was impressed how it detected the active speaker in a huddle room (12 x12 approx.) and did a production-like switch to the active speaker. If the two speakers are far apart it did a cut and if close it did a nice pan. I think this has real promise and look forward to trying it out when the production firmware is released.

Microsoft Announcements

A big announcement at Inspire is around Microsoft Teams having 13Million daily users which surpasses Slack. Source

Microsoft highlights in its Inspire press release that Microsoft Teams now enables contact centers. "...Additional new partner integrations include support for contact centers, compliance recording and cloud solution providers." Source

New Partner Developments

Poly Studio: Source
Jabra Panacast : Source
Landis Technologies Native Microsoft Teams Contact Center Q4 2019 Source
Verba: Working with Microsoft on Teams recording solution Source

Microsoft Teams User Tip #26: How to Access the Microsoft Teams Extended Diagnostics Menu via the Tray Icon

Some of my fellow Landis Technologies team members (Ken & CJ)  just alerted me to a very helpful diagnostics menu on Microsoft Teams that I was not familiar with.

To access it, go to the Teams tray icon:

  • Left click on the Microsoft Teams Windows tray icon 5 times
  • Then right click

Now you should see this menu:

I'd love to hear your feedback on what you most like about the menu.

To see my other Microsoft Teams User Tips:

Microsoft Teams Calling API's "GA Scheduled for June/July"

Kamil Skorski (Microsoft) notes in a post on GitHub that the Microsoft Teams Calling API's are scheduled for GA in the June/July timeframe and "We're working on finalizing the APIs now".

There are no more public clarifications. Does this mean the currently available API's will merely get the designation of "GA"? Or something more to come?

A key component that is missing for many uses of the Calling API is the ability for users to dial into a Microsoft Teams app from PSTN.

The Microsoft Teams Calling API Previewed at Microsoft Ignite 2018.


Jabra Handset 450: USB DECT Wireless Handset that Works with Microsoft Teams & Skype for Business

If you have been looking for a simple way to get a DECT portable phone functionality for your retail, warehouse or other scenario, you search might be over.

NOTE: This device is not Microsoft Teams or Skype for Business Certified! Jabra's website says: "Works with most softphones like Skype for Business (Lync) and is certified for Cisco Jabber". In my quick testing it seems to work with Microsoft Teams & Skype for Business in the same way other Jabra devices work with these products. But it is NOT CERTIFIED.

Here is my hands on video review of the Jabra Handset 450 working with Microsoft Teams in Teams Native Mode.

How to Setup

Just plug it in and it should work.

How to Get  VolumeUp + Mute to Pickup/Hangup

Update firmware. Install Jabra Direct, go to Updates and click Update.

It takes several minutes to update the firmware. Just wait. Likely slower becuase its doing it over DECT wireless.


In my testing it goes about exactly as for as the Jabra website says, that is, about 66ft in either direction from the charging cradle. We have a concrete 2nd floor and it seemed to work unless you were at the edges of the 2nd floor, then it started to cut out.

Buttons on the Device that work with Teams/Skype for Business

  • Mute
  • Volume Up & Down
  • Volume Up + Mute = Pickup / HangUp with appropriate firmware loaded.

Indicator LED

Bellow are LED meanings:



  • No dial pad
  • Slightly unhandy to press Up+Mute to Pickup/Hangup
  • Limited range
  • No audible ringer (blinking red LED indicates call ringing)

  • A DECT handset that works (if not certified) with Teams/Skype4B
  • Installs in minutes and does require expensive hardware
  • Gives Teams users a very traditional "just pickup to answer" Teams/Skype4B experience

This device is clearly not for every user, but if you need it, you need it, and you know who you are.
And remember, its not certified.

Official Site:

"Busylights" Can Now Work Native with Microsoft Teams: Kuando Busylight Now Works Natively with Microsoft Teams

Those using Microsoft Teams have been waiting for busylights to work native and it looks like Kuando is the first vendor to achieve this.

Just change the presence in the Microsoft Teams PC client manually, or let it do so automatically, and the Kuando Busylight, after a little pause, while show the correct presence!

To get this to work you will need to install the Kuando for Microsoft Teams tray app:

For the Kuando BusyLight to work, you must install the Microsoft Teams specific software, so if you have Skype for Business working with Kuando, this will mean installing the Teams specific software. Also the Microsoft Teams client must be running as the dll's interface with the Teams PC client, not using Microsoft Graph directly. If you exit Teams, the presence will stop functioning.

Another thing I noticed is that unlike the Skype for Business integration, the presence change is not immediate. This is exactly as presence works in Microsoft Outlook, so I would expect this to be a limitation of the interface to Teams, not the Kuando app. In my experience it takes about 3 seconds to change. (not big issue for normal presence, more of an issue in calling scenarios) So when you change your presence in the Teams client it takes about 1 second until the change displays in Teams client and 3 seconds till it shows up in Outlook & Busylight.

And another nice touch is that it works with your existing Kuando lights. I had one on hand and it worked just fine.

A few vendors are now providing busylights: Kuando, Embrava and most recently Poly has announced intentions to do so. It appears at the time of writing other major vendors, such as Embrava, do not seem to have this functionality yet.

To get the new Software that works native with Kuando's existing busylights:

Kuando's Office News Article:


Assign a PSTN Numbers to Microsoft Teams Bots & Calling API Apps "Potentially by Q3 [2019]”

Those organizations who want to fully move to Microsoft Teams, but are dependent on 3rd party voice add on apps have been asking us regularly when PSTN Numbers can be assigned to Microsoft Teams Bots.

According VinodRavichandran, the answer is: "PSTN Calling is planned for this year, potentially Q3."

This should allow PSTN callers to dial into voice apps built using the Teams Calling API like IVR's and other custom voice apps.


Using Microsoft Teams for Audio Streaming a Live Event With PSTN Access to the Stream

In this article we will look at using Microsoft Teams to provide the audio of an in person meeting to those not present.

It’s not uncommon for churches (and I suspect other events), even quite small ones, to want to provide the ability for individuals to listen in using the web or a phone call. The church service is mostly attended in person with a few individuals dialing in to hear the audio. Since the people needing to listen in are often not tech savvy, being able call in via phone is imperative.
In some cases the audio is supplied to the stream by a phone call and other will have an internet connection.

For this scenario to work smoothly a few things are necessary:
  1. Ability to dial a phone number only to get directly into the “conference”. (without requiring PINs) Not Possible
  2. Ability to access the live audio via PSTN or web streaming: Possible with Meeting
  3. All callers except the one providing the audio must start & remain muted. Not Possible
    1. In essence, all users must be muted when they join the meeting
    2. Except the organizer providing the audio stream
    3. Ideally all listening users cannot unmute themselves.
    4. UPDATE: It appears if the organizer click "Mute All" from the Teams client after 3 or more users are in the conference, new people joining the conference will be muted on join.
  4. Auto record: Possible with Live Event
  5. Nice to have: Place the recording at a publicly accessible location
  6. No setup for each meeting 
    1. Conference would know which phone # is providing the audio and not mute and detect its # as the organizer
How does Microsoft Teams Meetins and Live Events cover these requirements?

Meeting w/Audio ConfLive Event
Join Audio via PSTNYesNo
Join Audio via WebYesYes
Auto Mute No (Kind of, see notes)Yes
Auto Organizer UnmutedYesYes
Manual Mute AllYesYes (N/A)
Auto RecordYesYes
Recording Immediately Available?Yes
Auto Recurring MeetingYesNo
Auto Move RecordingNoNo
Live TranscriptionYesYes
Live Translation?Yes

One of the reasons Microsoft Teams Live Events are not ideal:
  • A live event needs to be setup for each event
  • Need a fairly tech savvy person at each meeting
  • No PSTN/Call In capability to access the Live Event audio stream
For this reason we’ll focus on using Microsoft Teams Meeting with Audio Conferencing/Conference Bridge. Here are the steps.

Initial Configuration

  • Setup Office 365 and Teams Audio conferencing  service
  • Setup Conference Bridges | Bridge Settings
    • Meeting entry and exit notification = Off (or as desired) 
    • Ask callers to record their name before joining a meeting = Off
  • Setup a Teams Meetings | Meeting Policy (or modify “Global”)
    • Allow Transcription  = On
    • Allow Cloud Recording = On
    • Automatically admit user = Everyone
  • Setup Meetings | Meeting Settings
    • Anonymous user can join a meeting = On
  • Create a recurring meeting
    • (May add some more details)
  • Determine the way you will get your audio into the conference
    • If you will supply the audio to the meeting via PSTN, you can use something like the Rolls PI9 to supply the audio to the meeting.
    • Otherwise you supply the audio via a Microsoft Teams client and USB as the microphone source.

Organizer Meeting Preparation

  • If using PSTN to supply the audio:
    • The organizer will dial into the conference using the meeting telephone number, meeting ID and organizer PIN.
  • If using an internet connection, Microsoft Teams client & USB audio source
    • Start of Teams client and join the meeting
    • If you want a recording, click” Start Recording”
    • Since users will join unmuted, this method allows organizer to more easily mute those listening. Do NOT use “Mute All” as this will mute the
  • NOTE: If the organizer clicks "Mute All" from the Teams client after 3 or more users are in the conference, new people joining the conference will be muted on join. (Make sure the user providing the audio is unmute after doing this!)

Joining the audio “Stream”

  • If joining via the web using a PC, just click on the Teams meeting link
    • Users must be instructed to not unmute themselves
  • If joining via PSTN, dial the meeting phone number, meeting ID


At the moment this solution works, but a few things could greatly improve the experience for this scenario:
  • A telephone number could be assigned directly to a meeting (with no meeting ids required)
  • A recurring meeting could be set to mute participants on join
  • Either start the recording automatically when organizer joins or when a star key (like *8) is pressed.

Other references:

Microsoft Teams in 5 Minutes: Manage Devices (Manage & Control Desk & Conference Phones)

What can you control?

  • Save a note about the device (nice!)
  • Save an “organization asset tag” as well.
  • Retrieve the diagnostics log file from a device.
  • Restart a phone


Allows you to assign configuration profiles.


  • to select devices, left click on the left of the first column
  • you can multi-select devices by repeating the above
  • ability to jump to the current user signed into the phone


  • To manage a device, just sign in, that's it!
  • Actions may take a while. for example, restart could be delayed by a minute or so.
  • If you edit a device name, you may not be able to search for the new text right away
  • If a device doesn't show up, try signing out and back in.

How to Get Local Logs from Yealink Teams Edition Phone


  1. Get the IP address of the phone either from an IP scanner or using the Teams UI on the phone: Settings | Devices Settings | About. (Note: if clicking on “Device Settings” doesn’t work, try restarting the phone, sometimes it works then.)
  2. Log into the phone web portal with the IP address
  3. Enable Local Log if not already and recreate the problem.
  4. Settings | Configuration | Under local log, click “Export Local Log”